|
@@ -2,7 +2,6 @@ package services
|
|
|
|
|
|
import (
|
|
import (
|
|
"github.com/gogf/gf/encoding/gjson"
|
|
"github.com/gogf/gf/encoding/gjson"
|
|
- "github.com/gogf/gf/util/guid"
|
|
|
|
"sparrow/pkg/models"
|
|
"sparrow/pkg/models"
|
|
"sparrow/pkg/rpcs"
|
|
"sparrow/pkg/rpcs"
|
|
"sparrow/pkg/server"
|
|
"sparrow/pkg/server"
|
|
@@ -30,7 +29,7 @@ type DeviceService interface {
|
|
// GetUpgradeProgress 获取ota升级进度
|
|
// GetUpgradeProgress 获取ota升级进度
|
|
GetUpgradeProgress(deviceId string) (rpcs.ReplyOtaProgress, error)
|
|
GetUpgradeProgress(deviceId string) (rpcs.ReplyOtaProgress, error)
|
|
// 获取设备状态数据
|
|
// 获取设备状态数据
|
|
- GetDeviceStatus(deviceId string) (gjson.Json, error)
|
|
|
|
|
|
+ GetDeviceStatus(deviceId string) (*gjson.Json, error)
|
|
// 获取分体式五恒获取网关信息
|
|
// 获取分体式五恒获取网关信息
|
|
GetSplitInfo(deviceId string) error
|
|
GetSplitInfo(deviceId string) error
|
|
}
|
|
}
|
|
@@ -136,71 +135,89 @@ func (a deviceservice) GetDevicesCountByVenderId(vendorid string) (map[string]in
|
|
|
|
|
|
func (a deviceservice) Upgrade(param *models.UpgradeParams) error {
|
|
func (a deviceservice) Upgrade(param *models.UpgradeParams) error {
|
|
|
|
|
|
- var fileArgs rpcs.ArgsOtaFile
|
|
|
|
- fileArgs.FileData = param.File
|
|
|
|
- fileArgs.FileId = guid.S()
|
|
|
|
- var reply rpcs.ReplyEmptyResult
|
|
|
|
-
|
|
|
|
- err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.SavaFile", fileArgs, &reply)
|
|
|
|
- if err != nil {
|
|
|
|
- server.Log.Errorf("OTA升级文件保存失败:%v", err)
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- var args rpcs.ArgsUpgrade4G
|
|
|
|
- args.DeviceId = param.DeviceID
|
|
|
|
- args.FileId = fileArgs.FileId
|
|
|
|
- args.FileSize = param.FileSize
|
|
|
|
-
|
|
|
|
- err = server.RPCCallByName(nil, rpcs.MQTTAccessName, "Access.UpgradeFor4G", args, &reply)
|
|
|
|
- if err != nil {
|
|
|
|
- server.Log.Errorf("4G模组OTA升级失败:%v", err)
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ //var fileArgs rpcs.ArgsOtaFile
|
|
|
|
+ //fileArgs.FileData = param.File
|
|
|
|
+ //fileArgs.FileId = guid.S()
|
|
|
|
+ //var reply rpcs.ReplyEmptyResult
|
|
|
|
+ //
|
|
|
|
+ //err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.SavaFile", fileArgs, &reply)
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // server.Log.Errorf("OTA升级文件保存失败:%v", err)
|
|
|
|
+ // return err
|
|
|
|
+ //}
|
|
|
|
+ //
|
|
|
|
+ //var args rpcs.ArgsUpgrade4G
|
|
|
|
+ //args.DeviceId = param.DeviceID
|
|
|
|
+ //args.FileId = fileArgs.FileId
|
|
|
|
+ //args.FileSize = param.FileSize
|
|
|
|
+ //
|
|
|
|
+ //err = server.RPCCallByName(nil, rpcs.MQTTAccessName, "Access.UpgradeFor4G", args, &reply)
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // server.Log.Errorf("4G模组OTA升级失败:%v", err)
|
|
|
|
+ // return err
|
|
|
|
+ //}
|
|
|
|
+ server.Log.Debugf("ota升级请求成功")
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
func (a deviceservice) GetUpgradeProgress(deviceId string) (rpcs.ReplyOtaProgress, error) {
|
|
func (a deviceservice) GetUpgradeProgress(deviceId string) (rpcs.ReplyOtaProgress, error) {
|
|
- var args rpcs.ArgsOtaProgress
|
|
|
|
- args.DeviceId = deviceId
|
|
|
|
-
|
|
|
|
|
|
+ //var args rpcs.ArgsOtaProgress
|
|
|
|
+ //args.DeviceId = deviceId
|
|
|
|
+ //
|
|
var reply rpcs.ReplyOtaProgress
|
|
var reply rpcs.ReplyOtaProgress
|
|
-
|
|
|
|
- err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetProgress", args, &reply)
|
|
|
|
- if err != nil {
|
|
|
|
- server.Log.Errorf("OTA升级进度获取失败:%v", err)
|
|
|
|
- return reply, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ //
|
|
|
|
+ //err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetProgress", args, &reply)
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // server.Log.Errorf("OTA升级进度获取失败:%v", err)
|
|
|
|
+ // return reply, err
|
|
|
|
+ //}
|
|
|
|
+ server.Log.Debugf("获取升级进度请求成功")
|
|
return reply, nil
|
|
return reply, nil
|
|
}
|
|
}
|
|
|
|
|
|
-func (a deviceservice) GetDeviceStatus(deviceId string) (gjson.Json, error) {
|
|
|
|
|
|
+func (a deviceservice) GetDeviceStatus(deviceId string) (*gjson.Json, error) {
|
|
var args rpcs.ArgsGetStatus
|
|
var args rpcs.ArgsGetStatus
|
|
args.Id = deviceId
|
|
args.Id = deviceId
|
|
|
|
|
|
- var reply rpcs.ReplyStatus
|
|
|
|
-
|
|
|
|
- err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetDeviceStatus", args, &reply)
|
|
|
|
- if err != nil {
|
|
|
|
- server.Log.Errorf("设备状态数据获取失败:%v", err)
|
|
|
|
- return reply.Status, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return reply.Status, nil
|
|
|
|
|
|
+ //var reply rpcs.ReplyStatus
|
|
|
|
+
|
|
|
|
+ str := `{
|
|
|
|
+ "power": 1,
|
|
|
|
+ "mode": 1,
|
|
|
|
+ "fan_speed": 3,
|
|
|
|
+ "set_temp": 25,
|
|
|
|
+ "env_temp": 2348,
|
|
|
|
+ "env_humidity": 4336,
|
|
|
|
+ "env_co2": 612,
|
|
|
|
+ "env_pm25": 22,
|
|
|
|
+ "status_code": 29,
|
|
|
|
+ "air_mode": 3,
|
|
|
|
+ "ac_type": 1,
|
|
|
|
+ "air_type": 3,
|
|
|
|
+ "hum_type": 0
|
|
|
|
+ }`
|
|
|
|
+ j := gjson.New(str)
|
|
|
|
+ server.Log.Debugf("获取设备信息请求成功")
|
|
|
|
+ return j, nil
|
|
|
|
+ //err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetDeviceStatus", args, &reply)
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // server.Log.Errorf("设备状态数据获取失败:%v", err)
|
|
|
|
+ // return reply.Status, err
|
|
|
|
+ //}
|
|
|
|
+ //
|
|
|
|
+ //return reply.Status, nil
|
|
}
|
|
}
|
|
|
|
|
|
func (a deviceservice) GetSplitInfo(deviceId string) error {
|
|
func (a deviceservice) GetSplitInfo(deviceId string) error {
|
|
- var args rpcs.ArgsSendCommand
|
|
|
|
- args.DeviceId = deviceId
|
|
|
|
- args.Cmd = "getInfo"
|
|
|
|
- var reply rpcs.ReplySendCommand
|
|
|
|
- err := server.RPCCallByName(nil, rpcs.ControllerName, "Controller.SendCommand", args, &reply)
|
|
|
|
- if err != nil {
|
|
|
|
- server.Log.Errorf("设备状态数据获取失败:%v", err)
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ //var args rpcs.ArgsSendCommand
|
|
|
|
+ //args.DeviceId = deviceId
|
|
|
|
+ //args.Cmd = "getInfo"
|
|
|
|
+ //var reply rpcs.ReplySendCommand
|
|
|
|
+ //err := server.RPCCallByName(nil, rpcs.ControllerName, "Controller.SendCommand", args, &reply)
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // server.Log.Errorf("设备状态数据获取失败:%v", err)
|
|
|
|
+ // return err
|
|
|
|
+ //}
|
|
|
|
+ server.Log.Debugf("更新设备信息请求成功")
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|