diff --git a/psdc-admin/src/main/resources/application-dev.yml b/psdc-admin/src/main/resources/application-dev.yml index 77326f0..5530c41 100644 --- a/psdc-admin/src/main/resources/application-dev.yml +++ b/psdc-admin/src/main/resources/application-dev.yml @@ -138,7 +138,7 @@ mqtt: #QOS等级 0, 1, 2 qos: 1 #客户端id 必须唯一 - clientId: psdcDev12356ER + clientId: psdcDev12356EVX #连接超时,默认30000 timeOut: 10 #心跳间隔时间,默认3000 diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java index 79eb025..662b480 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java @@ -100,7 +100,7 @@ public interface IPsdcDeviceService { Integer setTemperature(Integer deviceId, Integer sceneCode, List data, String controlBym,Integer controlMethod); - Integer sceneControl(List jsonObjectList); + Long sceneControl(List jsonObjectList); /** * 设置单条温度指令 diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcStrategyLogService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcStrategyLogService.java index 5699c64..663c222 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcStrategyLogService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcStrategyLogService.java @@ -17,4 +17,6 @@ public interface IPsdcStrategyLogService { List selMyStrategyLog(); PsdcStrategyLog selMyNewLog(Long code); + + PsdcStrategyLog selMyThisLog(Integer code); } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java index bc3edc9..0d6161d 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java @@ -402,7 +402,7 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService { } @Override - public Integer sceneControl(List jsonObjectList) { + public Long sceneControl(List jsonObjectList) { Date date = new Date(); final int[] count = {0}; int thisCode = jsonObjectList.get(0).getInteger("sceneCode"); @@ -465,7 +465,7 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService { ThreadTest t1 = new ThreadTest(AppInfoRes.class); t1.start(); - return 4; + return code; } public Double[] getInTemp(Date date, String s) { diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java index 68d2914..3acbd5b 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcStrategyLogService.java @@ -75,6 +75,12 @@ public class PsdcStrategyLogService implements IPsdcStrategyLogService { return strategyLogMapper.selMyNewLog(SecurityUtils.getUserId(), code); } + @Override + public PsdcStrategyLog selMyThisLog(Integer code) { + Long thisCode = strategyLogMapper.queryStrategyId(code + ","); + return strategyLogMapper.selMyNewLog(SecurityUtils.getUserId(), thisCode); + } + public String jssc(SimpleDateFormat dfs, String start, String end){ try { Double d1 = Double.valueOf(dfs.parse(start).getTime()); diff --git a/psdc-web/src/main/java/com/psdc/controller/control/ManualController.java b/psdc-web/src/main/java/com/psdc/controller/control/ManualController.java index 5e1c68e..d769f67 100644 --- a/psdc-web/src/main/java/com/psdc/controller/control/ManualController.java +++ b/psdc-web/src/main/java/com/psdc/controller/control/ManualController.java @@ -9,8 +9,10 @@ import com.psdc.entity.vo.DeviceStatusVo; import com.psdc.service.IPsdcControlLogService; import com.psdc.service.IPsdcDeviceService; import com.psdc.service.IPsdcSceneService; +import com.psdc.service.impl.PsdcStrategyLogService; import com.psdc.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -35,6 +37,9 @@ public class ManualController extends BaseController { @Resource private IPsdcSceneService psdcSceneService; + @Resource + private PsdcStrategyLogService psdcStrategyLogService; + /** * 查询设备状态列表 * @return ajax @@ -134,8 +139,22 @@ public class ManualController extends BaseController { @PreAuthorize("@ss.hasPermi('control:manual:temperature')") @PostMapping("/senceControl") public AjaxResult senceControl(@RequestBody List jsonObjectList){ - psdcDeviceService.sceneControl(jsonObjectList); - return AjaxResult.success("策略正在执行中,请耐心等待,感谢配合!"); + Integer status = psdcStrategyLogService.selMyThisLog(jsonObjectList.get(0).getInteger("sceneCode")).getRuntimeStatus(); + + AjaxResult ajaxResult ; + if ("1".equals(String.valueOf(status))){ + Long code = psdcDeviceService.sceneControl(jsonObjectList); + String s = psdcStrategyLogService.selMyNewLog(code).getStrategyRunRes(); + + if (null != s){ + ajaxResult = new AjaxResult(200, "查询成功", s.split(",")); + } else { + ajaxResult = new AjaxResult(200, "策略正在执行中,请耐心等待,谢谢配合!"); + } + } else { + ajaxResult = new AjaxResult(200, "当前还有策略正在执行中,请耐心等待,谢谢配合!"); + } + return ajaxResult; }