Bladeren bron

通过sn获取传感器列表

zoie 1 jaar geleden
bovenliggende
commit
bf72e5f18c
6 gewijzigde bestanden met toevoegingen van 67 en 9 verwijderingen
  1. 1 1
      Nats/NatsServer/NatsMqtt.go
  2. 1 1
      conf/app.conf
  3. 29 2
      controllers/Device.go
  4. 1 2
      controllers/DeviceReal.go
  5. 32 1
      models/Device/DeviceSensor.go
  6. 3 2
      routers/Device.go

+ 1 - 1
Nats/NatsServer/NatsMqtt.go

@@ -91,7 +91,7 @@ func Del_DeviceSensor(v Device.DeviceSensor_Del, T_mqttid string) {
 }
 }
 
 
 func Get_Device_Realtime(v string, T_mqttid string) {
 func Get_Device_Realtime(v string, T_mqttid string) {
-	logs.Println("Nats =>", lib.FuncName(),T_mqttid, v)
+	//logs.Println("Nats =>", lib.FuncName(),T_mqttid, v)
 	err := lib.Nats.Publish("Get_Device_Realtime"+T_mqttid, []byte(v))
 	err := lib.Nats.Publish("Get_Device_Realtime"+T_mqttid, []byte(v))
 	if err != nil {
 	if err != nil {
 		logs.Println("Nats =>", lib.FuncName(), err)
 		logs.Println("Nats =>", lib.FuncName(), err)

+ 1 - 1
conf/app.conf

@@ -63,7 +63,7 @@ Qiniu_Url = "https://coldoss.coldbaozhida.com/"
 # Panel
 # Panel
 Panel_url = "http://127.0.0.1:6204/Cold_Panel"
 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
+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/List
 # 小程序 冷链验证 /Data/List
 # 小程序接口 /DeviceWarning/DeviceSensor_List,/Device/Applet_Stat_View2,/DeviceSensor/Applet_List_View1,/DeviceSensor/Applet_List_View2,/DeviceSensorType/List,/Device/DeviceTask_Post
 # 小程序接口 /DeviceWarning/DeviceSensor_List,/Device/Applet_Stat_View2,/DeviceSensor/Applet_List_View1,/DeviceSensor/Applet_List_View2,/DeviceSensorType/List,/Device/DeviceTask_Post
 FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/User/Post,/UpFileToken,/User/WxQRCode,/Company/Get,/DataSource,/Company/Bill_Excel,/WarningSend/List,/WxPay/Get_QRCode,/WxPay/GetOrderState,/WarningHandle/List
 FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/User/Post,/UpFileToken,/User/WxQRCode,/Company/Get,/DataSource,/Company/Bill_Excel,/WarningSend/List,/WxPay/Get_QRCode,/WxPay/GetOrderState,/WarningHandle/List

+ 29 - 2
controllers/Device.go

@@ -32,7 +32,9 @@ func (c *DeviceController) Prepare() {
 	if len(User_tokey) == 0 {
 	if len(User_tokey) == 0 {
 		User_tokey = GetString
 		User_tokey = GetString
 	}
 	}
-
+	if Account.Admin_r == nil {
+		return
+	}
 	c.Admin_r = Account.Admin_r
 	c.Admin_r = Account.Admin_r
 	T_pid := c.Admin_r.T_pid
 	T_pid := c.Admin_r.T_pid
 	EntryPid, _ := Account.Redis_Tokey_T_pid_Get(User_tokey)
 	EntryPid, _ := Account.Redis_Tokey_T_pid_Get(User_tokey)
@@ -1629,7 +1631,7 @@ func (c *DeviceController) CompanyNotice_Edit() {
 		R_DeviceNotice.T_Notice_mechanism = T_Notice_mechanism
 		R_DeviceNotice.T_Notice_mechanism = T_Notice_mechanism
 	}
 	}
 
 
-	if err = Company.Update_CompanyNotice(R_DeviceNotice, "T_name", "T_Notice_wx", "T_Notice_wx2","T_Notice_app", "T_Notice_phone", "T_Notice_message", "T_Notice_mailbox", "T_Notice_mechanism"); err != nil {
+	if err = Company.Update_CompanyNotice(R_DeviceNotice, "T_name", "T_Notice_wx", "T_Notice_wx2", "T_Notice_app", "T_Notice_phone", "T_Notice_message", "T_Notice_mailbox", "T_Notice_mechanism"); err != nil {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败"}
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败"}
 		c.ServeJSON()
 		c.ServeJSON()
 		return
 		return
@@ -2149,3 +2151,28 @@ func Update_DeviceSensor_Parameter() {
 		Device.Update_DeviceSensor(sensor, "T_sp")
 		Device.Update_DeviceSensor(sensor, "T_sp")
 	}
 	}
 }
 }
+
+// 传感器列表 - 冷链物流运输客户端
+func (c *DeviceController) DeviceSensor_List_BySN() {
+	type R_JSONS struct {
+		//必须的大写开头
+		Data      []Device.DeviceSensor_R
+		Num       int64
+		Page      int
+		Page_size int
+	}
+	var r_jsons R_JSONS
+
+	T_sn := c.GetString("T_sn")
+	if len(T_sn) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_sn err!"}
+		c.ServeJSON()
+		return
+	}
+
+	r_jsons.Data, r_jsons.Num = Device.Read_DeviceSensorList_BySN(T_sn)
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
+	c.ServeJSON()
+	return
+}

+ 1 - 2
controllers/DeviceReal.go

@@ -4,7 +4,6 @@ import (
 	"Cold_Api/Nats/NatsServer"
 	"Cold_Api/Nats/NatsServer"
 	"Cold_Api/conf"
 	"Cold_Api/conf"
 	"Cold_Api/controllers/lib"
 	"Cold_Api/controllers/lib"
-	"Cold_Api/logs"
 	"Cold_Api/models/Device"
 	"Cold_Api/models/Device"
 	"fmt"
 	"fmt"
 	"strings"
 	"strings"
@@ -67,7 +66,7 @@ func DeviceRealTime() {
 
 
 		lib.DeviceRealSnMap.Range(func(k, v interface{}) bool {
 		lib.DeviceRealSnMap.Range(func(k, v interface{}) bool {
 
 
-			logs.Println("=================", k)
+			//logs.Println("=================", k)
 			sn := strings.Split(k.(string), "|")[0]
 			sn := strings.Split(k.(string), "|")[0]
 			mqttid := strings.Split(k.(string), "|")[1]
 			mqttid := strings.Split(k.(string), "|")[1]
 
 

+ 32 - 1
models/Device/DeviceSensor.go

@@ -407,7 +407,8 @@ func Read_DeviceSensor_Num_ByT_sn(T_sn string) int {
 }
 }
 
 
 // 获取列表
 // 获取列表
-func Read_DeviceSensorList(admin_r *Account.Admin, bindSN []string, T_pid int, T_sn string, T_name string, T_Class_id, T_datashow int, T_type string, T_State int, page int, page_z int) (DeviceSensor_r []DeviceSensor_R, cnt int64) {
+func Read_DeviceSensorList(admin_r *Account.Admin, bindSN []string, T_pid int, T_sn string, T_name string, T_Class_id, T_datashow int,
+	T_type string, T_State int, page int, page_z int) (DeviceSensor_r []DeviceSensor_R, cnt int64) {
 
 
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	// 也可以直接使用 Model 结构体作为表名
@@ -1700,3 +1701,33 @@ func Read_Docking_Real_Data(T_pid int) (DeviceData_r []DeviceData_Docking) {
 	}
 	}
 	return DeviceData_r
 	return DeviceData_r
 }
 }
+
+// 获取列表
+func Read_DeviceSensorList_BySN(T_sn string) (DeviceSensor_r []DeviceSensor_R, cnt int64) {
+
+	o := orm.NewOrm()
+	// 也可以直接使用 Model 结构体作为表名
+
+	qs := o.QueryTable(new(DeviceSensor))
+
+	var r []DeviceSensor
+	cond := orm.NewCondition()
+	cond1 := cond.And("T_sn__icontains", T_sn)
+
+	_, err := qs.SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return
+	}
+
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return
+	}
+
+	for _, v := range r {
+		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
+	}
+	return DeviceSensor_r, cnt
+}

+ 3 - 2
routers/Device.go

@@ -45,8 +45,9 @@ func init() {
 		beego.NSNamespace("/DeviceSensor",
 		beego.NSNamespace("/DeviceSensor",
 			beego.NSBefore(T_pidFilter),
 			beego.NSBefore(T_pidFilter),
 			// 设备-传感器
 			// 设备-传感器
-			beego.NSRouter("/List", &controllers.DeviceController{}, "*:DeviceSensor_List"), // 传感器列表
-			beego.NSRouter("/Edit", &controllers.DeviceController{}, "*:DeviceSensor_Edit"), // 修改传感器
+			beego.NSRouter("/List", &controllers.DeviceController{}, "*:DeviceSensor_List"),           // 传感器列表
+			beego.NSRouter("/List_BySN", &controllers.DeviceController{}, "*:DeviceSensor_List_BySN"), // 传感器列表
+			beego.NSRouter("/Edit", &controllers.DeviceController{}, "*:DeviceSensor_Edit"),           // 修改传感器
 			//beego.NSRouter("/Del", &controllers.DeviceController{}, "*:DeviceSensor_Del"),                       // 删除传感器 -弃用
 			//beego.NSRouter("/Del", &controllers.DeviceController{}, "*:DeviceSensor_Del"),                       // 删除传感器 -弃用
 			beego.NSRouter("/Parameter_Get", &controllers.DeviceController{}, "*:DeviceSensor_Parameter_Get"),   // 传感器参数
 			beego.NSRouter("/Parameter_Get", &controllers.DeviceController{}, "*:DeviceSensor_Parameter_Get"),   // 传感器参数
 			beego.NSRouter("/Parameter_List", &controllers.DeviceController{}, "*:DeviceSensor_Parameter_List"), // 传感器参数列表
 			beego.NSRouter("/Parameter_List", &controllers.DeviceController{}, "*:DeviceSensor_Parameter_List"), // 传感器参数列表