From bd0a9d6dac745f103aeb12589ac5c32f305d40cd Mon Sep 17 00:00:00 2001 From: Lemon Date: Thu, 19 Oct 2023 11:21:02 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E6=B1=9F=E8=8B=8F=E7=9C=81?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thirdparty/nanrui/NRController.java | 132 ++++++++++++++++-- .../test/java/SpringBootTestController.java | 2 +- .../jsowell/pile/dto/nanrui/GetTokenDTO.java | 19 +++ .../impl/PileStationInfoServiceImpl.java | 1 + .../orderlogic/DelayMerchantOrderLogic.java | 2 - .../mapper/pile/OrderBasicInfoMapper.xml | 1 + .../nanrui/domain/NREquipmentInfo.java | 17 +++ .../nanrui/domain/NRStationInfo.java | 48 +++++++ .../nanrui/service/impl/NRServiceImpl.java | 42 +++++- 9 files changed, 244 insertions(+), 20 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/nanrui/GetTokenDTO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/thirdparty/nanrui/NRController.java b/jsowell-admin/src/main/java/com/jsowell/thirdparty/nanrui/NRController.java index 97b2f7d79..3264705c9 100644 --- a/jsowell-admin/src/main/java/com/jsowell/thirdparty/nanrui/NRController.java +++ b/jsowell-admin/src/main/java/com/jsowell/thirdparty/nanrui/NRController.java @@ -4,27 +4,28 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; +import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; +import com.jsowell.common.enums.ykc.ReturnCodeEnum; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.JWTUtils; -import com.jsowell.pile.domain.nanrui.NROrderInfo; -import com.jsowell.pile.dto.QueryStartChargeDTO; +import com.jsowell.common.util.StringUtils; +import com.jsowell.pile.dto.PushStationInfoDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.pile.dto.nanrui.GetTokenDTO; import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO; +import com.jsowell.pile.dto.nanrui.PushAlarmInfoDTO; import com.jsowell.thirdparty.lianlian.common.CommonResult; import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO; import com.jsowell.thirdparty.lianlian.util.Cryptos; import com.jsowell.thirdparty.lianlian.util.Encodes; import com.jsowell.thirdparty.nanrui.service.NRService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; -import java.util.List; import java.util.Map; /** @@ -35,7 +36,7 @@ import java.util.Map; */ @Anonymous @RestController -@RequestMapping("/nanrui") +@RequestMapping("/jiangsu") public class NRController extends BaseController { @Autowired @@ -69,7 +70,7 @@ public class NRController extends BaseController { // 转换成相应对象 QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class); Map map = nrService.query_stations_info(queryStationInfoDTO); - return CommonResult.success(0, "请求停止充电成功!", map.get("Data"), map.get("Sig")); + return CommonResult.success(0, "查询充电站信息成功!", map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.error("南瑞平台查询充电站信息 error", e); } @@ -148,7 +149,7 @@ public class NRController extends BaseController { } catch (Exception e) { logger.error("南瑞平台查询充电电量信息 error", e); } - return CommonResult.failed("查询设备接口状态异常"); + return CommonResult.failed("查询充电电量信息异常"); } /** @@ -167,4 +168,113 @@ public class NRController extends BaseController { return CommonResult.failed("获取token发生异常"); } } -} + + + @RequestMapping("/v1/getToken") + public String getToken(@RequestBody GetTokenDTO dto) { + String token = nrService.getToken(dto.getUrlAddress(), dto.getOperatorId(), dto.getOperatorSecret(), + dto.getDataSecretIv(), dto.getSignSecret(), dto.getDataSecret()); + return token; + } + + + /** + * 推送充电站信息 + * @param dto + * @return + */ + @PostMapping("/v1/pushStationInfo") + public RestApiResponse pushStationInfo(@RequestBody PushStationInfoDTO dto) { + logger.info("推送南瑞平台充电站信息 params:{}", JSONObject.toJSONString(dto)); + RestApiResponse response = null; + try { + if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) { + throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); + } + String s = nrService.pushStationInfo(dto); + response = new RestApiResponse<>(s); + }catch (BusinessException e) { + logger.error("推送南瑞平台充电站信息 error",e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + }catch (Exception e) { + logger.error("推送南瑞平台充电站信息 error", e); + response = new RestApiResponse<>(e); + } + logger.info("推送南瑞平台充电站信息 result:{}", response); + return response; + } + + + /** + * 推送告警信息 + * @param dto + * @return + */ + @PostMapping("/v1/pushAlarmInfo") + public RestApiResponse pushAlarmInfo(@RequestBody PushAlarmInfoDTO dto) { + logger.info("推送南瑞平台告警信息 params:{}", JSONObject.toJSONString(dto)); + RestApiResponse response = null; + try { + if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) { + throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); + } + String s = nrService.pushAlarmInfo(dto); + response = new RestApiResponse<>(s); + }catch (BusinessException e) { + logger.error("推送南瑞平台告警信息 error",e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + }catch (Exception e) { + logger.error("推送南瑞平台告警信息 error", e); + response = new RestApiResponse<>(e); + } + logger.info("推送南瑞平台告警信息 result:{}", response); + return response; + } + + /** + * 设备状态变化推送 + * @param data + * @return + */ + @PostMapping("/v1/pushPileStatus") + public RestApiResponse pushPileStatus(@RequestBody RealTimeMonitorData data) { + logger.info("推送南瑞平台设备状态变化推送 params:{}", JSONObject.toJSONString(data)); + RestApiResponse response = null; + try { + String s = nrService.pushPileStatus(data); + response = new RestApiResponse<>(s); + }catch (BusinessException e) { + logger.error("推送南瑞平台设备状态变化推送 error",e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + }catch (Exception e) { + logger.error("推送南瑞平台设备状态变化推送 error", e); + response = new RestApiResponse<>(e); + } + logger.info("推送南瑞平台设备状态变化推送 result:{}", response); + return response; + } + + + /** + * 充电电量信息推送 + * @param orderCode + * @return + */ + @GetMapping("/v1/pushOrderInfo/{orderCode}") + public RestApiResponse pushOrderInfo(@PathVariable("orderCode") String orderCode) { + logger.info("南瑞平台充电电量信息推送 params:{}", orderCode); + RestApiResponse response = null; + try { + String s = nrService.pushOrderInfo(orderCode); + response = new RestApiResponse<>(s); + }catch (BusinessException e) { + logger.error("南瑞平台充电电量信息推送 error",e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + }catch (Exception e) { + logger.error("南瑞平台充电电量信息推送 error", e); + response = new RestApiResponse<>(e); + } + logger.info("南瑞平台充电电量信息推送 result:{}", response); + return response; + } +} \ No newline at end of file diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 254fd523a..0bcf3e763 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -2336,7 +2336,7 @@ public class SpringBootTestController { String str = "JS160829"; System.out.println(Md5Utils.hash(str).toUpperCase(Locale.ROOT)); */ - String s = RandomStringUtils.randomAlphanumeric(43).toUpperCase(Locale.ROOT); + String s = RandomStringUtils.randomAlphanumeric(16).toUpperCase(Locale.ROOT); System.out.println(s); Date startTimeDate = sdf.parse("2022-11-26 10:44:11"); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/nanrui/GetTokenDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/nanrui/GetTokenDTO.java new file mode 100644 index 000000000..5602187a8 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/nanrui/GetTokenDTO.java @@ -0,0 +1,19 @@ +package com.jsowell.pile.dto.nanrui; + +import lombok.Data; + +/** + * TODO + * + * @author Lemon + * @Date 2023/10/16 14:14 + */ +@Data +public class GetTokenDTO { + private String urlAddress; + private String operatorId; + private String operatorSecret; + private String dataSecretIv; + private String signSecret; + private String dataSecret; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index 182d0afde..089c4167a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -162,6 +162,7 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { // vo.setOrganizationCode(pileStationInfo.getor); vo.setPublicFlag(pileStationInfo.getPublicFlag()); vo.setOpenFlag(pileStationInfo.getOpenFlag()); + vo.setOpenAllDay(pileStationInfo.getOpenAllDay()); vo.setDeptId(pileStationInfo.getDeptId()); if (StringUtils.isNotBlank(pileStationInfo.getPictures())) { vo.setPictures(pileStationInfo.getPictures()); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java index 1de8dcac9..ea6d09ecb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java @@ -379,8 +379,6 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { // 从redis中取出实时记录保存到表中 realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode(), orderBasicInfo.getOrderCode()); - // TODO 如果该站点的停车场优惠券信息配置不为空,则需绑定一张优惠券 - logger.info("结算订单end:{} OrderTransactionDTO:{}", orderBasicInfo.getOrderCode(), JSONObject.toJSONString(dto)); } diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 92cb2c70c..338f62b9b 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -1170,6 +1170,7 @@