Bläddra i källkod

add:设备增加别名

zzf 10 månader sedan
förälder
incheckning
4cd0eaeb56
5 ändrade filer med 42 tillägg och 14 borttagningar
  1. 1 1
      err/errMsg.go
  2. 25 2
      initialize/emq.go
  3. 1 0
      models/emq/payload.go
  4. 12 9
      models/gateway/device.go
  5. 3 2
      service/device/device.go

+ 1 - 1
err/errMsg.go

@@ -30,7 +30,7 @@ const (
 	QuestionCreateFailed      = "创建问题失败"
 	AnswerCreateFailed        = "创建答案失败"
 	FindAnswerFailed          = "查询答案信息失败"
-	DeviceAddFailed           = "新增设备信息失败"
+	DeviceAddFailed           = "新增设备信息失败:设备已存在"
 	DeviceAddSuccess          = "新增设备信息成功"
 	DeviceRemoveFailed        = "设备移除失败"
 	DeviceRemoveSuccess       = "设备移除成功"

+ 25 - 2
initialize/emq.go

@@ -166,6 +166,10 @@ func SubScribe(client mqtt.Client) {
 								payload.T = "1"
 							}
 							payload.M = transMac(payload.M)
+							info := global.DeviceMap[payload.M]
+							if info.ID != 0 {
+								payload.AliasName = info.AliasName
+							}
 							messageMap["msgType"] = constant.MessageTypeDeviceScanned
 							marshal, _ := json.Marshal(payload)
 							content = string(marshal)
@@ -191,6 +195,10 @@ func SubScribe(client mqtt.Client) {
 						deviceInfo := global.DeviceMap[realMac]
 						payload.T = deviceInfo.Type
 						payload.M = realMac
+						info := global.DeviceMap[payload.M]
+						if info.ID != 0 {
+							payload.AliasName = info.AliasName
+						}
 						marshal, _ := json.Marshal(payload)
 						content = string(marshal)
 					}
@@ -205,6 +213,10 @@ func SubScribe(client mqtt.Client) {
 					deviceInfo := global.DeviceMap[realMac]
 					payload.T = deviceInfo.Type
 					payload.M = realMac
+					info := global.DeviceMap[payload.M]
+					if info.ID != 0 {
+						payload.AliasName = info.AliasName
+					}
 					marshal, _ := json.Marshal(payload)
 					content = string(marshal)
 					if payload.State == "SUCCESS" && payload.ReasonCode == "62" {
@@ -229,6 +241,7 @@ func SubScribe(client mqtt.Client) {
 							payload.T = deviceInfo.Type
 							payload.N = deviceInfo.Name
 							payload.M = transMac(payload.M)
+							payload.AliasName = deviceInfo.AliasName
 							marshal, _ := json.Marshal(payload)
 							content = string(marshal)
 						}
@@ -247,6 +260,7 @@ func SubScribe(client mqtt.Client) {
 					payload.T = deviceInfo.Type
 					payload.N = deviceInfo.Name
 					payload.M = transMac(payload.M)
+					payload.AliasName = deviceInfo.AliasName
 					marshal, _ := json.Marshal(payload)
 					content = string(marshal)
 					for i := 0; i < 6; i++ {
@@ -262,14 +276,23 @@ func SubScribe(client mqtt.Client) {
 					var receiveData gateway.DeviceDataReceived
 					receiveData.Mac = realMac
 					receiveData.Value = payload.D
-
+					receiveData.AliasName = deviceInfo.AliasName
 					if deviceInfo.Type == "0" { //脑电
 						messageMap["msgType"] = constant.MessageTypeEEGData
 						marshal, _ := json.Marshal(receiveData)
 						content = string(marshal)
 					} else if deviceInfo.Type == "1" { //心电
 						messageMap["msgType"] = constant.MessageTypeECGData
-						flag := strings.HasPrefix(receiveData.Value, "E840") || strings.HasPrefix(receiveData.Value, "E841") || strings.HasPrefix(receiveData.Value, "E823") || strings.HasPrefix(receiveData.Value, "E820") || strings.HasPrefix(receiveData.Value, "E81F") || strings.HasPrefix(receiveData.Value, "E813") || strings.HasPrefix(receiveData.Value, "E810") || strings.HasPrefix(receiveData.Value, "E822") || strings.HasPrefix(receiveData.Value, "E826") || strings.HasPrefix(receiveData.Value, "E8FF00000000")
+						flag := strings.HasPrefix(receiveData.Value, "E840") ||
+							strings.HasPrefix(receiveData.Value, "E841") ||
+							strings.HasPrefix(receiveData.Value, "E823") ||
+							strings.HasPrefix(receiveData.Value, "E820") ||
+							strings.HasPrefix(receiveData.Value, "E81F") ||
+							strings.HasPrefix(receiveData.Value, "E813") ||
+							strings.HasPrefix(receiveData.Value, "E810") ||
+							strings.HasPrefix(receiveData.Value, "E822") ||
+							strings.HasPrefix(receiveData.Value, "E826") ||
+							strings.HasPrefix(receiveData.Value, "E8FF00000000")
 						if !flag {
 							//var ecgData []int
 							ecgData := [6]int{}

+ 1 - 0
models/emq/payload.go

@@ -34,6 +34,7 @@ type Payload struct {
 	N          string `json:"n"`
 	T          string `json:"t"` //0脑电1心电
 	ReasonCode string `json:"reason_code"`
+	AliasName  string `json:"aliasName"`
 }
 
 type ReceiveData struct {

+ 12 - 9
models/gateway/device.go

@@ -11,14 +11,16 @@ type DeviceScanParam struct {
 }
 
 type DeviceAddParam struct {
-	Type string `json:"type" binding:"required" `
-	Mac  string `json:"mac" binding:"required" `
+	Type      string `json:"type" binding:"required" `
+	Mac       string `json:"mac" binding:"required" `
+	AliasName string `json:"aliasName"`
 }
 type DeviceInfo struct {
 	gorm.Model
-	Type string `gorm:"type type:varchar(2) not null comment '分类:0脑电;1心电'"`
-	Mac  string `gorm:"mac type:varchar(20) not null comment 'Mac 地址'"`
-	Name string `gorm:"name type:varchar(50) not null comment '名称'"`
+	Type      string `gorm:"type type:varchar(2) not null comment '分类:0脑电;1心电'"`
+	Mac       string `gorm:"mac type:varchar(20) not null comment 'Mac 地址'"`
+	Name      string `gorm:"name type:varchar(50) not null comment '名称'"`
+	AliasName string `gorm:"aliasName type:varchar(50)  comment '别名'"`
 }
 
 type DeviceConnParam struct {
@@ -51,10 +53,11 @@ type DeviceScanned struct {
 }
 
 type DeviceDataReceived struct {
-	Value    string `json:"value"`
-	Handle   int64  `json:"handle"`
-	Mac      string `json:"id"`
-	DataType string `json:"dataType"`
+	Value     string `json:"value"`
+	Handle    int64  `json:"handle"`
+	Mac       string `json:"id"`
+	DataType  string `json:"dataType"`
+	AliasName string `json:"aliasName"`
 }
 
 type ConnectedDevice struct {

+ 3 - 2
service/device/device.go

@@ -28,8 +28,9 @@ func (d *DeviceService) FindDeviceByType(deviceType string) ([]deviceModel.Devic
 }
 func (d *DeviceService) CreateDevice(param deviceModel.DeviceAddParam) *gorm.DB {
 	addParam := deviceModel.DeviceInfo{
-		Type: param.Type,
-		Mac:  param.Mac,
+		Type:      param.Type,
+		Mac:       param.Mac,
+		AliasName: param.AliasName,
 	}
 	return global.Db.Create(&addParam)
 }