diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java similarity index 82% rename from pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendParam.java rename to pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java index 84e084d4b..0d74e0eb6 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/SendQueryParam.java @@ -17,20 +17,20 @@ import javax.validation.constraints.Pattern; * @version V1.0.0 */ @Data -public class SendParam { +public class SendQueryParam { @ApiModelProperty(name = "deptIndex", value = "部门索引", required = true) @NotBlank(message = "部门索引不可为空") private String deptIndex; @ApiModelProperty("开始时间") - @Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误") + @Pattern(regexp = PatternRegex.TIME_SECOND_FORMAT, message = "时间格式错误") private String searchBeginTime; @ApiModelProperty("结束时间") - @Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误") + @Pattern(regexp = PatternRegex.TIME_SECOND_FORMAT, message = "时间格式错误") private String searchEndTime; @Data - public static class SendPageParam extends SendParam{ + public static class SendPageParam extends SendQueryParam { @NotNull(message="当前页不能为空!") @Min(value = 1, message = "当前页不能为0") @ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/ConverterdetailstatisticsController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/ConverterdetailstatisticsController.java index ae519a471..11a9fae56 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/ConverterdetailstatisticsController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/ConverterdetailstatisticsController.java @@ -7,7 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.ConverterdetailstatisticsPO; import com.njcn.harmonic.service.send.ConverterdetailstatisticsPOService; import com.njcn.web.controller.BaseController; @@ -22,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * Description:河北国网上送接口 * * 2.4.1.17接收电能质量主配网监测点统计数据接口 @@ -33,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/Converterdetail") -@Api(tags = "电能质量主配网监测点统计数据") +@Api(tags = "换流站指标统计明细数据") @RequiredArgsConstructor public class ConverterdetailstatisticsController extends BaseController { @@ -42,11 +44,21 @@ public class ConverterdetailstatisticsController extends BaseController { @PostMapping("/queryPage") @ApiOperation("数据查询") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> queryPage(@Validated @RequestBody SendParam.SendPageParam param) { + public HttpResult> queryPage(@Validated @RequestBody SendQueryParam.SendPageParam param) { String methodDescribe = getMethodDescribe("queryPage"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = converterdetailstatisticsPOService.queryPage(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @PostMapping("send") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("上报") + @ApiImplicitParam(name = "ids",value = "请求体",required = true) + public HttpResult send(@RequestBody List ids){ + String methodDescribe = getMethodDescribe("send"); + String s = converterdetailstatisticsPOService.send(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe); + } + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/PqTypicalSourceCreateController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/PqTypicalSourceCreateController.java index b873a0df7..fba179760 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/PqTypicalSourceCreateController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/PqTypicalSourceCreateController.java @@ -7,7 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO; import com.njcn.harmonic.service.send.PqTypicalSourceCreatePOService; import com.njcn.web.controller.BaseController; @@ -22,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * Description:2.4.1.9 接收电能质量典型源荷指标统计数据接口 * Date: 2023/12/13 14:52【需求编号】 @@ -33,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/pqTypicalSourceCreate") -@Api(tags = "能质量典型源荷指标统计数据") +@Api(tags = "典型源荷指标统计数据") @RequiredArgsConstructor public class PqTypicalSourceCreateController extends BaseController { private final PqTypicalSourceCreatePOService pqTypicalSourceCreatePOService; @@ -42,10 +44,20 @@ public class PqTypicalSourceCreateController extends BaseController { @PostMapping("/queryPage") @ApiOperation("数据查询") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> queryPage(@Validated @RequestBody SendParam.SendPageParam param) { + public HttpResult> queryPage(@Validated @RequestBody SendQueryParam.SendPageParam param) { String methodDescribe = getMethodDescribe("queryPage"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = pqTypicalSourceCreatePOService.queryPage(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + @PostMapping("send") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("上报") + @ApiImplicitParam(name = "ids",value = "请求体",required = true) + public HttpResult send(@RequestBody List ids){ + String methodDescribe = getMethodDescribe("send"); + String s = pqTypicalSourceCreatePOService.send(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe); + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/SubstationQualityStatisticsController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/SubstationQualityStatisticsController.java index 70f4fad4e..10b0126d7 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/SubstationQualityStatisticsController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/send/SubstationQualityStatisticsController.java @@ -7,7 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.SubstationQualityStatisticsPO; import com.njcn.harmonic.service.send.SubstationQualityStatisticsPOService; import com.njcn.web.controller.BaseController; @@ -22,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *需求: * * FWJK-PMS3.0-TC0013-电能质量管理两级贯通接口V1.10 @@ -35,7 +37,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/substationQuality") -@Api(tags = "接收电能质量换流站指标统计明细数据") +@Api(tags = "换流站指标统计明细数据") @RequiredArgsConstructor public class SubstationQualityStatisticsController extends BaseController { @@ -46,12 +48,21 @@ public class SubstationQualityStatisticsController extends BaseController { @PostMapping("/queryPage") @ApiOperation("数据查询") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> queryPage(@Validated @RequestBody SendParam.SendPageParam param) { + public HttpResult> queryPage(@Validated @RequestBody SendQueryParam.SendPageParam param) { String methodDescribe = getMethodDescribe("queryPage"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = substationQualityStatisticsPOService.queryPage(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @PostMapping("send") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("上报") + @ApiImplicitParam(name = "ids",value = "请求体",required = true) + public HttpResult send(@RequestBody List ids){ + String methodDescribe = getMethodDescribe("send"); + String s = substationQualityStatisticsPOService.send(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, s, methodDescribe); + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/ConverterdetailstatisticsPOService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/ConverterdetailstatisticsPOService.java index c2dc8f4c0..2eec20301 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/ConverterdetailstatisticsPOService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/ConverterdetailstatisticsPOService.java @@ -2,9 +2,11 @@ package com.njcn.harmonic.service.send; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.ConverterdetailstatisticsPO; +import java.util.List; + /** * * Description: @@ -16,5 +18,7 @@ import com.njcn.harmonic.pojo.po.send.ConverterdetailstatisticsPO; public interface ConverterdetailstatisticsPOService extends IService{ - Page queryPage(SendParam.SendPageParam param); + Page queryPage(SendQueryParam.SendPageParam param); + + String send(List ids); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/PqTypicalSourceCreatePOService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/PqTypicalSourceCreatePOService.java index 471561408..1859e3220 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/PqTypicalSourceCreatePOService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/PqTypicalSourceCreatePOService.java @@ -2,9 +2,11 @@ package com.njcn.harmonic.service.send; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO; +import java.util.List; + /** * * Description: @@ -16,5 +18,7 @@ import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO; public interface PqTypicalSourceCreatePOService extends IService{ - Page queryPage(SendParam.SendPageParam param); + Page queryPage(SendQueryParam.SendPageParam param); + + String send(List ids); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/SubstationQualityStatisticsPOService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/SubstationQualityStatisticsPOService.java index 1c7d25035..0aa0ae409 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/SubstationQualityStatisticsPOService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/SubstationQualityStatisticsPOService.java @@ -2,9 +2,11 @@ package com.njcn.harmonic.service.send; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.SubstationQualityStatisticsPO; +import java.util.List; + /** * * Description: @@ -16,5 +18,7 @@ import com.njcn.harmonic.pojo.po.send.SubstationQualityStatisticsPO; public interface SubstationQualityStatisticsPOService extends IService{ - Page queryPage(SendParam.SendPageParam param); + Page queryPage(SendQueryParam.SendPageParam param); + + String send(List ids); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/ConverterdetailstatisticsPOServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/ConverterdetailstatisticsPOServiceImpl.java index 15ab8c324..1890d4fbc 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/ConverterdetailstatisticsPOServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/ConverterdetailstatisticsPOServiceImpl.java @@ -1,17 +1,28 @@ package com.njcn.harmonic.service.send.impl; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.send.ConverterdetailstatisticsPOMapper; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.dto.ConverterDetailStatisticsDTO; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.ConverterdetailstatisticsPO; import com.njcn.harmonic.service.send.ConverterdetailstatisticsPOService; import com.njcn.user.api.DeptFeignClient; +import com.njcn.web.enums.GWSendEnum; +import com.njcn.web.pojo.param.SendParam; +import com.njcn.web.utils.GwSendUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @@ -23,11 +34,12 @@ import java.util.List; */ @Service @RequiredArgsConstructor +@Slf4j public class ConverterdetailstatisticsPOServiceImpl extends ServiceImpl implements ConverterdetailstatisticsPOService { private final DeptFeignClient deptFeignClient; @Override - public Page queryPage(SendParam.SendPageParam param) { + public Page queryPage(SendQueryParam.SendPageParam param) { Page page = new Page<> (param.getCurrentPage ( ), param.getPageSize ( )); List deptIds = deptFeignClient.getDepSonSelfCodetByCode(param.getDeptIndex()).getData(); @@ -38,4 +50,56 @@ public class ConverterdetailstatisticsPOServiceImpl extends ServiceImpl ids) { + List list = this.lambdaQuery().eq(ConverterdetailstatisticsPO::getId, ids).list(); + + if (list.size() > 100) { + throw new BusinessException("一次最多上送100条数据"); + } + List converterDetailStatisticsDTOS = BeanUtil.copyToList(list, ConverterDetailStatisticsDTO.class); + SendParam param = new SendParam(); + param.setStats(converterDetailStatisticsDTOS); + String s = JSONObject.toJSONStringWithDateFormat(param, JSON.DEFFAULT_DATE_FORMAT); + log.info(Thread.currentThread().getName() + "获取返回体 换流站指标统计明细数据接口数据:" + s + "开始----!"); + Map send = GwSendUtil.send(param, GWSendEnum.DETAIL_CREATE); + log.info(Thread.currentThread().getName() + "获取返回体换流站指标统计明细数据接口响应结果:" + send + "结束----!"); + + List trIds = converterDetailStatisticsDTOS.stream().map(ConverterDetailStatisticsDTO::getId).distinct().collect(Collectors.toList()); + return returnInformation(1, trIds, send); + } + + /** + * 国网上送返回信息 + * + * @param num + * @param ids + * @param send + * @return + */ + private String returnInformation(Integer num, List ids, Map send) { + if (send.containsKey("succeed")) { + String succeed = send.get("succeed"); + if (succeed.indexOf("\\\"") != -1) { + succeed = succeed.replace("\\\"", "\""); + } + Map mapData = JSON.parseObject(succeed, Map.class); + String status = mapData.get("status").toString(); + if ("000000".equals(status)) { + //修改信息状态 + String result = mapData.get("result").toString(); + Map mapCount = JSON.parseObject(result, Map.class); + String count = mapCount.get("count").toString(); + return "操作成功:成功数据" + count + "条"; + } else { + String errors = mapData.get("errors").toString(); + throw new BusinessException("操作失败:" + status + "_" + errors); + } + } else { +// updateIsUploadHead(num, ids); + throw new BusinessException("当前时间段国网上送请求过多,请稍后再试"); +// return "当前时间段国网上送请求过多,请稍后再试"; + } + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java index 730a9465c..13b7bbffa 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/PqTypicalSourceCreatePOServiceImpl.java @@ -1,17 +1,28 @@ package com.njcn.harmonic.service.send.impl; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.send.PqTypicalSourceCreatePOMapper; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.dto.PqTypicalSourceCreateDTO; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO; import com.njcn.harmonic.service.send.PqTypicalSourceCreatePOService; import com.njcn.user.api.DeptFeignClient; +import com.njcn.web.enums.GWSendEnum; +import com.njcn.web.pojo.param.SendParam; +import com.njcn.web.utils.GwSendUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @@ -23,12 +34,13 @@ import java.util.List; */ @Service @RequiredArgsConstructor +@Slf4j public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl implements PqTypicalSourceCreatePOService { private final DeptFeignClient deptFeignClient; @Override - public Page queryPage(SendParam.SendPageParam param) { + public Page queryPage(SendQueryParam.SendPageParam param) { Page page = new Page<> (param.getCurrentPage ( ), param.getPageSize ( )); List deptIds = deptFeignClient.getDepSonSelfCodetByCode(param.getDeptIndex()).getData(); @@ -39,4 +51,56 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl ids) { + List list = this.lambdaQuery().eq(PqTypicalSourceCreatePO::getId, ids).list(); + + if (list.size() > 100) { + throw new BusinessException("一次最多上送100条数据"); + } + List pqTypicalSourceCreateDTOList = BeanUtil.copyToList(list, PqTypicalSourceCreateDTO.class); + SendParam param = new SendParam(); + param.setStats(pqTypicalSourceCreateDTOList); + String s = JSONObject.toJSONStringWithDateFormat(param, JSON.DEFFAULT_DATE_FORMAT); + log.info(Thread.currentThread().getName() + "获取返回体 换流站指标统计明细数据接口数据:" + s + "开始----!"); + Map send = GwSendUtil.send(param, GWSendEnum.TYPICAL_SOURCE); + log.info(Thread.currentThread().getName() + "获取返回体换流站指标统计明细数据接口响应结果:" + send + "结束----!"); + + List trIds = pqTypicalSourceCreateDTOList.stream().map(PqTypicalSourceCreateDTO::getId).distinct().collect(Collectors.toList()); + return returnInformation(1, trIds, send); + } + + /** + * 国网上送返回信息 + * + * @param num + * @param ids + * @param send + * @return + */ + private String returnInformation(Integer num, List ids, Map send) { + if (send.containsKey("succeed")) { + String succeed = send.get("succeed"); + if (succeed.indexOf("\\\"") != -1) { + succeed = succeed.replace("\\\"", "\""); + } + Map mapData = JSON.parseObject(succeed, Map.class); + String status = mapData.get("status").toString(); + if ("000000".equals(status)) { + //修改信息状态 + String result = mapData.get("result").toString(); + Map mapCount = JSON.parseObject(result, Map.class); + String count = mapCount.get("count").toString(); + return "操作成功:成功数据" + count + "条"; + } else { + String errors = mapData.get("errors").toString(); + throw new BusinessException("操作失败:" + status + "_" + errors); + } + } else { +// updateIsUploadHead(num, ids); + throw new BusinessException("当前时间段国网上送请求过多,请稍后再试"); +// return "当前时间段国网上送请求过多,请稍后再试"; + } + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/SubstationQualityStatisticsPOServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/SubstationQualityStatisticsPOServiceImpl.java index 9a5f4f32e..8999cb6d9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/SubstationQualityStatisticsPOServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/send/impl/SubstationQualityStatisticsPOServiceImpl.java @@ -1,17 +1,28 @@ package com.njcn.harmonic.service.send.impl; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.send.SubstationQualityStatisticsPOMapper; -import com.njcn.harmonic.pojo.param.SendParam; +import com.njcn.harmonic.pojo.dto.SubstationQualityStatisticsDTO; +import com.njcn.harmonic.pojo.param.SendQueryParam; import com.njcn.harmonic.pojo.po.send.SubstationQualityStatisticsPO; import com.njcn.harmonic.service.send.SubstationQualityStatisticsPOService; import com.njcn.user.api.DeptFeignClient; +import com.njcn.web.enums.GWSendEnum; +import com.njcn.web.pojo.param.SendParam; +import com.njcn.web.utils.GwSendUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @@ -23,6 +34,7 @@ import java.util.List; */ @Service @RequiredArgsConstructor +@Slf4j public class SubstationQualityStatisticsPOServiceImpl extends ServiceImpl implements SubstationQualityStatisticsPOService { @@ -30,7 +42,7 @@ public class SubstationQualityStatisticsPOServiceImpl extends ServiceImpl queryPage(SendParam.SendPageParam param) { + public Page queryPage(SendQueryParam.SendPageParam param) { Page page = new Page<> (param.getCurrentPage ( ), param.getPageSize ( )); List deptIds = deptFeignClient.getDepSonSelfCodetByCode(param.getDeptIndex()).getData(); @@ -41,4 +53,57 @@ public class SubstationQualityStatisticsPOServiceImpl extends ServiceImpl ids) { + + List list = this.lambdaQuery().eq(SubstationQualityStatisticsPO::getId, ids).list(); + + if (list.size() > 100) { + throw new BusinessException("一次最多上送100条数据"); + } + List substationQualityStatisticsDTOList = BeanUtil.copyToList(list, SubstationQualityStatisticsDTO.class); + SendParam param = new SendParam(); + param.setStats(substationQualityStatisticsDTOList); + String s = JSONObject.toJSONStringWithDateFormat(param, JSON.DEFFAULT_DATE_FORMAT); + log.info(Thread.currentThread().getName() + "获取返回体 换流站指标统计明细数据接口数据:" + s + "开始----!"); + Map send = GwSendUtil.send(param, GWSendEnum.SUBSTATION_MONITOR); + log.info(Thread.currentThread().getName() + "获取返回体换流站指标统计明细数据接口响应结果:" + send + "结束----!"); + + List trIds = substationQualityStatisticsDTOList.stream().map(SubstationQualityStatisticsDTO::getId).distinct().collect(Collectors.toList()); + return returnInformation(1, trIds, send); + } + + /** + * 国网上送返回信息 + * + * @param num + * @param ids + * @param send + * @return + */ + private String returnInformation(Integer num, List ids, Map send) { + if (send.containsKey("succeed")) { + String succeed = send.get("succeed"); + if (succeed.indexOf("\\\"") != -1) { + succeed = succeed.replace("\\\"", "\""); + } + Map mapData = JSON.parseObject(succeed, Map.class); + String status = mapData.get("status").toString(); + if ("000000".equals(status)) { + //修改信息状态 + String result = mapData.get("result").toString(); + Map mapCount = JSON.parseObject(result, Map.class); + String count = mapCount.get("count").toString(); + return "操作成功:成功数据" + count + "条"; + } else { + String errors = mapData.get("errors").toString(); + throw new BusinessException("操作失败:" + status + "_" + errors); + } + } else { +// updateIsUploadHead(num, ids); + throw new BusinessException("当前时间段国网上送请求过多,请稍后再试"); +// return "当前时间段国网上送请求过多,请稍后再试"; + } + } }