2 Комити b41c706419 ... 42a64bf56c

Аутор SHA1 Порука Датум
  sunmiao 42a64bf56c feature(web): 用户管理增加导出功能 пре 2 година
  sunmiao d3306ee22e feature(weixin): 微信报警模版修改,根据微信公众号通知模版的变更要求调整 пре 2 година

+ 48 - 0
.gitignore

@@ -0,0 +1,48 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+pkg
+
+*.exe
+*.test
+*.prof
+
+# dist目录
+sample/front_end
+
+# 生成的可执行文件
+sample/sample
+src/dashoo.cn/mms_api/mms_api
+src/dashoo.cn/mcs_api_weixin/mms_api_weixin
+src/dashoo.cn/triggerservice/triggerservice
+src/dashoo.cn/qatoolsweb/qatoolsweb
+mcs_web_api
+mcs_api_weixin
+alertorapp
+
+# 上传下载的临时目录
+backend/src/dashoo.cn/mcs_api/static/file
+
+# beego临时文件
+lastupdate.tmp
+commentsRouter_*.go
+
+.idea

+ 82 - 2
backend/src/dashoo.cn/mcs_api/controllers/user.go

@@ -3,9 +3,9 @@ package controllers
 import (
 	"encoding/json"
 	"fmt"
-	"strings"
-
 	"github.com/nsqio/go-nsq"
+	"github.com/tealeg/xlsx"
+	"strings"
 
 	"dashoo.cn/base_common/business/auth"
 	"dashoo.cn/base_common/business/permission"
@@ -751,3 +751,83 @@ func sendFaceLockCheckMsg(userId, action string) {
 		fmt.Println("发送NSQ消息失败:", err)
 	}
 }
+
+// @Title 获取下载文件
+// @Description 获取下载文件
+// @Success 200 {object} ErrorInfo
+// @router /downfile [get]
+func (this *UserController) GetDownFile() {
+	keyword := this.GetString("keyword")
+	svc := permission.GetPermissionService(utils.DBE)
+	var users []userRole.Base_User
+
+	where := "IsVisible=1 and CreateUserId='" + utils.ToStr(this.User.Id) + "' "
+	if keyword != "" {
+		where = where + " and Realname like '%" + keyword + "%'"
+	}
+
+	//svc.GetEntities(&users, where)
+	svc.GetEntitiesByWhereOrder(&users, "ID desc", where)
+	xlsx.PagePrintheadContant = "用户列表"
+	f := xlsx.NewFile()
+	this.SaveXlsx(users, f)
+	SaveDirectory("static/file/excel/u/" + this.GetAccode())
+	f.Save("static/file/excel/u/" + this.GetAccode() + "/users.xlsx")
+
+	var errinfo ErrorInfo
+	errinfo.Message = this.Ctx.Request.Host + "/static/file/excel/u/" + this.GetAccode() + "/users.xlsx"
+	errinfo.Code = 0
+	this.Data["json"] = &errinfo
+	this.ServeJSON()
+}
+
+func (this *UserController) SaveXlsx(list []userRole.Base_User, f *xlsx.File) {
+	sheet, _ := f.AddSheet("users")
+	rowhead := sheet.AddRow()
+	cell := rowhead.AddCell()
+	cell.Value = "序号"
+	cell = rowhead.AddCell()
+	cell.Value = "账号"
+	cell = rowhead.AddCell()
+	cell.Value = "用户名"
+	cell = rowhead.AddCell()
+	cell.Value = "手机"
+	cell = rowhead.AddCell()
+	cell.Value = "角色"
+	cell = rowhead.AddCell()
+	cell.Value = "备注"
+	cell = rowhead.AddCell()
+	cell.Value = "所属组织"
+
+	for i, v := range list {
+		row := sheet.AddRow()
+		cell = row.AddCell()
+		cell.Value = utils.ToStr(i + 1)
+		cell = row.AddCell()
+		cell.Value = v.Username
+		cell = row.AddCell()
+		cell.Value = v.Realname
+		cell = row.AddCell()
+		cell.Value = v.Telephone
+		cell = row.AddCell()
+		switch v.Roleid {
+		case 10000123:
+			cell.Value = "普通用户"
+		case 10000119:
+			cell.Value = "管理用户"
+		default:
+			cell.Value = "其他"
+		}
+		cell = row.AddCell()
+		cell.Value = v.Description
+		cell = row.AddCell()
+		cell.Value = v.Departmentname
+	}
+	sheet.Cols[0].Width = 8 //设置时间单元格的宽度
+	sheet.Cols[1].Width = 20
+	sheet.Cols[2].Width = 20
+	sheet.Cols[3].Width = 20
+	sheet.Cols[4].Width = 16
+	sheet.Cols[5].Width = 25
+	sheet.Cols[6].Width = 25
+}

+ 13 - 5
backend/src/dashoo.cn/mcs_api_weixin/controllers/weixin.go

@@ -214,11 +214,18 @@ func SendTemplateMsg(ctx *context.Context) {
 	if model.TO != "" {
 		wxTemplate := wx.GetTemplate()
 
+		//items := map[string]*template.DataItem{
+		//	"first":    &template.DataItem{Value: model.Message, Color: "#173177"},
+		//	"keyword1": &template.DataItem{Value: model.Code, Color: "#173177"},
+		//	"keyword2": &template.DataItem{Value: model.Alarmon, Color: "#173177"},
+		//	"remark":   &template.DataItem{Value: "请及时处理。"},
+		//}
+
 		items := map[string]*template.DataItem{
-			"first":    &template.DataItem{Value: model.Message, Color: "#173177"},
-			"keyword1": &template.DataItem{Value: model.Code, Color: "#173177"},
-			"keyword2": &template.DataItem{Value: model.Alarmon, Color: "#173177"},
-			"remark":   &template.DataItem{Value: "请及时处理。"},
+			"keyword1": &template.DataItem{Value: model.Code, Color: "#173177"},    // 告警对象
+			//"keyword2": &template.DataItem{Value: model.Alarmon, Color: "#173177"}, // 告警类型
+			"keyword3": &template.DataItem{Value: model.Alarmon, Color: "#173177"}, // 告警时间
+			"keyword4": &template.DataItem{Value: model.Message, Color: "#173177"}, // 报警内容
 		}
 
 		//369 tempid
@@ -231,7 +238,8 @@ func SendTemplateMsg(ctx *context.Context) {
 		// labsop tempid
 		msg := template.Message{
 			ToUser:     model.TO,
-			TemplateID: "QNxbThb1TR-37E1rGY57d-oXIhGh1Id5yf4UWPsfiJE",
+			//TemplateID: "QNxbThb1TR-37E1rGY57d-oXIhGh1Id5yf4UWPsfiJE", // 设备异常通知(废弃)
+			TemplateID: "crWkARYiu6s1RLoJvt4VEryF6sgsgIiIeCvBbWP3LUI", // 设备告警通知
 			Data:       items,
 		}
 

+ 16 - 2
frontend_weixin02/src/pages/triggerinfo.vue

@@ -59,7 +59,7 @@ export default {
       handleremark: '',
       remark: '',
       options: [
-        '设备断电', '维修', '除霜', '停电', '其他'
+        '设备断电', '维修', '除霜', '停电', '开关门误报', '冰箱消毒', '其他'
       ],
       list2: [{
         name: '设备断电',
@@ -73,6 +73,12 @@ export default {
       }, {
         name: '停电',
         value: '4'
+      }, {
+        name: '开关门误报',
+        value: '6'
+      }, {
+        name: '冰箱消毒',
+        value: '7'
       }, {
         name: '其他',
         value: '5'
@@ -104,6 +110,10 @@ export default {
             _this.alarmitemid = '除霜'
           } else if (res.alarmitem === 4) {
             _this.alarmitemid = '停电'
+          } else if (res.alarmitem === 6) {
+            _this.alarmitemid = '开关门误报'
+          } else if (res.alarmitem === 7) {
+            _this.alarmitemid = '冰箱消毒'
           } else if (res.alarmitem === 5) {
             _this.alarmitemid = '其他'
           }
@@ -149,6 +159,10 @@ export default {
         this.alarmitem = 4
       } else if (_this.alarmitemid === '其他') {
         this.alarmitem = 5
+      } else if (_this.alarmitemid === '开关门误报') {
+        this.alarmitem = 6
+      } else if (_this.alarmitemid === '冰箱消毒') {
+        this.alarmitem = 7
       }
       let params = {
         remark: _this.remark,
@@ -161,7 +175,7 @@ export default {
         // ccode: _this.ccode
       }
 
-      console.log('1111', params)
+      // console.log('1111', params)
       trigger(_this.id, params)
         .then(res => {
           // response