diff --git a/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java b/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java index a7f605d..ff4d5bd 100644 --- a/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java +++ b/psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java @@ -14,6 +14,10 @@ public class SceneVo { private Integer sceneId ; /** 场景名 */ private String sceneName ; + /** + * 策略码 + */ + private Integer sceneCode; /** 用户id */ private Integer userId; /** 设备id */ 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 5694395..c4830b7 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java @@ -107,5 +107,5 @@ public interface IPsdcDeviceService { * @param strategyCode 策略码 * @return */ - int executiveStrategy(Integer strategyCode); + String executiveStrategy(Integer strategyCode); } 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 7a8a44d..389d091 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 @@ -22,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.InputStream; +import java.security.cert.TrustAnchor; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -297,7 +298,9 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService { * @return */ @Override - public int executiveStrategy(Integer strategyCode) { + public String executiveStrategy(Integer strategyCode) { + int success = 0 ; + int lose = 0; List psdcScenes = psdcSceneMapper.queryBySceneCode(strategyCode); //根据策略码查询策略列表 for (PsdcScene psdcScene: psdcScenes ) { @@ -307,15 +310,25 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService { String controlContext = ControlKeyEnum.getControlContext(controlKey); String deviceName = psdcDeviceMapper.queryDeviceNameByDeviceId(psdcScene.getDeviceId()); + Boolean flag = Boolean.FALSE; //TODO 发送MQTT指令 - // psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,2,"控制成功",controlBy)); - // psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,3,"等待终端响应超时",controlBy)); - //发送成功 - psdcControlLogMapper.insert(new PsdcControlLog(psdcScene.getDeviceId(),deviceName, psdcScene.getDeviceSn(), controlContext, controlValue, 3, 2, "控制成功", SecurityUtils.getUsername())); - - + flag = Boolean.TRUE; + if (flag) + { + //发送成功 + int insert = psdcControlLogMapper.insert(new PsdcControlLog(psdcScene.getDeviceId(), deviceName, psdcScene.getDeviceSn(), controlContext, controlValue, 3, 2, "控制成功", SecurityUtils.getUsername())); + success = success + insert; + } else { + // psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,2,"控制成功",controlBy)); + // psdcControlLogMapper.insert(new PsdcControlLog(deviceId,psdcDevice.getDeviceName(),psdcDevice.getDeviceSn(),controlContext,controlValue,controlMethod,3,"等待终端响应超时",controlBy)); + // lose = lose + i; + } + } + if(success == psdcScenes.size()){ + return "控制成功,控制数量:" + success; + } else { + return "部分失败,成功:" + success + "条,失败:" + lose + "条"; } - return 0; } private String coverStr(String s, int i) { diff --git a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml index f730cc9..4033e59 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml @@ -15,6 +15,7 @@ + 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 0d183b4..a387290 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 @@ -11,6 +11,7 @@ import com.psdc.service.IPsdcDeviceService; import com.psdc.service.IPsdcSceneService; import com.psdc.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -93,7 +94,8 @@ public class ManualController extends BaseController { @PreAuthorize("@ss.hasPermi('control:manual:strategy')") @GetMapping("/{strategyCode}") public AjaxResult getStrategyList(@PathVariable(value = "strategyCode") Integer strategyCode){ - psdcDeviceService.executiveStrategy(strategyCode); + String s = psdcDeviceService.executiveStrategy(strategyCode); + return AjaxResult.success(s); } /**