无线系统实时数据功能
This commit is contained in:
@@ -19,7 +19,6 @@ import java.util.List;
|
||||
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csline", fallbackFactory = CsLineClientFallbackFactory.class,contextId = "csline")
|
||||
public interface CsLineFeignClient {
|
||||
|
||||
|
||||
@PostMapping("/queryLineById")
|
||||
HttpResult<List<CsLinePO>> queryLineById(@RequestParam("ids") List<String> ids );
|
||||
|
||||
@@ -40,4 +39,7 @@ public interface CsLineFeignClient {
|
||||
|
||||
@PostMapping("/updateIds")
|
||||
HttpResult<Boolean> updateIds(@RequestBody @Validated CsLineParam csLineParam);
|
||||
|
||||
@PostMapping("/getById")
|
||||
HttpResult<CsLinePO> getById(@RequestParam("lineId") String lineId);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.csdevice.api.fallback.DataArrayFeignClientFallbackFactory;
|
||||
import com.njcn.csdevice.pojo.param.DataArrayParam;
|
||||
import com.njcn.csdevice.pojo.po.CsDataArray;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -22,13 +21,14 @@ import java.util.List;
|
||||
public interface DataArrayFeignClient {
|
||||
|
||||
@PostMapping("/getArrayBySet")
|
||||
HttpResult<List<CsDataArray>> getArrayBySet(@RequestBody List<CsDataSet> setList);
|
||||
HttpResult<List<CsDataArray>> getArrayBySet(@RequestParam("dataSet") String dataSet);
|
||||
|
||||
@PostMapping("/getDataArray")
|
||||
HttpResult<List<DataArrayTreeVO>> getDataArray(@RequestBody List<String> dataSetList);
|
||||
|
||||
@PostMapping("/getDataArrayById")
|
||||
HttpResult<List<CsDataArray>> getDataArrayById(@RequestParam("pid") String pid, @RequestParam("name") String name);
|
||||
|
||||
@PostMapping("/getDataArrayByIds")
|
||||
HttpResult<List<CsDataArray>> getDataArrayByIds(@RequestParam("ids") List<String> ids);
|
||||
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
package com.njcn.csdevice.api;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.api.fallback.DataSetFeignClientFallbackFactory;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
import com.njcn.csdevice.pojo.vo.LineTargetVO;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -31,5 +38,13 @@ public interface DataSetFeignClient {
|
||||
@PostMapping("/getDataSetBySetIds")
|
||||
HttpResult<List<CsDataSet>> getDataSetBySetIds(@RequestBody List<String> lineIds);
|
||||
|
||||
@PostMapping("/getBaseDataSet")
|
||||
HttpResult<CsDataSet> getBaseDataSet(@RequestParam("modelId") String modelId,@RequestParam("clDev") Integer clDev);
|
||||
|
||||
@PostMapping("/getHarmonicDataSet")
|
||||
HttpResult<CsDataSet> getHarmonicDataSet(@RequestParam("modelId") String modelId,@RequestParam("clDev") Integer clDev,@RequestParam("target") Integer target);
|
||||
|
||||
@PostMapping("/getDataSetByIdx")
|
||||
HttpResult<CsDataSet> getDataSetByIdx(@RequestParam("modelId") String modelId,@RequestParam("idx") Integer idx);
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ public class CsLineClientFallbackFactory implements FallbackFactory<CsLineFeignC
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new CsLineFeignClient() {
|
||||
|
||||
|
||||
@Override
|
||||
public HttpResult<List<CsLinePO>> queryLineById(List<String> ids) {
|
||||
log.error("{}异常,降级处理,异常为:{}","查询监测点详情异常",cause.toString());
|
||||
@@ -69,6 +68,12 @@ public class CsLineClientFallbackFactory implements FallbackFactory<CsLineFeignC
|
||||
log.error("{}异常,降级处理,异常为:{}","修改监测点模板id和数据集id",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<CsLinePO> getById(String lineId) {
|
||||
log.error("{}异常,降级处理,异常为:{}","根据监测点id获取监测点详情",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.csdevice.api.DataArrayFeignClient;
|
||||
import com.njcn.csdevice.pojo.param.DataArrayParam;
|
||||
import com.njcn.csdevice.pojo.po.CsDataArray;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
|
||||
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
@@ -36,7 +35,7 @@ public class DataArrayFeignClientFallbackFactory implements FallbackFactory<Data
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new DataArrayFeignClient() {
|
||||
@Override
|
||||
public HttpResult<List<CsDataArray>> getArrayBySet(List<CsDataSet> setList) {
|
||||
public HttpResult<List<CsDataArray>> getArrayBySet(String dataSet) {
|
||||
log.error("{}异常,降级处理,异常为:{}","根据数据集获取详细数据失败",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@@ -56,6 +56,24 @@ public class DataSetFeignClientFallbackFactory implements FallbackFactory<DataSe
|
||||
log.error("{}异常,降级处理,异常为:{}","根据数据集ids获取数据集",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<CsDataSet> getBaseDataSet(String modelId, Integer clDev) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取实时数据-基础数据集",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<CsDataSet> getHarmonicDataSet(String modelId, Integer clDev, Integer target) {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取实时数据-谐波数据集",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<CsDataSet> getDataSetByIdx(String modelId, Integer idx) {
|
||||
log.error("{}异常,降级处理,异常为:{}","根据idx获取数据集数据",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,5 +83,45 @@ public class CsDataSetController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getBaseDataSet")
|
||||
@ApiOperation("获取实时数据-基础数据集")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "modelId", value = "模板id", required = true),
|
||||
@ApiImplicitParam(name = "clDev", value = "逻辑子设备标识", required = true)
|
||||
})
|
||||
public HttpResult<CsDataSet> getBaseDataSet(@RequestParam("modelId") String modelId,@RequestParam("clDev") Integer clDev){
|
||||
String methodDescribe = getMethodDescribe("getBaseDataSet");
|
||||
CsDataSet dataSet = csDataSetService.getBaseDataSet(modelId,clDev);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataSet, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getHarmonicDataSet")
|
||||
@ApiOperation("获取实时数据-谐波数据集")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "modelId", value = "模板id", required = true),
|
||||
@ApiImplicitParam(name = "clDev", value = "逻辑子设备标识", required = true),
|
||||
@ApiImplicitParam(name = "target", value = "指标序号", required = true),
|
||||
})
|
||||
public HttpResult<CsDataSet> getHarmonicDataSet(@RequestParam("modelId") String modelId,@RequestParam("clDev") Integer clDev,@RequestParam("target") Integer target){
|
||||
String methodDescribe = getMethodDescribe("getHarmonicDataSet");
|
||||
CsDataSet dataSet = csDataSetService.getHarmonicDataSet(modelId,clDev,target);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataSet, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getDataSetByIdx")
|
||||
@ApiOperation("根据idx获取数据集数据")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "modelId", value = "模板id", required = true),
|
||||
@ApiImplicitParam(name = "idx", value = "数据集序号", required = true)
|
||||
})
|
||||
public HttpResult<CsDataSet> getDataSetByIdx(@RequestParam("modelId") String modelId,@RequestParam("idx") Integer idx){
|
||||
String methodDescribe = getMethodDescribe("getDataSetByIdx");
|
||||
CsDataSet csDataSet = csDataSetService.getDataSetByIdx(modelId,idx);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDataSet, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.csdevice.controller.equipment;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.nacos.shaded.com.google.gson.Gson;
|
||||
import com.github.tocrhz.mqtt.publisher.MqttPublisher;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -38,6 +40,7 @@ public class DeviceFtpController extends BaseController {
|
||||
|
||||
private final DeviceFtpService deviceFtpService;
|
||||
private final RedisUtil redisUtil;
|
||||
private final MqttPublisher publisher;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/askDeviceRootPath")
|
||||
@@ -85,6 +88,9 @@ public class DeviceFtpController extends BaseController {
|
||||
if (Objects.isNull(result)) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
} else {
|
||||
int step = (int) Math.ceil((double) size / 51200);
|
||||
String json = "{fileName:"+name+",allStep:"+ step +",nowStep:"+ step +"}";
|
||||
publisher.send("/Web/Progress/" + nDid, new Gson().toJson(json), 1, false);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.njcn.csdevice.controller.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.mapper.CsLinePOMapper;
|
||||
import com.njcn.csdevice.mapper.OverlimitMapper;
|
||||
import com.njcn.csdevice.pojo.param.CsLineParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
@@ -41,6 +43,7 @@ public class CslineController extends BaseController {
|
||||
private final CsLinePOService csLinePOService;
|
||||
|
||||
private final OverlimitMapper overlimitMapper;
|
||||
private final CsLinePOMapper csLinePOMapper;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryLineById")
|
||||
@@ -132,4 +135,27 @@ public class CslineController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getById")
|
||||
@ApiOperation("根据监测点id获取监测点详情")
|
||||
@ApiImplicitParam(name = "lineId", value = "监测点id", required = true)
|
||||
@ApiIgnore
|
||||
public HttpResult<CsLinePO> getById(@RequestParam String lineId) {
|
||||
String methodDescribe = getMethodDescribe("getById");
|
||||
LambdaQueryWrapper<CsLinePO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CsLinePO::getLineId,lineId).eq(CsLinePO::getStatus,1);
|
||||
CsLinePO po = csLinePOService.getOne(queryWrapper);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, po, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getOverLimitData")
|
||||
@ApiOperation("根据监测点id获取国标限值")
|
||||
@ApiImplicitParam(name = "id", value = "监测点id", required = true)
|
||||
public HttpResult<Overlimit> getOverLimitData(@RequestParam("id") String id) {
|
||||
String methodDescribe = getMethodDescribe("getOverLimitData");
|
||||
Overlimit result = overlimitMapper.selectById(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -45,5 +45,4 @@ public interface CsLinePOService extends IService<CsLinePO>{
|
||||
* @param csLineParam
|
||||
*/
|
||||
void updateIds(CsLineParam csLineParam);
|
||||
|
||||
}
|
||||
|
||||
@@ -52,4 +52,16 @@ public interface ICsDataSetService extends IService<CsDataSet> {
|
||||
* @return
|
||||
*/
|
||||
List<CsDataSet> getDataSetBySetIds(List<String> setIds);
|
||||
|
||||
CsDataSet getBaseDataSet(String modelId,Integer clDev);
|
||||
|
||||
CsDataSet getHarmonicDataSet(String modelId,Integer clDev,Integer target);
|
||||
|
||||
/**
|
||||
* 根据模板和idx获取数据集数据
|
||||
* @param modelId
|
||||
* @param idx
|
||||
* @return
|
||||
*/
|
||||
CsDataSet getDataSetByIdx(String modelId, Integer idx);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csdevice.mapper.CsDataSetMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
@@ -8,6 +9,7 @@ import com.njcn.csdevice.service.ICsDataSetService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -56,4 +58,39 @@ public class CsDataSetServiceImpl extends ServiceImpl<CsDataSetMapper, CsDataSet
|
||||
return this.lambdaQuery().in(CsDataSet::getId,setIds).list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CsDataSet getBaseDataSet(String modelId, Integer clDev) {
|
||||
List<CsDataSet> list = this.lambdaQuery()
|
||||
.eq(CsDataSet::getPid,modelId)
|
||||
.eq(CsDataSet::getClDev,clDev)
|
||||
.eq(CsDataSet::getDataType,"Rt")
|
||||
.list();
|
||||
return list.stream().min(Comparator.comparingInt(CsDataSet::getIdx)).get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CsDataSet getHarmonicDataSet(String modelId, Integer clDev,Integer target) {
|
||||
LambdaQueryWrapper<CsDataSet> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CsDataSet::getPid,modelId)
|
||||
.eq(CsDataSet::getClDev,clDev)
|
||||
.eq(CsDataSet::getDataType,"Rt");
|
||||
//谐波电压含有率
|
||||
if (target == 0) {
|
||||
wrapper.eq(CsDataSet::getName,"Ds$Pqd$Rt$HarmV$01");
|
||||
} else if (target == 1) {
|
||||
wrapper.eq(CsDataSet::getName,"Ds$Pqd$Rt$HarmI$01");
|
||||
} else if (target == 2) {
|
||||
wrapper.eq(CsDataSet::getName,"Ds$Pqd$Rt$InHarmV$01");
|
||||
}
|
||||
return this.baseMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CsDataSet getDataSetByIdx(String modelId, Integer idx) {
|
||||
return this.lambdaQuery()
|
||||
.eq(CsDataSet::getPid,modelId)
|
||||
.in(CsDataSet::getIdx, idx)
|
||||
.one();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -608,9 +608,12 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
askDeviceDataFeignClient.rebootDevice(nDid);
|
||||
Thread.sleep(3000);
|
||||
String key = AppRedisKey.CONTROL + nDid;
|
||||
String value = redisUtil.getObjectByKey(key).toString();
|
||||
if (Objects.equals(value,"success")) {
|
||||
result = true;
|
||||
Object object = redisUtil.getObjectByKey(key);
|
||||
if (Objects.nonNull(object)) {
|
||||
String value = object.toString();
|
||||
if (Objects.equals(value,"success")) {
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
package com.njcn.csharmonic.controller;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csharmonic.service.RealDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
@@ -21,9 +32,37 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@AllArgsConstructor
|
||||
public class RealDataController extends BaseController {
|
||||
|
||||
private final RealDataService realDataService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getBaseRealData")
|
||||
@ApiOperation("获取基础实时数据")
|
||||
@ApiImplicitParam(name = "lineId", value = "监测点id")
|
||||
public HttpResult<Boolean> getRealData(@RequestParam("lineId") String lineId) {
|
||||
String methodDescribe = getMethodDescribe("getRealData");
|
||||
boolean result = realDataService.getBaseRealData(lineId);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getHarmRealData")
|
||||
@ApiOperation("获取谐波实时数据")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "lineId", value = "监测点id"),
|
||||
@ApiImplicitParam(name = "target", value = "指标名称 0:谐波电压含有率 1:谐波电流幅值 2:间谐波电压含有率"),
|
||||
})
|
||||
public HttpResult<Boolean> getHarmRealData(@RequestParam("lineId") String lineId, @RequestParam("target") Integer target) {
|
||||
String methodDescribe = getMethodDescribe("getHarmRealData");
|
||||
boolean result = realDataService.getHarmRealData(lineId,target);
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.csharmonic.service;
|
||||
|
||||
/**
|
||||
* @author xuyang
|
||||
*/
|
||||
public interface RealDataService {
|
||||
|
||||
/**
|
||||
* 获取装置基础实时数据
|
||||
* @param lineId
|
||||
*/
|
||||
boolean getBaseRealData(String lineId);
|
||||
|
||||
/**
|
||||
* 获取装置谐波实时数据
|
||||
* @param lineId
|
||||
*/
|
||||
boolean getHarmRealData(String lineId,Integer target);
|
||||
|
||||
}
|
||||
@@ -15,7 +15,9 @@ import com.njcn.access.utils.MqttUtil;
|
||||
import com.njcn.common.config.GeneralInfo;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.api.DeviceFtpFeignClient;
|
||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||
import com.njcn.csdevice.api.PortableOffLogFeignClient;
|
||||
import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO;
|
||||
import com.njcn.csharmonic.enums.CsHarmonicResponseEnum;
|
||||
import com.njcn.csharmonic.offline.constant.OfflineConstant;
|
||||
import com.njcn.csharmonic.offline.log.Log;
|
||||
@@ -74,6 +76,7 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
private final GeneralInfo generalInfo;
|
||||
private final PortableOffLogFeignClient portableOffLogFeignClient;
|
||||
private final EquipmentFeignClient equipmentFeignClient;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -263,6 +266,8 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(map)) {
|
||||
System.out.println("map==:" + map);
|
||||
//获取装置信息
|
||||
CsEquipmentDeliveryVO vo = equipmentFeignClient.queryEquipmentByndid(param.getNDid()).getData();
|
||||
map.forEach((k,v)->{
|
||||
String proName = k.replace("/bd0/cmn/",OssPath.DEV_MAKE_UP_PATH + param.getNDid() + "/");
|
||||
String key = AppRedisKey.PROJECT_INFO + param.getNDid();
|
||||
@@ -291,7 +296,7 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
|
||||
}
|
||||
});
|
||||
//下载完成,调用解析接口
|
||||
portableOffLogFeignClient.dataOnlineRecruitment(param.getNDid(),param.getLineId(),proName);
|
||||
portableOffLogFeignClient.dataOnlineRecruitment(vo.getId(),param.getLineId(),proName);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.njcn.csharmonic.service.impl;
|
||||
|
||||
import com.njcn.access.api.AskDeviceDataFeignClient;
|
||||
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||
import com.njcn.csdevice.api.DataSetFeignClient;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csharmonic.service.RealDataService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author xuyang
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RealDataServiceImpl implements RealDataService {
|
||||
|
||||
private final CsLineFeignClient csLineFeignClient;
|
||||
private final DataSetFeignClient dataSetFeignClient;
|
||||
private final AskDeviceDataFeignClient askDeviceDataFeignClient;
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public boolean getBaseRealData(String lineId) {
|
||||
boolean result = true;
|
||||
try {
|
||||
String nDid = lineId.substring(0, lineId.length() - 1);
|
||||
Integer clDid = Integer.parseInt(lineId.substring(lineId.length() - 1));
|
||||
//获取装置所用模板
|
||||
CsLinePO po = csLineFeignClient.getById(lineId).getData();
|
||||
String modelId = po.getDataModelId();
|
||||
CsDataSet csDataSet = dataSetFeignClient.getBaseDataSet(modelId,clDid).getData();
|
||||
askDeviceDataFeignClient.askRealData(nDid,csDataSet.getIdx(),clDid);
|
||||
//等待装置响应,获取询问结果
|
||||
Thread.sleep(2000);
|
||||
Object object = redisUtil.getObjectByKey("devResponse");
|
||||
if (Objects.isNull(object)) {
|
||||
result = false;
|
||||
} else {
|
||||
int code = (Integer) object;
|
||||
if (code != 200) {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getHarmRealData(String lineId, Integer target) {
|
||||
boolean result = true;
|
||||
try {
|
||||
String nDid = lineId.substring(0, lineId.length() - 1);
|
||||
Integer clDid = Integer.parseInt(lineId.substring(lineId.length() - 1));
|
||||
//获取装置所用模板
|
||||
CsLinePO po = csLineFeignClient.getById(lineId).getData();
|
||||
String modelId = po.getDataModelId();
|
||||
//根据指标来获取不同的数据集
|
||||
CsDataSet csDataSet = dataSetFeignClient.getHarmonicDataSet(modelId,clDid,target).getData();
|
||||
askDeviceDataFeignClient.askRealData(nDid,csDataSet.getIdx(),clDid);
|
||||
//等待装置响应,获取询问结果
|
||||
Thread.sleep(2000);
|
||||
Object object = redisUtil.getObjectByKey("devResponse");
|
||||
if (Objects.isNull(object)) {
|
||||
result = false;
|
||||
} else {
|
||||
int code = (Integer) object;
|
||||
if (code != 200) {
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user