diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/ThirdPartyBaseController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/ThirdPartyBaseController.java index a10bab0e0..b08249506 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/ThirdPartyBaseController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/ThirdPartyBaseController.java @@ -69,14 +69,6 @@ public class ThirdPartyBaseController extends BaseController { return result; } - /** - * 验证签名 - */ - protected boolean verifySign(CommonParamsDTO dto) { - return true; - } - - /** * 解析DTO * @param dto diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java index 129c655c5..4a055f402 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/lianlian/LianLianController.java @@ -70,15 +70,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台查询充电站信息 params:{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -108,15 +106,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台查询充电站状态信息 params:{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -147,15 +143,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台查询统计信息 params:{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -321,15 +315,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台请求设备认证 param:{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -357,15 +349,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台请求启动充电 params :{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -394,15 +384,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台查询充电状态 params :{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -431,15 +419,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台请求停止充电 params :{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } @@ -470,15 +456,13 @@ public class LianLianController extends ThirdPartyBaseController { logger.info("联联平台推送订单结算信息 params:{}", JSON.toJSONString(dto)); try { // 校验令牌 - boolean verifyToken = verifyToken(request.getHeader("Authorization")); - if (!verifyToken) { + if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } // 校验签名 - boolean verifySign = verifySign(dto); - if (!verifySign) { + if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/neimenggu/NMGController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/neimenggu/NMGController.java index efe50b6ed..1813a4422 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/neimenggu/NMGController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/thirdparty/neimenggu/NMGController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.enums.thirdparty.ThirdPartyReturnCodeEnum; import com.jsowell.common.exception.BusinessException; +import com.jsowell.pile.dto.QueryEquipmentDTO; import com.jsowell.pile.dto.QueryOperatorInfoDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.thirdparty.CommonParamsDTO; @@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.Map; /** @@ -31,8 +33,8 @@ public class NMGController extends ThirdPartyBaseController { @Qualifier("neiMengGuPlatformServiceImpl") private ThirdPartyPlatformService platformLogic; - @Autowired - private ThirdpartySecretInfoService thirdpartySecretInfoService; + // @Autowired + // private ThirdpartySecretInfoService thirdpartySecretInfoService; /** * 获取token接口 @@ -59,13 +61,26 @@ public class NMGController extends ThirdPartyBaseController { * 超时时间:120秒 */ @PostMapping("/v1/supervise_query_operator_info") - public CommonResult queryOperatorInfo(@RequestBody CommonParamsDTO dto) { + public CommonResult queryOperatorInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto)); try { - if (!verifySignature(dto)) { - throw new BusinessException(ThirdPartyReturnCodeEnum.SIGN_ERROR); + // 校验令牌 + boolean verifyToken = verifyToken(request.getHeader("Authorization")); + if (!verifyToken) { + // 校验失败 + return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } + + // 校验签名 + if (!verifySignature(dto)) { + // 签名错误 + return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); + } + + // 解析入参 QueryOperatorInfoDTO paramDTO = parseParamsDTO(dto, QueryOperatorInfoDTO.class); + + // 执行逻辑 Map map = platformLogic.queryOperatorInfo(paramDTO); logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map)); return CommonResult.success(0, "操作成功!", map.get("Data"), map.get("Sig")); @@ -85,9 +100,21 @@ public class NMGController extends ThirdPartyBaseController { * 超时时间:120秒 */ @PostMapping("/v1/supervise_query_stations_info") - public CommonResult queryStationsInfo(@RequestBody CommonParamsDTO dto) { + public CommonResult queryStationsInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto)); try { + // 校验令牌 + boolean verifyToken = verifyToken(request.getHeader("Authorization")); + if (!verifyToken) { + // 校验失败 + return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); + } + + // 校验签名 + if (!verifySignature(dto)) { + // 签名错误 + return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); + } QueryStationInfoDTO paramDTO = parseParamsDTO(dto, QueryStationInfoDTO.class); Map map = platformLogic.queryStationsInfo(paramDTO); logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map)); @@ -103,10 +130,25 @@ public class NMGController extends ThirdPartyBaseController { * supervise_query_station_status */ @PostMapping("/v1/supervise_query_station_status") - public CommonResult queryStationStatus(@RequestBody CommonParamsDTO dto) { + public CommonResult queryStationStatus(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("内蒙古平台查询充换电站状态信息 params:{}", JSON.toJSONString(dto)); try { + // 校验令牌 + if (!verifyToken(request.getHeader("Authorization"))) { + // 校验失败 + return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); + } + + // 校验签名 + if (!verifySignature(dto)) { + // 签名错误 + return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); + } + + // 解析入参 QueryStationInfoDTO paramDTO = parseParamsDTO(dto, QueryStationInfoDTO.class); + + // 执行逻辑 Map map = platformLogic.queryStationStatus(paramDTO); logger.info("内蒙古平台查询充换电站状态信息 result:{}", JSON.toJSONString(map)); return CommonResult.success(0, "查询充换电站状态信息成功!", map.get("Data"), map.get("Sig")); diff --git a/jsowell-pile/src/main/java/com/jsowell/alipay/AliAppletRemoteService.java b/jsowell-pile/src/main/java/com/jsowell/alipay/AliAppletRemoteService.java new file mode 100644 index 000000000..88b247a8e --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/alipay/AliAppletRemoteService.java @@ -0,0 +1,39 @@ +package com.jsowell.alipay; + +import com.jsowell.common.enums.ykc.ReturnCodeEnum; +import com.jsowell.common.exception.BusinessException; +import com.jsowell.common.util.StringUtils; +import org.springframework.stereotype.Service; + +/** + * 支付宝小程序service + */ +@Service +public class AliAppletRemoteService { + + // private static AlipayConfig getAlipayConfig() { + // String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->"; + // String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->"; + // AlipayConfig alipayConfig = new AlipayConfig(); + // alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do"); + // alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->"); + // alipayConfig.setPrivateKey(privateKey); + // alipayConfig.setFormat("json"); + // alipayConfig.setAlipayPublicKey(alipayPublicKey); + // alipayConfig.setCharset("UTF-8"); + // alipayConfig.setSignType("RSA2"); + // return alipayConfig; + // } + + /** + * 服务端获取 access_token、user_id + * 服务端调用 alipay.system.oauth.token(换取授权访问令牌接口)换取授权访问令牌,开发者可通过获取到的 auth_code 换取 access_token(授权令牌) 和 user_id (用户支付宝 ID)。 + * auth_code 作为换取 access_token 的票据,每次用户授权完成,回调地址中的 auth_code 将不一样,auth_code 只能使用一次,一天未被使用自动过期。 + */ + public String getMobileNumberByCode(String code) { + if (StringUtils.isBlank(code)) { + throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); + } + return null; + } +}