Преглед на файлове

add:添加对接电信报警列表

zoie преди 5 месеца
родител
ревизия
c1c40d69a9
променени са 5 файла, в които са добавени 102 реда и са изтрити 2 реда
  1. 18 0
      Nats/Nats.go
  2. 1 1
      conf/app.conf
  3. 81 0
      controllers/Warning.go
  4. 1 0
      routers/Data.go
  5. 1 1
      routers/filter.go

+ 18 - 0
Nats/Nats.go

@@ -169,6 +169,24 @@ func NatsInit() {
 		b, _ := msgpack.Marshal(&t_R)
 		_ = lib.Nats.Publish(m.Reply, b)
 	})
+	// 请求-响应 通过公司名获取公司树形结构信息
+	_, _ = lib.Nats.QueueSubscribe("Cold_User_CompanyTreeByT_name", "Cold_User_CompanyTreeByT_name", func(m *nats.Msg) {
+		logs.Debug(fmt.Sprintf("CompanyListAll message: %s\n", string(m.Data)))
+
+		type T_R struct {
+			Code int16               `xml:"Code"`
+			Msg  string              `xml:"Msg"`
+			Data []Account.Company_R `xml:"Data"` // 泛型
+		}
+
+		var t_R T_R
+		t_R.Code = 200
+		t_R.Msg = "ok"
+		t_R.Data = Account.Read_Company_List(string(m.Data))
+
+		b, _ := msgpack.Marshal(&t_R)
+		_ = lib.Nats.Publish(m.Reply, b)
+	})
 	// 请求-响应 获取公司
 	_, _ = lib.Nats.QueueSubscribe("Cold_ReadCompanyByT_id", "Cold_ReadCompanyByT_id", func(m *nats.Msg) {
 		logs.Debug(fmt.Sprintf("Cold_ReadCompanyByT_id message: %s\n", string(m.Data)))

+ 1 - 1
conf/app.conf

@@ -36,7 +36,7 @@ Qiniu_Url = "https://coldoss.coldbaozhida.com/"
 Panel_url = "http://127.0.0.1:6204/Cold_Panel"
 
 # 不验证登录的接口
-FilterExcludeURL = /Login_verification,/Data/List,/WxPay/Notify,/Data/Company_key_Device_Sensor_List,/docking/Real_Data,/docking/Note_Data,/Company/Transport/List,/DeviceSensor/List_BySN,/Data/GetNewLocus
+FilterExcludeURL = /Login_verification,/Data/List,/WxPay/Notify,/Data/Company_key_Device_Sensor_List,/docking/Real_Data,/docking/Note_Data,/Company/Transport/List,/DeviceSensor/List_BySN,/Data/GetNewLocus,/docking/Company_Warning
 # 只验证登录不验证权限的接口
 FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/User/GetCompanyInfo,/User/Post,/UpFileToken,/User/WxQRCode,/Company/Get,/DataSource,/Company/Bill_Excel,/WarningSend/List,/WxPay/Get_QRCode,/WxPay/GetOrderState,/WarningHandle/List,/DeviceWarning/List_Count,/Bulletin/GetBulletinById,/Bulletin/IsReadBulletin,/Bulletin/GetBulletinList,/Data/GetNewLocusSSe,/DeviceWarning/BatchEdit,/Notice/WarinType,/Data/GetSecondaryPositioning
 

+ 81 - 0
controllers/Warning.go

@@ -1527,3 +1527,84 @@ func Cron_WarningRateMonth_Add() {
 	}
 
 }
+
+func (c *DeviceController) Docking_Company_Warning() {
+
+	var r_jsons lib.R_JSONS
+
+	key := c.GetString("T_key")
+	// 查询公司,验证T_key
+	Company_r, err := Account.Read_Company_ByKey(key)
+	if err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_key Err!"}
+		c.ServeJSON()
+		return
+	}
+
+	page, _ := c.GetInt("page")
+	if page < 1 {
+		page = 1
+	}
+	page_z, _ := c.GetInt("page_z")
+	if page_z < 1 {
+		page_z = conf.Page_size
+	}
+	if page_z > 100 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "page_z 超出限制"}
+		c.ServeJSON()
+		return
+	}
+
+	T_name := c.GetString("T_name")
+	Time_start := c.GetString("Time_start")
+	Time_end := c.GetString("Time_end")
+	T_handle, _ := c.GetInt("T_handle")
+	if len(Time_start) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "开始时间不能为空!"}
+		c.ServeJSON()
+		return
+	}
+	if len(Time_end) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "结束时间不能为空!"}
+		c.ServeJSON()
+		return
+	}
+
+	st, is := lib.TimeStrToTime(Time_start)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Time_start 格式不正确"}
+		c.ServeJSON()
+		return
+	}
+	et, is := lib.TimeStrToTime(Time_end)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Time_startCompany_Device_Sensor_List 格式不正确"}
+		c.ServeJSON()
+		return
+	}
+	if st.Add(10 * 24 * time.Hour).Before(et) {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "查询时间范围超出限制(10天)"}
+		c.ServeJSON()
+		return
+	}
+	// 只要质量负责人排除电池电量低报警,电池电量恢复,用户余额通知的报警
+	T_tp := "W1|W2|W3|W4|W5|W6|W7|W8|W9|W10|W11|W12|W109|W110|"
+	var tpList []string
+	tpList = lib.SplitStringIds(T_tp, "W")
+
+	countRedisKey := fmt.Sprintf("Company_Warning_Count_%d_%s_%s_%s_%s_%d_%d", c.T_pid, T_name, T_tp, Time_start, Time_end, T_handle, 0)
+
+	T_pids := Account.ReadCompanyIds_T_path(Company_r.T_path)
+
+	Account.Read_Company_All_Maps()
+
+	// 获取最新
+	r_jsons.Data, r_jsons.Num = Warning.Gorm_Read_Company_Warning_List(T_pids, tpList, T_name, T_handle, Time_start, Time_end, page, page_z, c.T_pid, countRedisKey)
+
+	r_jsons.Page = page
+	r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
+	c.ServeJSON()
+	return
+}

+ 1 - 0
routers/Data.go

@@ -45,6 +45,7 @@ func init() {
 	//药监接口
 	beego.Router("/docking/Real_Data", &controllers.DataController{}, "*:Docking_Real_Data")
 	beego.Router("/docking/Note_Data", &controllers.DataController{}, "*:Docking_Note_Data")
+	beego.Router("/docking/Company_Warning", &controllers.DeviceController{}, "*:Docking_Company_Warning")
 
 	beego.AddNamespace(ns)
 

+ 1 - 1
routers/filter.go

@@ -25,7 +25,7 @@ func init() {
 		excludeUrlSlice := strings.Split(excludeUrl, ",")
 		if len(excludeUrlSlice) > 0 {
 			for _, v := range excludeUrlSlice {
-				if v == "/docking/Real_Data" || v == "/docking/Note_Data" {
+				if v == "/docking/Real_Data" || v == "/docking/Note_Data" || v == "/docking/Company_Warning" {
 					filterExcludeURLMap[v] = 1
 					continue
 				}