删除MQTT相关代码

This commit is contained in:
hzj
2026-04-16 13:47:30 +08:00
parent c692282ea4
commit 0c5c9bf067
5 changed files with 1595 additions and 1609 deletions

View File

@@ -97,11 +97,11 @@
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<!--mqtt相关依赖-->
<dependency>
<groupId>com.github.tocrhz</groupId>
<artifactId>mqtt-spring-boot-starter</artifactId>
</dependency>
<!-- &lt;!&ndash;mqtt相关依赖&ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.github.tocrhz</groupId>-->
<!-- <artifactId>mqtt-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->

View File

@@ -3,9 +3,6 @@ package com.njcn.device.device.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.StrUtil;
import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
import com.github.tocrhz.mqtt.annotation.NamedValue;
import com.github.tocrhz.mqtt.annotation.Payload;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.enums.common.LogEnum;
@@ -27,12 +24,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -57,132 +52,132 @@ public class DeviceController extends BaseController {
private final GeneralDeviceService generalDeviceService;
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/socketLine")
@ApiOperation("获取监测点定值信息")
public HttpResult<String> socketLine(@RequestBody @Validated ConstantValueParam.Constant param) {
String methodDescribe = getMethodDescribe("socketLine");
if(StrUtil.isBlank(param.getIp())){
param.setIp(RequestUtil.getRealIp());
}
String s = iDeviceService.sentLine(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/updateSocketLine")
@ApiOperation("修改监测点定值信息")
public HttpResult<String> updateSocketLine(@RequestBody @Validated ConstantValueParam.ValueData param) {
String methodDescribe = getMethodDescribe("updateSocketLine");
if(StrUtil.isBlank(param.getIp())){
param.setIp(RequestUtil.getRealIp());
}
String s = iDeviceService.sentLineData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/socketDev")
@ApiOperation("获取终端定值信息")
public HttpResult<String> socketDev(@RequestBody @Validated ConstantValueParam.Constant param) {
String methodDescribe = getMethodDescribe("socketDev");
if(StrUtil.isBlank(param.getIp())){
param.setIp(RequestUtil.getRealIp());
}
String s = iDeviceService.sentDev(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/updateSocketDev")
@ApiOperation("修改终端定值信息")
public HttpResult<String> updateSocketDev(@RequestBody @Validated ConstantValueParam.ValueData param) {
String methodDescribe = getMethodDescribe("updateSocketDev");
if(StrUtil.isBlank(param.getIp())){
param.setIp(RequestUtil.getRealIp());
}
String s = iDeviceService.sentDevData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/socketDevProperty")
@ApiOperation("获取终端性能信息")
public HttpResult<String> socketDevProperty(String devID) {
String methodDescribe = getMethodDescribe("socketDevProperty");
String s = iDeviceService.socketDevProperty(devID);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/socketDevPropertyClose")
@ApiOperation("终端性能关闭")
public HttpResult<String> socketDevPropertyClose(String devID) {
String methodDescribe = getMethodDescribe("socketDevPropertyClose");
String s = iDeviceService.socketDevPropertyClose(devID);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/realTimeData")
@ApiOperation("监测点实时数据查看")
public HttpResult<String> realTimeData(String lineID) {
String methodDescribe = getMethodDescribe("realTimeData");
String s = iDeviceService.realTimeData(lineID);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/heartRealTimeData")
@ApiOperation("监测实施数据心跳")
public HttpResult<String> heartRealTimeData(String lineID) {
String methodDescribe = getMethodDescribe("heartRealTimeData");
String s = iDeviceService.heartRealTimeData(lineID);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/closeRealTimeData")
@ApiOperation("监测点实施数据关闭")
public HttpResult<String> closeRealTimeData(String lineID) {
String methodDescribe = getMethodDescribe("closeRealTimeData");
String s = iDeviceService.closeRealTimeData(lineID);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/getDevUpgrades")
@ApiOperation("终端版本升级")
public HttpResult<String> getDevUpgrades(@RequestBody @Validated ConstantValueParam.Upgrades param) {
String methodDescribe = getMethodDescribe("getDevUpgrades");
String s = iDeviceService.getDevUpgrades(param.getList(),param.getEdIndex());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/closeUpgrades")
@ApiOperation("终端升级取消")
public HttpResult<String> closeUpgrades(@RequestBody List<String> devList) {
String methodDescribe = getMethodDescribe("closeUpgrades");
String s = iDeviceService.closeUpgrades(devList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/restartDev")
@ApiOperation("重启装置命令")
public HttpResult<String> restartDev(@RequestBody List<String> devList) {
String methodDescribe = getMethodDescribe("restartDev");
String s = iDeviceService.restartDev(devList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
}
@MqttSubscribe(value = "/zl/devData/{devID}",qos = 1)
public void responseRtData(String topic, @NamedValue("devID") String pageId, MqttMessage message, @Payload String payload) {
Console.log("receive from : {}", topic);
Console.log("receive from : {}", pageId);
Console.log("message : {}", message.getPayload());
Console.log("message payload : {}", new String(message.getPayload(), StandardCharsets.UTF_8));
Console.log("string payload : {}", payload);
}
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/socketLine")
// @ApiOperation("获取监测点定值信息")
// public HttpResult<String> socketLine(@RequestBody @Validated ConstantValueParam.Constant param) {
// String methodDescribe = getMethodDescribe("socketLine");
// if(StrUtil.isBlank(param.getIp())){
// param.setIp(RequestUtil.getRealIp());
// }
// String s = iDeviceService.sentLine(param);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/updateSocketLine")
// @ApiOperation("修改监测点定值信息")
// public HttpResult<String> updateSocketLine(@RequestBody @Validated ConstantValueParam.ValueData param) {
// String methodDescribe = getMethodDescribe("updateSocketLine");
// if(StrUtil.isBlank(param.getIp())){
// param.setIp(RequestUtil.getRealIp());
// }
// String s = iDeviceService.sentLineData(param);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/socketDev")
// @ApiOperation("获取终端定值信息")
// public HttpResult<String> socketDev(@RequestBody @Validated ConstantValueParam.Constant param) {
// String methodDescribe = getMethodDescribe("socketDev");
// if(StrUtil.isBlank(param.getIp())){
// param.setIp(RequestUtil.getRealIp());
// }
// String s = iDeviceService.sentDev(param);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/updateSocketDev")
// @ApiOperation("修改终端定值信息")
// public HttpResult<String> updateSocketDev(@RequestBody @Validated ConstantValueParam.ValueData param) {
// String methodDescribe = getMethodDescribe("updateSocketDev");
// if(StrUtil.isBlank(param.getIp())){
// param.setIp(RequestUtil.getRealIp());
// }
// String s = iDeviceService.sentDevData(param);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/socketDevProperty")
// @ApiOperation("获取终端性能信息")
// public HttpResult<String> socketDevProperty(String devID) {
// String methodDescribe = getMethodDescribe("socketDevProperty");
// String s = iDeviceService.socketDevProperty(devID);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/socketDevPropertyClose")
// @ApiOperation("终端性能关闭")
// public HttpResult<String> socketDevPropertyClose(String devID) {
// String methodDescribe = getMethodDescribe("socketDevPropertyClose");
// String s = iDeviceService.socketDevPropertyClose(devID);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/realTimeData")
// @ApiOperation("监测点实时数据查看")
// public HttpResult<String> realTimeData(String lineID) {
// String methodDescribe = getMethodDescribe("realTimeData");
// String s = iDeviceService.realTimeData(lineID);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/heartRealTimeData")
// @ApiOperation("监测实施数据心跳")
// public HttpResult<String> heartRealTimeData(String lineID) {
// String methodDescribe = getMethodDescribe("heartRealTimeData");
// String s = iDeviceService.heartRealTimeData(lineID);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/closeRealTimeData")
// @ApiOperation("监测点实施数据关闭")
// public HttpResult<String> closeRealTimeData(String lineID) {
// String methodDescribe = getMethodDescribe("closeRealTimeData");
// String s = iDeviceService.closeRealTimeData(lineID);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/getDevUpgrades")
// @ApiOperation("终端版本升级")
// public HttpResult<String> getDevUpgrades(@RequestBody @Validated ConstantValueParam.Upgrades param) {
// String methodDescribe = getMethodDescribe("getDevUpgrades");
// String s = iDeviceService.getDevUpgrades(param.getList(),param.getEdIndex());
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/closeUpgrades")
// @ApiOperation("终端升级取消")
// public HttpResult<String> closeUpgrades(@RequestBody List<String> devList) {
// String methodDescribe = getMethodDescribe("closeUpgrades");
// String s = iDeviceService.closeUpgrades(devList);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
//
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/restartDev")
// @ApiOperation("重启装置命令")
// public HttpResult<String> restartDev(@RequestBody List<String> devList) {
// String methodDescribe = getMethodDescribe("restartDev");
// String s = iDeviceService.restartDev(devList);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe);
// }
// @MqttSubscribe(value = "/zl/devData/{devID}",qos = 1)
// public void responseRtData(String topic, @NamedValue("devID") String pageId, MqttMessage message, @Payload String payload) {
// Console.log("receive from : {}", topic);
// Console.log("receive from : {}", pageId);
// Console.log("message : {}", message.getPayload());
// Console.log("message payload : {}", new String(message.getPayload(), StandardCharsets.UTF_8));
// Console.log("string payload : {}", payload);
// }
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/updateDevCheckTime")

View File

@@ -19,113 +19,113 @@ import java.util.List;
public interface IDeviceService extends IService<Device> {
/***
* @Description: mqtt获取外部定值
* @param param
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/14 10:17
*/
String sentLine(ConstantValueParam.Constant param);
/***
* @Description: mqtt修改外部定值
* @param param
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/14 11:07
*/
String sentLineData(ConstantValueParam.ValueData param);
/**
* @param param
* @Description: mqtt获取内部定值
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/14 14:51
*/
String sentDev(ConstantValueParam.Constant param);
/**
* @param param
* @Description: mqtt修改内部定值
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/14 14:51
*/
String sentDevData(ConstantValueParam.ValueData param);
/**
* @param devID
* @Description: 终端性能查看
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/15 11:27
*/
String socketDevProperty(String devID);
/**
* @param devID
* @Description: 终端性能关闭
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/15 16:13
*/
String socketDevPropertyClose(String devID);
/**
* @param lineIndex
* @Description: 监测点实时数据查看
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/15 16:13
*/
String realTimeData(String lineIndex);
/**
* @param lineIndex
* @Description: 监测实施数据心跳
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/15 16:14
*/
String heartRealTimeData(String lineIndex);
/**
* @param lineIndex
* @Description: 监测点实施数据关闭
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/15 16:14
*/
String closeRealTimeData(String lineIndex);
/**
* 终端版本升级,批量升级条件必须是相同终端系列的终端才能升级
*
* @param list
* @param edIndex
* @return
*/
String getDevUpgrades(List<String> list, String edIndex);
/**
* @param devList
* @Description: 终端升级取消
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/17 9:24
*/
String closeUpgrades(List<String> devList);
/**
* @param devList
* @Description: 重启装置命令
* @return: java.lang.String
* @Author: wr
* @Date: 2023/8/17 9:24
*/
String restartDev(List<String> devList);
// /***
// * @Description: mqtt获取外部定值
// * @param param
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/14 10:17
// */
// String sentLine(ConstantValueParam.Constant param);
//
// /***
// * @Description: mqtt修改外部定值
// * @param param
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/14 11:07
// */
// String sentLineData(ConstantValueParam.ValueData param);
//
// /**
// * @param param
// * @Description: mqtt获取内部定值
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/14 14:51
// */
// String sentDev(ConstantValueParam.Constant param);
//
// /**
// * @param param
// * @Description: mqtt修改内部定值
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/14 14:51
// */
// String sentDevData(ConstantValueParam.ValueData param);
//
// /**
// * @param devID
// * @Description: 终端性能查看
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/15 11:27
// */
// String socketDevProperty(String devID);
//
// /**
// * @param devID
// * @Description: 终端性能关闭
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/15 16:13
// */
// String socketDevPropertyClose(String devID);
//
// /**
// * @param lineIndex
// * @Description: 监测点实时数据查看
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/15 16:13
// */
// String realTimeData(String lineIndex);
//
// /**
// * @param lineIndex
// * @Description: 监测实施数据心跳
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/15 16:14
// */
// String heartRealTimeData(String lineIndex);
//
// /**
// * @param lineIndex
// * @Description: 监测点实施数据关闭
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/15 16:14
// */
// String closeRealTimeData(String lineIndex);
//
// /**
// * 终端版本升级,批量升级条件必须是相同终端系列的终端才能升级
// *
// * @param list
// * @param edIndex
// * @return
// */
// String getDevUpgrades(List<String> list, String edIndex);
//
// /**
// * @param devList
// * @Description: 终端升级取消
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/17 9:24
// */
// String closeUpgrades(List<String> devList);
//
// /**
// * @param devList
// * @Description: 重启装置命令
// * @return: java.lang.String
// * @Author: wr
// * @Date: 2023/8/17 9:24
// */
// String restartDev(List<String> devList);
/**
* @param devId 装置id

View File

@@ -1,10 +1,6 @@
package com.njcn.device.device.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,16 +10,11 @@ import com.njcn.device.device.mapper.DeviceMapper;
import com.njcn.device.device.service.IDeviceService;
import com.njcn.device.device.service.ProgramVersionService;
import com.njcn.device.line.mapper.LineMapper;
import com.njcn.device.pq.pojo.advanced.*;
import com.njcn.device.pq.pojo.param.ConstantValueParam;
import com.njcn.device.pq.pojo.po.DevVersion;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.Version;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;
import com.njcn.device.pq.pojo.vo.DeviceIpRVO;
import com.njcn.device.utils.SocketClient;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -45,360 +36,360 @@ import java.util.stream.Collectors;
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
private final LineMapper lineMapper;
private final SocketClient socketClient;
// private final SocketClient socketClient;
private final DevVersionMapper devVersionMapper;
private final ProgramVersionService programVersionService;
@Value("${socket.port:60000}")
private Integer socketPort;
@Override
public String sentLine(ConstantValueParam.Constant param) {
try {
//获取根据监测点获取终端信息
UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
//查询前置ip
String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
//拼接属性
ContValueRVO upParamVO = new ContValueRVO();
ContValueVO valueVO = new ContValueVO();
valueVO.setType(param.getType());
valueVO.setLineid(param.getId());
valueVO.setHander(param.getHander());
JSONObject jsonStr = new JSONObject(valueVO);
Integer len = jsonStr.toString().length();
upParamVO.setLen(len.toString());
upParamVO.setData(valueVO);
JSONObject jsonObject = new JSONObject(upParamVO);
String str = jsonObject.toString();
List<UpDevVO> devList = new ArrayList<>();
devList.add(upDevVO);
return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
} catch (Exception e) {
return "获取定值失败";
}
}
@Override
public String sentLineData(ConstantValueParam.ValueData param) {
try {
//获取根据监测点获取终端信息
UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
//查询前置ip
String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
ContUpdateValueRVO upParamVO = new ContUpdateValueRVO();
ContUpdateValueVO valueVO = new ContUpdateValueVO();
valueVO.setType(param.getType());
valueVO.setLineid(param.getId());
valueVO.setHander(param.getHander());
float[] intArr;
if (StrUtil.isBlank(param.getInterValue())) {
intArr = new float[0];
} else {
String[] valueArr = param.getInterValue().split(",");
intArr = new float[valueArr.length];
for (int i = 0; i < valueArr.length; i++) {
intArr[i] = Float.parseFloat(valueArr[i]);
}
}
valueVO.setValue(intArr);
JSONObject jsonStr = new JSONObject(valueVO);
Integer len = jsonStr.toString().length();
upParamVO.setLen(len.toString());
upParamVO.setData(valueVO);
JSONObject jsonObject = new JSONObject(upParamVO);
String str = jsonObject.toString();
List<UpDevVO> devList = new ArrayList<>();
devList.add(upDevVO);
return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
} catch (Exception e) {
return "运行失败";
}
}
@Override
public String sentDev(ConstantValueParam.Constant param) {
try {
Line line = lineMapper.selectById(param.getId());
UpDevVO upDevVO = new UpDevVO();
upDevVO.setDevIndex(line.getId());
upDevVO.setDevName(line.getName());
String host = lineMapper.getNodeIp(line.getId(),1);
ContValueRVO upParamVO = new ContValueRVO();
ContValueVO valueVO = new ContValueVO();
valueVO.setType(param.getType());
valueVO.setIndex(param.getId());
valueVO.setHander(param.getHander());
JSONObject jsonStr = new JSONObject(valueVO);
Integer len = jsonStr.toString().length();
upParamVO.setLen(len.toString());
upParamVO.setData(valueVO);
JSONObject jsonObject = new JSONObject(upParamVO);
String str = jsonObject.toString();
List<UpDevVO> devList = new ArrayList<>();
devList.add(upDevVO);
return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
} catch (Exception e) {
return "获取定值失败";
}
}
@Override
public String sentDevData(ConstantValueParam.ValueData param) {
try {
Line line = lineMapper.selectById(param.getId());
UpDevVO upDevVO = new UpDevVO();
upDevVO.setDevIndex(line.getId());
upDevVO.setDevName(line.getName());
String host = lineMapper.getNodeIp(line.getId(),1);
ContUpdateDevValueRVO upParamVO = new ContUpdateDevValueRVO();
ContUpdateDevValueVO valueVO = new ContUpdateDevValueVO();
valueVO.setType(param.getType());
valueVO.setIndex(line.getId());
valueVO.setHander(String.valueOf(param.getHander()));
int[] intArr;
if (StrUtil.isBlank(param.getInterValue())) {
intArr = new int[0];
} else {
String[] valueArr = param.getInterValue().split(",");
intArr = new int[valueArr.length];
for (int i = 0; i < valueArr.length; i++) {
intArr[i] = Integer.parseInt(valueArr[i]);
}
}
valueVO.setInterValue(intArr);
JSONObject jsonStr = new JSONObject(valueVO);
Integer len = jsonStr.toString().length();
upParamVO.setLen(len.toString());
upParamVO.setData(valueVO);
JSONObject jsonObject = new JSONObject(upParamVO);
String str = jsonObject.toString();
List<UpDevVO> devList = new ArrayList<>();
devList.add(upDevVO);
return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
} catch (Exception e) {
return "运行失败";
}
}
@Override
public String socketDevProperty(String devID) {
String host = lineMapper.getNodeIp(devID,1);
if(StrUtil.isBlank(host)){
return "前置ip获取失败";
}
JSONObject jsonObject = new JSONObject();
Map<String,String> map = new HashMap<>();
map.put("type","190");
map.put("index",devID);
map.put("hander","1");
jsonObject.set("data", map);
Integer len = jsonObject.get("data").toString().length();
jsonObject.set("len", len.toString());
socketClient.showProperty(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
return "终端性能获取成功";
}
@Override
public String socketDevPropertyClose(String devID) {
String host = lineMapper.getNodeIp(devID,1);
try {
JSONObject jsonObject = new JSONObject();
Map<String, String> map = new HashMap<>();
map.put("type", "190");
map.put("index", devID);
map.put("hander", "0");
jsonObject.set("data", map);
Integer len = jsonObject.get("data").toString().length();
jsonObject.set("len", len.toString());
socketClient.closeDevSocket(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
return "执行成功";
}catch (Exception e){
return "执行失败";
}
}
@Override
public String realTimeData(String lineIndex) {
//查询前置ip
String host = lineMapper.getNodeIp(lineIndex,0);
if(StrUtil.isBlank(host)){
return "设备前置机服务器配置异常,请联系管理员";
}else {
JSONObject jsonObject = new JSONObject();
jsonObject.set("LineId", lineIndex);
jsonObject.set("type", 0);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.set("len",0);
jsonObject1.set("data",jsonObject);
socketClient.realTimeData(jsonObject1.toString(),host,socketPort,lineIndex);
}
return "请求成功";
}
@Override
public String heartRealTimeData(String lineIndex) {
JSONObject jsonObject = new JSONObject();
jsonObject.set("LineId", lineIndex);
jsonObject.set("type", 1);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.set("len", 0);
jsonObject1.set("data", jsonObject);
String host = lineMapper.getNodeIp(lineIndex,0);
socketClient.heartRealData(jsonObject1.toString(),host,socketPort,lineIndex);
return "实时数据心跳请求成功";
}
@Override
public String closeRealTimeData(String lineIndex) {
socketClient.closeRealData(lineIndex);
return "关闭实时数据请求成功";
}
@Override
public String getDevUpgrades(List<String> list, String edIndex) {
List<DeviceIpRVO> resTemlist = new ArrayList<>();
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(list);
//判断设备版本号
Integer isExit = devVersionMapper.selectCount(new LambdaQueryWrapper<DevVersion>()
.eq(DevVersion::getVersionId,edIndex)
.in(DevVersion::getLineId,list)
.eq(DevVersion::getState,1)
);
if (isExit > 0) {
return "请勿选择相同版本号升级";
}
if (!CollectionUtil.isEmpty(relist)) {
Version version = programVersionService.getById(edIndex);
String series = version.getDevType();
//判断设备是否存在相同型号
for (DeviceIpRVO deviceIpRVO : relist) {
if (!series.equals(deviceIpRVO.getDevSeries())) {
return "当前装置版本系列与目标版本系列不相同";
}
}
//判断是否断开
if (relist.stream().filter(w -> w.getComFlag() == 0).findAny().isPresent()) {
return "存在通讯中断设备";
}
Set<String> set = new HashSet<>();
for (DeviceIpRVO d : relist) {
set.add(d.getIp());
}
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
List<UpDevVO> devIndex = new ArrayList<>();
DeviceIpRVO deviceIpRVO = new DeviceIpRVO();
String ip = iterator.next();
for (DeviceIpRVO d : relist) {
UpDevVO upDevVO = new UpDevVO();
upDevVO.setDevIndex(d.getDevIndex());
upDevVO.setDevName(d.getDevName());
if (ip.equals(d.getIp())) {
devIndex.add(upDevVO);
}
}
deviceIpRVO.setIp(ip);
deviceIpRVO.setDevlist(devIndex);
resTemlist.add(deviceIpRVO);
}
} else {
return "存在未知错误";
}
for (DeviceIpRVO deviceIpRVO : resTemlist) {
String ip = deviceIpRVO.getIp();
List<UpDevVO> devlist = deviceIpRVO.getDevlist();
UpDataVO upDataVO = new UpDataVO();
UpParamVO upParamVO = new UpParamVO();
upDataVO.setTerminal(devlist);
upDataVO.setType("180");
upDataVO.setEdIndex(edIndex);
upDataVO.setUserIndex(RequestUtil.getUserIndex());
JSONObject jsonstr = new JSONObject(upDataVO);
Integer len = jsonstr.toString().length();
upParamVO.setData(upDataVO);
upParamVO.setLen(len.toString());
JSONObject jsonObject = new JSONObject(upParamVO);
String str = jsonObject.toString();
socketClient.sentUpgrades(str, ip, socketPort, RequestUtil.getLoginName(), edIndex, devlist);
}
return "运行成功";
}
@Override
public String closeUpgrades(List<String> devList) {
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
if(CollectionUtil.isEmpty(relist)){
return "前置机为空";
}else {
List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
for(String ip: nodeIp){
List<DeviceIpRVO> devLl= relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
if(CollectionUtil.isEmpty(devLl)){
return "出错啦";
}
List<JSONObject> list = new ArrayList<>();
for(DeviceIpRVO devRVO:devLl){
JSONObject dev = new JSONObject();
dev.put("devIndex",devRVO.getDevIndex());
dev.put("devName",devRVO.getDevName());
list.add(dev);
}
JSONObject jsonObject = new JSONObject();
jsonObject.set("terminal", list);
jsonObject.set("type", 182);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.set("len", 0);
jsonObject1.set("data", jsonObject);
socketClient.cancelUp(jsonObject1.toString(),ip,socketPort,devLl.size());
}
}
return "取消命令发送成功";
}
@Override
public String restartDev(List<String> devList) {
List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
if(CollUtil.isEmpty(relist)){
return "前置机为空";
}else {
List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
for(String ip: nodeIp){
List<DeviceIpRVO> devLl = relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
if(CollUtil.isEmpty(devLl)){
return "出错啦";
}
List<JSONObject> list = new ArrayList<>();
List<String> devIn = new ArrayList<>();
for(DeviceIpRVO devRVO:devLl){
devIn.add(devRVO.getDevIndex());
JSONObject dev = new JSONObject();
dev.set("devIndex", devRVO.getDevIndex());
dev.set("devName", devRVO.getDevName());
list.add(dev);
}
JSONObject jsonObject = new JSONObject();
jsonObject.set("terminal", list);
jsonObject.set("type", 181);
jsonObject.set("userIndex", RequestUtil.getUserIndex());
JSONObject jsonObject1 = new JSONObject();
jsonObject1.set("len", 0);
jsonObject1.set("data", jsonObject);
socketClient.restartDev(jsonObject1.toString(),ip,socketPort,devIn);
}
}
return "命令发送成功";
}
// @Override
// public String sentLine(ConstantValueParam.Constant param) {
// try {
// //获取根据监测点获取终端信息
// UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
// //查询前置ip
// String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
// //拼接属性
// ContValueRVO upParamVO = new ContValueRVO();
// ContValueVO valueVO = new ContValueVO();
// valueVO.setType(param.getType());
// valueVO.setLineid(param.getId());
// valueVO.setHander(param.getHander());
// JSONObject jsonStr = new JSONObject(valueVO);
// Integer len = jsonStr.toString().length();
// upParamVO.setLen(len.toString());
// upParamVO.setData(valueVO);
// JSONObject jsonObject = new JSONObject(upParamVO);
// String str = jsonObject.toString();
// List<UpDevVO> devList = new ArrayList<>();
// devList.add(upDevVO);
// return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
// } catch (Exception e) {
// return "获取定值失败";
// }
//
// }
//
// @Override
// public String sentLineData(ConstantValueParam.ValueData param) {
// try {
// //获取根据监测点获取终端信息
// UpDevVO upDevVO = lineMapper.getDevInfo(param.getId());
// //查询前置ip
// String host = lineMapper.getNodeIp(upDevVO.getDevIndex(),0);
// ContUpdateValueRVO upParamVO = new ContUpdateValueRVO();
// ContUpdateValueVO valueVO = new ContUpdateValueVO();
// valueVO.setType(param.getType());
// valueVO.setLineid(param.getId());
// valueVO.setHander(param.getHander());
// float[] intArr;
// if (StrUtil.isBlank(param.getInterValue())) {
// intArr = new float[0];
// } else {
// String[] valueArr = param.getInterValue().split(",");
// intArr = new float[valueArr.length];
// for (int i = 0; i < valueArr.length; i++) {
// intArr[i] = Float.parseFloat(valueArr[i]);
// }
// }
// valueVO.setValue(intArr);
// JSONObject jsonStr = new JSONObject(valueVO);
// Integer len = jsonStr.toString().length();
// upParamVO.setLen(len.toString());
// upParamVO.setData(valueVO);
// JSONObject jsonObject = new JSONObject(upParamVO);
// String str = jsonObject.toString();
// List<UpDevVO> devList = new ArrayList<>();
// devList.add(upDevVO);
// return socketClient.sentLine(param.getIp(), str, host, socketPort, "wr", devList);
// } catch (Exception e) {
// return "运行失败";
// }
// }
//
// @Override
// public String sentDev(ConstantValueParam.Constant param) {
// try {
// Line line = lineMapper.selectById(param.getId());
// UpDevVO upDevVO = new UpDevVO();
// upDevVO.setDevIndex(line.getId());
// upDevVO.setDevName(line.getName());
// String host = lineMapper.getNodeIp(line.getId(),1);
// ContValueRVO upParamVO = new ContValueRVO();
// ContValueVO valueVO = new ContValueVO();
// valueVO.setType(param.getType());
// valueVO.setIndex(param.getId());
// valueVO.setHander(param.getHander());
// JSONObject jsonStr = new JSONObject(valueVO);
// Integer len = jsonStr.toString().length();
// upParamVO.setLen(len.toString());
// upParamVO.setData(valueVO);
// JSONObject jsonObject = new JSONObject(upParamVO);
// String str = jsonObject.toString();
// List<UpDevVO> devList = new ArrayList<>();
// devList.add(upDevVO);
// return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
// } catch (Exception e) {
// return "获取定值失败";
// }
// }
//
// @Override
// public String sentDevData(ConstantValueParam.ValueData param) {
// try {
// Line line = lineMapper.selectById(param.getId());
// UpDevVO upDevVO = new UpDevVO();
// upDevVO.setDevIndex(line.getId());
// upDevVO.setDevName(line.getName());
// String host = lineMapper.getNodeIp(line.getId(),1);
// ContUpdateDevValueRVO upParamVO = new ContUpdateDevValueRVO();
// ContUpdateDevValueVO valueVO = new ContUpdateDevValueVO();
// valueVO.setType(param.getType());
// valueVO.setIndex(line.getId());
// valueVO.setHander(String.valueOf(param.getHander()));
// int[] intArr;
// if (StrUtil.isBlank(param.getInterValue())) {
// intArr = new int[0];
// } else {
// String[] valueArr = param.getInterValue().split(",");
// intArr = new int[valueArr.length];
// for (int i = 0; i < valueArr.length; i++) {
// intArr[i] = Integer.parseInt(valueArr[i]);
// }
// }
// valueVO.setInterValue(intArr);
// JSONObject jsonStr = new JSONObject(valueVO);
// Integer len = jsonStr.toString().length();
// upParamVO.setLen(len.toString());
// upParamVO.setData(valueVO);
// JSONObject jsonObject = new JSONObject(upParamVO);
// String str = jsonObject.toString();
//
// List<UpDevVO> devList = new ArrayList<>();
// devList.add(upDevVO);
// return socketClient.sentDZDev(param.getIp(), str, host, socketPort, "wr", devList);
// } catch (Exception e) {
// return "运行失败";
// }
// }
//
// @Override
// public String socketDevProperty(String devID) {
// String host = lineMapper.getNodeIp(devID,1);
// if(StrUtil.isBlank(host)){
// return "前置ip获取失败";
// }
// JSONObject jsonObject = new JSONObject();
// Map<String,String> map = new HashMap<>();
// map.put("type","190");
// map.put("index",devID);
// map.put("hander","1");
// jsonObject.set("data", map);
// Integer len = jsonObject.get("data").toString().length();
// jsonObject.set("len", len.toString());
// socketClient.showProperty(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
// return "终端性能获取成功";
// }
//
// @Override
// public String socketDevPropertyClose(String devID) {
// String host = lineMapper.getNodeIp(devID,1);
// try {
// JSONObject jsonObject = new JSONObject();
// Map<String, String> map = new HashMap<>();
// map.put("type", "190");
// map.put("index", devID);
// map.put("hander", "0");
// jsonObject.set("data", map);
// Integer len = jsonObject.get("data").toString().length();
// jsonObject.set("len", len.toString());
// socketClient.closeDevSocket(jsonObject.toString(),host,socketPort,RequestUtil.getLoginName());
// return "执行成功";
// }catch (Exception e){
// return "执行失败";
// }
// }
//
// @Override
// public String realTimeData(String lineIndex) {
// //查询前置ip
// String host = lineMapper.getNodeIp(lineIndex,0);
// if(StrUtil.isBlank(host)){
// return "设备前置机服务器配置异常,请联系管理员";
// }else {
// JSONObject jsonObject = new JSONObject();
// jsonObject.set("LineId", lineIndex);
// jsonObject.set("type", 0);
// JSONObject jsonObject1 = new JSONObject();
// jsonObject1.set("len",0);
// jsonObject1.set("data",jsonObject);
// socketClient.realTimeData(jsonObject1.toString(),host,socketPort,lineIndex);
// }
// return "请求成功";
// }
//
// @Override
// public String heartRealTimeData(String lineIndex) {
// JSONObject jsonObject = new JSONObject();
// jsonObject.set("LineId", lineIndex);
// jsonObject.set("type", 1);
// JSONObject jsonObject1 = new JSONObject();
// jsonObject1.set("len", 0);
// jsonObject1.set("data", jsonObject);
// String host = lineMapper.getNodeIp(lineIndex,0);
// socketClient.heartRealData(jsonObject1.toString(),host,socketPort,lineIndex);
// return "实时数据心跳请求成功";
// }
//
// @Override
// public String closeRealTimeData(String lineIndex) {
// socketClient.closeRealData(lineIndex);
// return "关闭实时数据请求成功";
// }
//
// @Override
// public String getDevUpgrades(List<String> list, String edIndex) {
// List<DeviceIpRVO> resTemlist = new ArrayList<>();
//
// List<DeviceIpRVO> relist = lineMapper.getDevicesIp(list);
// //判断设备版本号
// Integer isExit = devVersionMapper.selectCount(new LambdaQueryWrapper<DevVersion>()
// .eq(DevVersion::getVersionId,edIndex)
// .in(DevVersion::getLineId,list)
// .eq(DevVersion::getState,1)
// );
// if (isExit > 0) {
// return "请勿选择相同版本号升级";
// }
// if (!CollectionUtil.isEmpty(relist)) {
// Version version = programVersionService.getById(edIndex);
// String series = version.getDevType();
// //判断设备是否存在相同型号
// for (DeviceIpRVO deviceIpRVO : relist) {
// if (!series.equals(deviceIpRVO.getDevSeries())) {
// return "当前装置版本系列与目标版本系列不相同";
// }
// }
//
// //判断是否断开
// if (relist.stream().filter(w -> w.getComFlag() == 0).findAny().isPresent()) {
// return "存在通讯中断设备";
// }
//
//
// Set<String> set = new HashSet<>();
// for (DeviceIpRVO d : relist) {
// set.add(d.getIp());
// }
// Iterator<String> iterator = set.iterator();
// while (iterator.hasNext()) {
// List<UpDevVO> devIndex = new ArrayList<>();
// DeviceIpRVO deviceIpRVO = new DeviceIpRVO();
// String ip = iterator.next();
// for (DeviceIpRVO d : relist) {
// UpDevVO upDevVO = new UpDevVO();
// upDevVO.setDevIndex(d.getDevIndex());
// upDevVO.setDevName(d.getDevName());
// if (ip.equals(d.getIp())) {
// devIndex.add(upDevVO);
// }
// }
// deviceIpRVO.setIp(ip);
// deviceIpRVO.setDevlist(devIndex);
// resTemlist.add(deviceIpRVO);
// }
// } else {
// return "存在未知错误";
// }
// for (DeviceIpRVO deviceIpRVO : resTemlist) {
// String ip = deviceIpRVO.getIp();
// List<UpDevVO> devlist = deviceIpRVO.getDevlist();
// UpDataVO upDataVO = new UpDataVO();
// UpParamVO upParamVO = new UpParamVO();
// upDataVO.setTerminal(devlist);
// upDataVO.setType("180");
// upDataVO.setEdIndex(edIndex);
// upDataVO.setUserIndex(RequestUtil.getUserIndex());
// JSONObject jsonstr = new JSONObject(upDataVO);
// Integer len = jsonstr.toString().length();
// upParamVO.setData(upDataVO);
// upParamVO.setLen(len.toString());
// JSONObject jsonObject = new JSONObject(upParamVO);
// String str = jsonObject.toString();
// socketClient.sentUpgrades(str, ip, socketPort, RequestUtil.getLoginName(), edIndex, devlist);
// }
// return "运行成功";
// }
//
// @Override
// public String closeUpgrades(List<String> devList) {
// List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
// if(CollectionUtil.isEmpty(relist)){
// return "前置机为空";
// }else {
// List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
// for(String ip: nodeIp){
// List<DeviceIpRVO> devLl= relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
// if(CollectionUtil.isEmpty(devLl)){
// return "出错啦";
// }
//
// List<JSONObject> list = new ArrayList<>();
// for(DeviceIpRVO devRVO:devLl){
// JSONObject dev = new JSONObject();
// dev.put("devIndex",devRVO.getDevIndex());
// dev.put("devName",devRVO.getDevName());
// list.add(dev);
// }
// JSONObject jsonObject = new JSONObject();
// jsonObject.set("terminal", list);
// jsonObject.set("type", 182);
// JSONObject jsonObject1 = new JSONObject();
// jsonObject1.set("len", 0);
// jsonObject1.set("data", jsonObject);
// socketClient.cancelUp(jsonObject1.toString(),ip,socketPort,devLl.size());
// }
// }
// return "取消命令发送成功";
// }
//
// @Override
// public String restartDev(List<String> devList) {
// List<DeviceIpRVO> relist = lineMapper.getDevicesIp(devList);
// if(CollUtil.isEmpty(relist)){
// return "前置机为空";
// }else {
// List<String> nodeIp = relist.stream().map(DeviceIpRVO::getIp).distinct().collect(Collectors.toList());
// for(String ip: nodeIp){
// List<DeviceIpRVO> devLl = relist.stream().filter(item->item.getIp().equals(ip)).collect(Collectors.toList());
// if(CollUtil.isEmpty(devLl)){
// return "出错啦";
// }
//
// List<JSONObject> list = new ArrayList<>();
// List<String> devIn = new ArrayList<>();
// for(DeviceIpRVO devRVO:devLl){
// devIn.add(devRVO.getDevIndex());
// JSONObject dev = new JSONObject();
// dev.set("devIndex", devRVO.getDevIndex());
// dev.set("devName", devRVO.getDevName());
// list.add(dev);
// }
//
// JSONObject jsonObject = new JSONObject();
// jsonObject.set("terminal", list);
// jsonObject.set("type", 181);
// jsonObject.set("userIndex", RequestUtil.getUserIndex());
// JSONObject jsonObject1 = new JSONObject();
// jsonObject1.set("len", 0);
// jsonObject1.set("data", jsonObject);
//
// socketClient.restartDev(jsonObject1.toString(),ip,socketPort,devIn);
// }
// }
// return "命令发送成功";
// }
@Override
public void updateDevCheckTime(String devId, String thisTimeCheck, String nextTimeCheck) {