diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/TemperatureVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/TemperatureVO.java new file mode 100644 index 0000000..e51de04 --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/TemperatureVO.java @@ -0,0 +1,23 @@ +package com.njcn.csharmonic.pojo.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * Description: + * Date: 2023/5/18 9:14【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class TemperatureVO { + + private String lineId; + private String cl_did; + private Double temperature; + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/TemperatureController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/TemperatureController.java new file mode 100644 index 0000000..944ce58 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/TemperatureController.java @@ -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> queryTemperature(@RequestParam("devId") String devId) { + String methodDescribe = getMethodDescribe("queryTemperature"); + List list = temperatureService.queryTemperature(devId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java index 60d5f75..7ae7939 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java @@ -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 statisticalDataDTOS = temperatureService.queryTemperature(devId); + Gson gson = new Gson(); + publisher.send("/zl/TemperData/"+devId,gson.toJson(statisticalDataDTOS),1,false); + } + /** * 实时数据应答 */ diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/TemperatureService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/TemperatureService.java new file mode 100644 index 0000000..c6cb4e1 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/TemperatureService.java @@ -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 queryTemperature(String devId); +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/TemperatureServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/TemperatureServiceImpl.java new file mode 100644 index 0000000..dbbcaf6 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/TemperatureServiceImpl.java @@ -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 queryTemperature(String devId) { + List 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 collect = csLinePOList.stream().filter(temp -> Objects.equals(temp.getPosition(), data.getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(collect)){ + throw new BusinessException("不存在输出侧监测点,无温度信息"); + } + List topTemperature = commonService.getTopTemperature(collect.get(0).getLineId(), "apf_data", "Apf_Temp_Env"); + return topTemperature; + } +} diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsElementServiceImpl.java b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsElementServiceImpl.java index 4c3d66b..248be8b 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsElementServiceImpl.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsElementServiceImpl.java @@ -45,7 +45,7 @@ public class CsElementServiceImpl extends ServiceImpl list = csFilePathService.list (queryWrapper); List collect = list.stream ( ).map (temp->{ - return fileStorageUtil.getFileUrl (temp.getFilePath ()); + return temp.getFilePath (); }).collect (Collectors.toList ( )); csFeedbackDetailVO.setImageUrls (collect); QueryWrapper csFeedbackChatPOQueryWrapper = new QueryWrapper();