Bladeren bron

ADD:nats设备列表

zoie 9 maanden geleden
bovenliggende
commit
0536c270c8
2 gewijzigde bestanden met toevoegingen van 54 en 2 verwijderingen
  1. 47 0
      Nats/Nats.go
  2. 7 2
      models/Device/Device.go

+ 47 - 0
Nats/Nats.go

@@ -494,4 +494,51 @@ func NatsInit() {
 		_ = lib.Nats.Publish(m.Reply, b)
 		_ = lib.Nats.Publish(m.Reply, b)
 	})
 	})
 
 
+	// 请求-响应 获取设备
+	_, _ = lib.Nats.Subscribe("Cold_ReadDevice_List", func(m *nats.Msg) {
+		fmt.Printf("Cold_ReadDevice_List message: %s\n", string(m.Data))
+		type T_Req struct {
+			Key    string `xml:"Key"`
+			Name   string `xml:"Name"`
+			Page   int    `xml:"Page"`
+			Page_z int    `xml:"Page_z"`
+		}
+		var t_Req T_Req
+
+		type T_R struct {
+			Code  int16             `xml:"Code"`
+			Msg   string            `xml:"Msg"`
+			Count int64             `xml:"Count"`
+			Data  []Device.Device_R `xml:"Data"` // 泛型
+		}
+
+		var t_R T_R
+		err := msgpack.Unmarshal(m.Data, &t_Req)
+		if err != nil {
+			t_R.Code = 202
+			t_R.Msg = "Unmarshal error"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+		// 查询公司
+		Company_r, err := Account.Read_Company_ByKey(t_Req.Key)
+		if err != nil {
+			t_R.Code = 202
+			t_R.Msg = "T_key error"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+		deviceList, count := Device.Read_Device_List(&Account.Admin{T_pid: Company_r.Id}, []string{}, Company_r.Id, t_Req.Name, "", "", t_Req.Page, t_Req.Page_z)
+
+		t_R.Code = 200
+		t_R.Msg = "ok"
+		t_R.Count = count
+		t_R.Data = deviceList
+
+		b, _ := msgpack.Marshal(&t_R)
+		_ = lib.Nats.Publish(m.Reply, b)
+	})
+
 }
 }

+ 7 - 2
models/Device/Device.go

@@ -270,7 +270,7 @@ func Read_Device_List(admin *Account.Admin, bindSN []string, T_pid int, T_name s
 	}
 	}
 
 
 	// 非内部权限 - 不可查看屏蔽数据
 	// 非内部权限 - 不可查看屏蔽数据
-	if admin.T_pid > 0 {
+	if admin != nil && admin.T_pid > 0 {
 		if len(T_name) >= 16 {
 		if len(T_name) >= 16 {
 			cond1 = cond1.And("T_sn", T_name)
 			cond1 = cond1.And("T_sn", T_name)
 		} else if len(T_name) > 0 && len(T_name) < 16 {
 		} else if len(T_name) > 0 && len(T_name) < 16 {
@@ -322,7 +322,12 @@ func Read_Device_List(admin *Account.Admin, bindSN []string, T_pid int, T_name s
 
 
 	var rx []Device
 	var rx []Device
 
 
-	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("CreateTime").All(&rx)
+	var err error
+	if page_z == 9999 {
+		_, err = qs.SetCond((*orm2.Condition)(cond1)).OrderBy("CreateTime").All(&rx)
+	} else {
+		_, err = qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("CreateTime").All(&rx)
+	}
 	if err != nil {
 	if err != nil {
 		logs.Error(lib.FuncName(), err)
 		logs.Error(lib.FuncName(), err)
 		return
 		return