From 72723572a8119fae3118490d94a2f19e3eebc8a1 Mon Sep 17 00:00:00 2001 From: stone <827672943@qq.com> Date: Mon, 15 May 2023 17:05:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=8E=AF=E6=AF=94=EF=BC=8C?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E5=AF=BC=E5=85=A5=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/psdc/entity/vo/SceneVo.java | 4 +++ .../com/psdc/service/IPsdcDeviceService.java | 2 +- .../service/impl/PsdcDeviceServiceImpl.java | 29 ++++++++++++++----- .../mapper/business/PsdcSceneMapper.xml | 1 + .../controller/control/ManualController.java | 4 ++- 5 files changed, 30 insertions(+), 10 deletions(-) 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<PsdcScene> 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 @@ <resultMap type="com.psdc.entity.vo.SceneVo" id="SceneVoMap"> <result property="sceneName" column="scene_name" /> + <result property="sceneCode" column="scene_code"/> <result property="userId" column="user_id"/> <result property="deviceName" column="device_name"/> <result property="deviceId" column="device_id" /> 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); } /**