完成环比,策略导入执行

master
林颖晨 2 years ago
parent c1c24f2c65
commit 72723572a8
  1. 4
      psdc-business/src/main/java/com/psdc/entity/vo/SceneVo.java
  2. 2
      psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java
  3. 25
      psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java
  4. 1
      psdc-business/src/main/resources/mapper/business/PsdcSceneMapper.xml
  5. 4
      psdc-web/src/main/java/com/psdc/controller/control/ManualController.java

@ -14,6 +14,10 @@ public class SceneVo {
private Integer sceneId ;
/** 场景名 */
private String sceneName ;
/**
* 策略码
*/
private Integer sceneCode;
/** 用户id */
private Integer userId;
/** 设备id */

@ -107,5 +107,5 @@ public interface IPsdcDeviceService {
* @param strategyCode 策略码
* @return
*/
int executiveStrategy(Integer strategyCode);
String executiveStrategy(Integer strategyCode);
}

@ -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指令
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));
//发送成功
psdcControlLogMapper.insert(new PsdcControlLog(psdcScene.getDeviceId(),deviceName, psdcScene.getDeviceSn(), controlContext, controlValue, 3, 2, "控制成功", SecurityUtils.getUsername()));
// lose = lose + i;
}
}
if(success == psdcScenes.size()){
return "控制成功,控制数量:" + success;
} else {
return "部分失败,成功:" + success + "条,失败:" + lose + "条";
}
return 0;
}
private String coverStr(String s, int i) {

@ -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" />

@ -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);
}
/**

Loading…
Cancel
Save