From 832304a52dba9375e791cb17fe9a69f2b04e84e9 Mon Sep 17 00:00:00 2001 From: Lemon Date: Tue, 25 Feb 2025 10:48:15 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E9=9D=92=E6=B5=B7=E7=9C=81?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0Controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/thirdparty/QingHaiController.java | 197 ++++++++---------- 1 file changed, 89 insertions(+), 108 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/thirdparty/QingHaiController.java b/jsowell-admin/src/main/java/com/jsowell/api/thirdparty/QingHaiController.java index 6c21912cb..f0e1ab187 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/thirdparty/QingHaiController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/thirdparty/QingHaiController.java @@ -3,6 +3,7 @@ package com.jsowell.api.thirdparty; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.annotation.Anonymous; +import com.jsowell.common.enums.thirdparty.ThirdPartyReturnCodeEnum; import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; @@ -11,6 +12,7 @@ import com.jsowell.pile.domain.ThirdPartyPlatformConfig; import com.jsowell.pile.dto.PushRealTimeInfoDTO; import com.jsowell.pile.dto.QueryStartChargeDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; +import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; import com.jsowell.pile.service.ThirdPartyPlatformConfigService; import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.thirdparty.lianlian.common.CommonResult; @@ -37,30 +39,27 @@ import java.util.Map; @RequestMapping("/qinghai/evcs") public class QingHaiController extends ThirdPartyBaseController { - @Autowired - @Qualifier("qingHaiPlatformServiceImpl") - private ThirdPartyPlatformService qingHaiPlatformServiceImpl; + private final String platformName = "青海省平台"; + + private final String platformType = ThirdPlatformTypeEnum.QING_HAI_PLATFORM.getTypeCode(); @Autowired - private ThirdPartyPlatformConfigService thirdPartyPlatformConfigService; + @Qualifier("qingHaiPlatformServiceImpl") + private ThirdPartyPlatformService platformLogic; /** * 获取token接口 + * http://localhost:8080/qinghai/evcs/v1/query_token */ @PostMapping("/v1/query_token") public CommonResult queryToken(@RequestBody CommonParamsDTO dto) { - logger.info("青海平台请求令牌 params:{}", JSON.toJSONString(dto)); try { - // Map map = lianLianService.generateToken(dto); - Map map = qingHaiPlatformServiceImpl.queryToken(dto); - logger.info("青海平台请求令牌 result:{}", JSON.toJSONString(map)); + Map map = platformLogic.queryToken(dto); + logger.info("{}-请求令牌, params:{}, result:{}", platformName, JSON.toJSONString(dto), JSON.toJSONString(map)); return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); - }catch (BusinessException e) { - logger.error("青海平台请求令牌 error:{}, {}", e.getCode(), e.getMessage()); - return CommonResult.failed("获取token发生异常"); } catch (Exception e) { - logger.error("青海平台请求令牌接口 异常"); + logger.error("{}-获取token接口, 异常, params:{}", platformName, JSON.toJSONString(dto), e); return CommonResult.failed("获取token发生异常"); } } @@ -71,41 +70,31 @@ public class QingHaiController extends ThirdPartyBaseController { */ @RequestMapping("/v1/query_stations_info") public CommonResult query_stations_info(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { - logger.info("青海平台查询充电站信息 params:{}", JSON.toJSONString(dto)); + logger.info("{}-查询充电站信息 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 - String token = request.getHeader("Authorization"); - if (!JWTUtils.checkThirdPartyToken(token)) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 - return CommonResult.failed("令牌校验错误"); + return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } - // 查询配置信息 - ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); - String operatorSecret = platformConfig.getOperatorSecret(); - String dataString = dto.getData(); - String dataSecret = platformConfig.getDataSecret(); - String dataSecretIV = platformConfig.getDataSecretIv(); - // 校验签名 - boolean verifyResult = qingHaiPlatformServiceImpl.verifySignature(dto, platformConfig.getSignSecret()); - if (!verifyResult) { - // 验签失败 - return CommonResult.failed("签名错误"); + if (!verifySignature(dto)) { + // 签名错误 + return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } - // 解密data - byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes()); - String dataStr = new String(plainText, StandardCharsets.UTF_8); - // 转换成相应对象 - QueryStationInfoDTO queryStationInfoDTO = JSONObject.parseObject(dataStr, QueryStationInfoDTO.class); - queryStationInfoDTO.setOperatorId(dto.getOperatorID()); - queryStationInfoDTO.setThirdPlatformType(ThirdPlatformTypeEnum.QING_HAI_PLATFORM.getTypeCode()); - Map map = qingHaiPlatformServiceImpl.queryStationsInfo(queryStationInfoDTO); + + // 解析入参 + QueryStationInfoDTO queryStationInfoDTO = parseParamsDTO(dto, QueryStationInfoDTO.class); + + // 执行逻辑 + Map map = platformLogic.queryStationsInfo(queryStationInfoDTO); + return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { - logger.error("青海平台查询充电站信息 error", e); + logger.info("{}-查询充电站信息 error:", platformName, e); } - return CommonResult.failed("查询充电站信息异常"); + return CommonResult.failed("查询充电站信息发生异常"); } /** @@ -114,39 +103,31 @@ public class QingHaiController extends ThirdPartyBaseController { */ @RequestMapping("/v1/query_equip_business_policy") public CommonResult query_equip_business_policy(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { - logger.info("青海平台查询业务策略信息 params:{}", JSON.toJSONString(dto)); + logger.info("{}-查询业务策略信息 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 - String token = request.getHeader("Authorization"); - if (!JWTUtils.checkThirdPartyToken(token)) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 - return CommonResult.failed("令牌校验错误"); + return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } - // 查询配置信息 - ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorID()); - String operatorSecret = platformConfig.getOperatorSecret(); - String dataString = dto.getData(); - String dataSecret = platformConfig.getDataSecret(); - String dataSecretIV = platformConfig.getDataSecretIv(); // 校验签名 - boolean verifyResult = qingHaiPlatformServiceImpl.verifySignature(dto, platformConfig.getSignSecret()); - if (!verifyResult) { - // 验签失败 - return CommonResult.failed("签名错误"); + if (!verifySignature(dto)) { + // 签名错误 + return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } - // 解密data - byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes()); - String dataStr = new String(plainText, StandardCharsets.UTF_8); - // 转换成相应对象 - QueryStartChargeDTO queryStartChargeDTO = JSONObject.parseObject(dataStr, QueryStartChargeDTO.class); - queryStartChargeDTO.setOperatorId(dto.getOperatorID()); - Map map = qingHaiPlatformServiceImpl.queryEquipBusinessPolicy(queryStartChargeDTO); + + // 解析入参 + QueryStartChargeDTO queryStartChargeDTO = parseParamsDTO(dto, QueryStartChargeDTO.class); + + // 执行逻辑 + Map map = platformLogic.queryEquipBusinessPolicy(queryStartChargeDTO); + return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { - logger.error("青海平台查询业务策略信息 error", e); + logger.info("{}-查询业务策略信息 error:", platformName, e); } - return CommonResult.failed("查询业务策略信息异常"); + return CommonResult.failed("查询业务策略信息发生异常"); } /** @@ -154,71 +135,71 @@ public class QingHaiController extends ThirdPartyBaseController { * @param stationIds * @return */ - @PostMapping("/pushStationPower") - public RestApiResponse pushStationPower(@RequestBody List stationIds) { - RestApiResponse response = null; - try { - String result = qingHaiPlatformServiceImpl.notificationPowerInfo(stationIds); - response = new RestApiResponse<>(result); - }catch (Exception e) { - logger.error("青海平台推送站点功率 error", e); - } - logger.info("青海平台推送站点功率 result:{}", response); - return response; - } + // @PostMapping("/pushStationPower") + // public RestApiResponse pushStationPower(@RequestBody List stationIds) { + // RestApiResponse response = null; + // try { + // String result = qingHaiPlatformServiceImpl.notificationPowerInfo(stationIds); + // response = new RestApiResponse<>(result); + // }catch (Exception e) { + // logger.error("青海平台推送站点功率 error", e); + // } + // logger.info("青海平台推送站点功率 result:{}", response); + // return response; + // } /** * 推送设备状态变化 * @param dto * @return */ - @PostMapping("/pushRealTimeInfo") - public RestApiResponse pushStationPower(@RequestBody PushRealTimeInfoDTO dto) { - RestApiResponse response = null; - try { - String result = qingHaiPlatformServiceImpl.notificationStationStatus(dto); - response = new RestApiResponse<>(result); - }catch (Exception e) { - logger.error("青海平台推送设备状态变化 error", e); - } - logger.info("青海平台推送设备状态变化 result:{}", response); - return response; - } + // @PostMapping("/pushRealTimeInfo") + // public RestApiResponse pushStationPower(@RequestBody PushRealTimeInfoDTO dto) { + // RestApiResponse response = null; + // try { + // String result = qingHaiPlatformServiceImpl.notificationStationStatus(dto); + // response = new RestApiResponse<>(result); + // }catch (Exception e) { + // logger.error("青海平台推送设备状态变化 error", e); + // } + // logger.info("青海平台推送设备状态变化 result:{}", response); + // return response; + // } /** * 推送充电状态 * @param orderCode * @return */ - @GetMapping("/notificationEquipChargeStatus/{orderCode}") - public RestApiResponse notificationEquipChargeStatus(@PathVariable("orderCode") String orderCode) { - RestApiResponse response = null; - try { - String result = qingHaiPlatformServiceImpl.notificationEquipChargeStatus(orderCode); - response = new RestApiResponse<>(result); - }catch (Exception e) { - logger.error("青海平台推送充电状态 error", e); - } - logger.info("青海平台推送充电状态 result:{}", response); - return response; - } + // @GetMapping("/notificationEquipChargeStatus/{orderCode}") + // public RestApiResponse notificationEquipChargeStatus(@PathVariable("orderCode") String orderCode) { + // RestApiResponse response = null; + // try { + // String result = qingHaiPlatformServiceImpl.notificationEquipChargeStatus(orderCode); + // response = new RestApiResponse<>(result); + // }catch (Exception e) { + // logger.error("青海平台推送充电状态 error", e); + // } + // logger.info("青海平台推送充电状态 result:{}", response); + // return response; + // } /** * 推送订单 * @param orderCode * @return */ - @GetMapping("/pushOrderInfo/{orderCode}") - public RestApiResponse pushOrderInfo(@PathVariable("orderCode") String orderCode) { - RestApiResponse response = null; - try { - String result = qingHaiPlatformServiceImpl.notificationChargeOrderInfo(orderCode); - response = new RestApiResponse<>(result); - }catch (Exception e) { - logger.error("青海平台推送订单信息 error", e); - } - logger.info("青海平台推送订单信息 result:{}", response); - return response; - } + // @GetMapping("/pushOrderInfo/{orderCode}") + // public RestApiResponse pushOrderInfo(@PathVariable("orderCode") String orderCode) { + // RestApiResponse response = null; + // try { + // String result = qingHaiPlatformServiceImpl.notificationChargeOrderInfo(orderCode); + // response = new RestApiResponse<>(result); + // }catch (Exception e) { + // logger.error("青海平台推送订单信息 error", e); + // } + // logger.info("青海平台推送订单信息 result:{}", response); + // return response; + // } }