浏览代码

增加控制接口

liuxiulin 8 月之前
父节点
当前提交
083b70d0ed
共有 2 个文件被更改,包括 60 次插入0 次删除
  1. 34 0
      services/knowoapi/controllers/device.go
  2. 26 0
      services/knowoapi/services/device.go

+ 34 - 0
services/knowoapi/controllers/device.go

@@ -446,3 +446,37 @@ func (a *DeviceController) PostOutdoortemp() {
 	}
 	done(a.Ctx, params.DeviceId)
 }
+
+// PostOutdoorlinkage 开启/关闭水系统联动
+// POST /device/outdoorlinkage
+func (a *DeviceController) PostOutdoorlinkage() {
+	params := new(models.SendCommandParams)
+	if err := parseBody(a.Ctx, params); err != nil {
+		badRequest(a.Ctx, err)
+		return
+	}
+
+	err := a.Service.SetOutdoorLinkage(*params)
+	if err != nil {
+		responseError(a.Ctx, ErrNormal, err.Error())
+		return
+	}
+	done(a.Ctx, params.DeviceId)
+}
+
+// PostMixedwaterlinkage 开启/关闭调温中心联动
+// POST /device/mixedwaterlinkage
+func (a *DeviceController) PostMixedwaterlinkage() {
+	params := new(models.SendCommandParams)
+	if err := parseBody(a.Ctx, params); err != nil {
+		badRequest(a.Ctx, err)
+		return
+	}
+
+	err := a.Service.SetMixedWaterLinkage(*params)
+	if err != nil {
+		responseError(a.Ctx, ErrNormal, err.Error())
+		return
+	}
+	done(a.Ctx, params.DeviceId)
+}

+ 26 - 0
services/knowoapi/services/device.go

@@ -50,6 +50,10 @@ type DeviceService interface {
 	SetOutdoorPower(params models.SendCommandParams) error
 	// SetOutdoorTemp 设置水系统外机出水温度
 	SetOutdoorTemp(params models.SendCommandParams) error
+	// SetOutdoorLinkage 开启/关闭水系统联动
+	SetOutdoorLinkage(params models.SendCommandParams) error
+	// SetMixedWaterLinkage 开启/关闭调温中心联动
+	SetMixedWaterLinkage(params models.SendCommandParams) error
 }
 
 type deviceservice struct {
@@ -327,6 +331,28 @@ func (a deviceservice) SetOutdoorTemp(params models.SendCommandParams) error {
 	return a.sendCommand(args)
 }
 
+// SetOutdoorLinkage 开启/关闭水系统联动
+func (a deviceservice) SetOutdoorLinkage(params models.SendCommandParams) error {
+	var args rpcs.ArgsSendCommand
+	args.DeviceId = params.DeviceId
+	args.Cmd = string(models.SetOutdoorTemp)
+	args.Params = map[string]interface{}{
+		"enable": params.Enable,
+	}
+	return a.sendCommand(args)
+}
+
+// SetMixedWaterLinkage 开启/关闭调温中心联动
+func (a deviceservice) SetMixedWaterLinkage(params models.SendCommandParams) error {
+	var args rpcs.ArgsSendCommand
+	args.DeviceId = params.DeviceId
+	args.Cmd = string(models.SetOutdoorTemp)
+	args.Params = map[string]interface{}{
+		"enable": params.Enable,
+	}
+	return a.sendCommand(args)
+}
+
 // SendCommand 下发指令
 func (a deviceservice) sendCommand(args rpcs.ArgsSendCommand) error {
 	var reply rpcs.ReplySendCommand