修改提交

This commit is contained in:
huangzj
2023-08-30 15:54:00 +08:00
parent 997193fb5f
commit 20c563a342
7 changed files with 152 additions and 2 deletions

View File

@@ -0,0 +1,51 @@
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.pojo.vo.TemperatureVO;
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
import com.njcn.csharmonic.service.TemperatureService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
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;
import java.util.List;
/**
* Description:
* Date: 2023/8/29 20:03【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/temperature")
@Api(tags = "温度数据展示")
@AllArgsConstructor
public class TemperatureController extends BaseController {
private final TemperatureService temperatureService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryTemperature")
@ApiOperation("查询谐波畸变率实时数据")
@ApiImplicitParams(
@ApiImplicitParam(name = "devId", value = "设备id", required = true))
public HttpResult<List<StatisticalDataDTO>> queryTemperature(@RequestParam("devId") String devId) {
String methodDescribe = getMethodDescribe("queryTemperature");
List<StatisticalDataDTO> list = temperatureService.queryTemperature(devId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -11,6 +11,8 @@ import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
import com.njcn.csharmonic.service.ILineTargetService;
import com.njcn.csharmonic.service.StableDataService;
import com.njcn.csharmonic.service.TemperatureService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.system.api.CsStatisticalSetFeignClient;
import com.njcn.system.pojo.po.EleEpdPqd;
import lombok.AllArgsConstructor;
@@ -43,6 +45,8 @@ public class MqttMessageHandler {
private final ILineTargetService lineTargetService;
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
private final StableDataService stableDataService;
private final TemperatureService temperatureService;
private final DecimalFormat df = new DecimalFormat("#0.000");
/**
* 实时数据应答
@@ -54,6 +58,13 @@ public class MqttMessageHandler {
publisher.send("/zl/rtData/"+pageId,gson.toJson(list),1,false);
}
@MqttSubscribe(value = "/zl/askTemperData/{devId}",qos = 1)
public void responseTemperData(String topic, @NamedValue("devId") String devId, MqttMessage message, @Payload String payload) {
List<StatisticalDataDTO> statisticalDataDTOS = temperatureService.queryTemperature(devId);
Gson gson = new Gson();
publisher.send("/zl/TemperData/"+devId,gson.toJson(statisticalDataDTOS),1,false);
}
/**
* 实时数据应答
*/

View File

@@ -0,0 +1,17 @@
package com.njcn.csharmonic.service;
import com.njcn.csharmonic.pojo.vo.TemperatureVO;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import java.util.List;
/**
* Description:
* Date: 2023/8/30 8:46【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface TemperatureService {
List<StatisticalDataDTO> queryTemperature(String devId);
}

View File

@@ -0,0 +1,48 @@
package com.njcn.csharmonic.service.impl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csharmonic.pojo.vo.TemperatureVO;
import com.njcn.csharmonic.service.TemperatureService;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.influx.service.CommonService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* Description:
* Date: 2023/8/30 9:05【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class TemperatureServiceImpl implements TemperatureService {
private final CommonService commonService;
private final CsLineFeignClient csLineFeignClient;
private final DicDataFeignClient dicDataFeignClient;
@Override
public List<StatisticalDataDTO> queryTemperature(String devId) {
List<CsLinePO> csLinePOList = csLineFeignClient.queryLineByDevId(devId).getData();
Optional.ofNullable(csLinePOList).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.LINE_DATA_ERROR));
DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.OUTPUT_SIDE.getCode()).getData();
List<CsLinePO> collect = csLinePOList.stream().filter(temp -> Objects.equals(temp.getPosition(), data.getId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(collect)){
throw new BusinessException("不存在输出侧监测点,无温度信息");
}
List<StatisticalDataDTO> topTemperature = commonService.getTopTemperature(collect.get(0).getLineId(), "apf_data", "Apf_Temp_Env");
return topTemperature;
}
}