diff --git a/nursing-unit-api/src/main/java/com/nu/modules/commonutils/TuyaAirconApi.java b/nursing-unit-api/src/main/java/com/nu/modules/commonutils/TuyaAirconApi.java index c51dd48e..9a72da3c 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/commonutils/TuyaAirconApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/commonutils/TuyaAirconApi.java @@ -1,5 +1,6 @@ package com.nu.modules.commonutils; +import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.ObjectMapper; import com.nu.connector.AirConditionerConnector; import com.nu.connector.DeviceConnector; @@ -173,12 +174,12 @@ public class TuyaAirconApi { * 空调组合按键下发 * 通过组合命令控制空调 * - * @param infraredId 设备ID (infrared_id) - * @param remoteId 遥控器ID (remote_id) - * @param power 电源:0-关闭,1-打开(必填) - * @param mode 模式:0-制冷,1-制热,2-自动,3-送风,4-除湿(可选) - * @param temp 温度(可选) - * @param wind 风速:0-自动,1-低,2-中,3-高(可选) + * @param infraredId 设备ID (infrared_id) + * @param remoteId 遥控器ID (remote_id) + * @param power 电源:0-关闭,1-打开(必填) + * @param mode 模式:0-制冷,1-制热,2-自动,3-送风,4-除湿(可选) + * @param temp 温度(可选) + * @param wind 风速:0-自动,1-低,2-中,3-高(可选) * @param remoteIndex 遥控器索引ID(可选) * @param categoryId 品类ID(可选) */ @@ -214,22 +215,13 @@ public class TuyaAirconApi { } // 调用 connector 发送命令 - Map result = deviceConnector.sendCommandKT(infraredId, remoteId, body); + boolean result = deviceConnector.sendCommandKT2(infraredId, remoteId, body); - // 处理返回结果 - if (result != null && Boolean.TRUE.equals(result.get("success"))) { - return Map.of( - "success", true, - "message", "空调控制指令发送成功", - "data", result - ); - } else { - String errorMsg = result != null ? result.getOrDefault("message", "未知错误").toString() : "返回结果为空"; - return Map.of( - "success", false, - "message", "空调控制指令发送失败: " + errorMsg - ); - } + return Map.of( + "success", true, + "message", "空调控制指令发送成功", + "data", result + ); } catch (Exception e) { return Map.of( "success", false, @@ -238,47 +230,4 @@ public class TuyaAirconApi { } } - /** - * 空调组合按键下发(使用Body方式传参) - * - * @param infraredId 设备ID - * @param remoteId 遥控器ID - * @param body 请求参数体 - */ - @PostMapping("/sendCommandWithBody") - public Map sendAirconCommandWithBody( - @RequestParam String infraredId, - @RequestParam String remoteId, - @RequestBody Map body) { - try { - // 验证必填参数 power - if (body == null || !body.containsKey("power")) { - return Map.of( - "success", false, - "message", "缺少必填参数: power" - ); - } - - Map result = deviceConnector.sendCommandKT(infraredId, remoteId, body); - - if (result != null && Boolean.TRUE.equals(result.get("success"))) { - return Map.of( - "success", true, - "message", "空调控制指令发送成功", - "data", result - ); - } else { - String errorMsg = result != null ? result.getOrDefault("message", "未知错误").toString() : "返回结果为空"; - return Map.of( - "success", false, - "message", "空调控制指令发送失败: " + errorMsg - ); - } - } catch (Exception e) { - return Map.of( - "success", false, - "message", "空调控制指令发送异常: " + e.getMessage() - ); - } - } } diff --git a/nursing-unit-common/src/main/java/com/nu/connector/DeviceConnector.java b/nursing-unit-common/src/main/java/com/nu/connector/DeviceConnector.java index 2570d78b..bf2cfd1e 100644 --- a/nursing-unit-common/src/main/java/com/nu/connector/DeviceConnector.java +++ b/nursing-unit-common/src/main/java/com/nu/connector/DeviceConnector.java @@ -1,5 +1,6 @@ package com.nu.connector; +import com.alibaba.fastjson.JSONObject; import com.nu.entity.CommandResponse; import com.tuya.connector.api.annotations.Body; import com.tuya.connector.api.annotations.GET; @@ -50,9 +51,8 @@ public interface DeviceConnector { /** * 发送控制指令 */ - // 在 AirConditionerConnector 中修改为: @POST("/v2.0/infrareds/{infrared_id}/air-conditioners/{remote_id}/scenes/command") - Map sendCommandKT( + Boolean sendCommandKT2( @Path("infrared_id") String infraredId, @Path("remote_id") String remoteId, @Body Map body diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/job/DirectiveDateGenerateJob.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/job/DirectiveDateGenerateJob.java index 9351f4d9..92c99d27 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/job/DirectiveDateGenerateJob.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/job/DirectiveDateGenerateJob.java @@ -37,6 +37,7 @@ public class DirectiveDateGenerateJob implements Job { CareDirectiveEntity dto = new CareDirectiveEntity(); dto.setQueryDate(targetDate); + //查出来targetDate日期当天所有应该执行的指令 List allDateSnapshootList = careDirectivePlanApi.queryListByDateTime(dto); List directivePlanDates = BeanUtil.copyToList(allDateSnapshootList, DirectivePlanDate.class); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml index 164964be..c6e47e04 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml @@ -484,7 +484,7 @@ p.cycle_type_id = '1' -- 3: 按星期执行 - OR (p.cycle_type_id = '3' AND p.cycle_value = WEEKDAY(now())) + OR (p.cycle_type_id = '3' AND p.cycle_value = WEEKDAY(#{dto.queryDate})) -- 4: 按日期执行 OR (p.cycle_type_id = '4' AND p.cycle_value = DATE_FORMAT(#{dto.queryDate}, '%d'))