update 对接内蒙古平台

This commit is contained in:
2024-04-18 18:24:19 +08:00
parent 75dc7017bc
commit d2e8d7f7f7
2 changed files with 43 additions and 113 deletions

View File

@@ -5,14 +5,12 @@ import com.alibaba.fastjson2.JSONObject;
import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.pile.domain.ThirdPartyPlatformConfig;
import com.jsowell.pile.dto.QueryOperatorInfoDTO;
import com.jsowell.pile.dto.QueryStationInfoDTO;
import com.jsowell.pile.service.ThirdPartyPlatformConfigService;
import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.pile.thirdparty.CommonParamsDTO;
import com.jsowell.pile.vo.ThirdPartySecretInfoVO;
import com.jsowell.thirdparty.lianlian.common.CommonResult; import com.jsowell.thirdparty.lianlian.common.CommonResult;
import com.jsowell.thirdparty.platform.ThirdPartyPlatformService; import com.jsowell.thirdparty.platform.ThirdPartyPlatformService;
import com.jsowell.thirdparty.platform.util.Cryptos; import com.jsowell.thirdparty.platform.util.Cryptos;
import com.jsowell.thirdparty.service.ThirdpartySecretInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@@ -27,12 +25,13 @@ import java.util.Map;
@Anonymous @Anonymous
@RestController @RestController
public class ThirdPartyBaseController extends BaseController { public class ThirdPartyBaseController extends BaseController {
@Autowired @Autowired
@Qualifier("zhongDianLianPlatformServiceImpl") @Qualifier("zhongDianLianPlatformServiceImpl")
private ThirdPartyPlatformService platformLogic; private ThirdPartyPlatformService platformLogic;
@Autowired @Autowired
private ThirdPartyPlatformConfigService thirdPartyPlatformConfigService; private ThirdpartySecretInfoService thirdpartySecretInfoService;
/** /**
* 获取token接口 * 获取token接口
@@ -52,86 +51,22 @@ public class ThirdPartyBaseController extends BaseController {
} }
// 解析DTO // 解析DTO
private <T> T parseDto(CommonParamsDTO dto, Class<T> targetClass) { protected <T> T parseDto(CommonParamsDTO dto, Class<T> targetClass) {
// 解密 // 解密
String operatorId = dto.getOperatorID(); String operatorId = dto.getOperatorID();
// 通过operatorId 查出 operatorSecret // 通过operatorId 查出 operatorSecret
ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(operatorId); // ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(operatorId);
if (platformConfig == null) { ThirdPartySecretInfoVO secretInfoVO = thirdpartySecretInfoService.queryByOperatorId(operatorId);
if (secretInfoVO == null) {
throw new BusinessException("1", "无此对接平台"); throw new BusinessException("1", "无此对接平台");
} }
String operatorSecret = platformConfig.getOperatorSecret(); String dataSecret = secretInfoVO.getTheirDataSecret();
String dataSecret = platformConfig.getDataSecret(); String dataSecretIv = secretInfoVO.getTheirDataSecretIv();
String dataSecretIv = platformConfig.getDataSecretIv();
String signSecret = platformConfig.getSignSecret();
// 解密data 获取参数中的OperatorSecret // 解密data 获取参数中的OperatorSecret
String decrypt = Cryptos.decrypt(dto.getData(), dataSecret, dataSecretIv); String decrypt = Cryptos.decrypt(dto.getData(), dataSecret, dataSecretIv);
return JSONObject.parseObject(decrypt, targetClass); return JSONObject.parseObject(decrypt, targetClass);
} }
/**
* 查询运营商信息
* 接口名称supervise_query_operator_info
* 使用方法:由数据提供方实现此接口,数据需求方调用
* 接口频率:每天一次或多次
* 超时时间120秒
*/
@PostMapping("/v1/supervise_query_operator_info")
public CommonResult<?> queryOperatorInfo(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询运营商信息 params:{}", JSON.toJSONString(dto));
try {
QueryOperatorInfoDTO paramDTO = parseDto(dto, QueryOperatorInfoDTO.class);
Map<String, String> map = platformLogic.queryOperatorInfo(paramDTO);
logger.info("海南平台查询运营商信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
logger.error("海南平台查询运营商信息 异常", e);
return CommonResult.failed("查询运营商信息发生异常");
}
}
/**
* 查询充换电站信息
* 接口名称: supervise_query_stations_info
* 使用方法:由数据提供方实现此接口,数据需求方调用
* 接口频率:每天一次或多次
* 超时时间120秒
*/
@PostMapping("/v1/supervise_query_stations_info")
public CommonResult<?> queryStationsInfo(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询运营商信息 params:{}", JSON.toJSONString(dto));
try {
QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class);
Map<String, String> map = platformLogic.queryStationsInfo(paramDTO);
logger.info("海南平台查询运营商信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
logger.error("海南平台查询运营商信息 异常", e);
return CommonResult.failed("查询运营商信息发生异常");
}
}
/**
* 查询充换电站状态信息
* supervise_query_station_status
*/
@PostMapping("/v1/supervise_query_station_status")
public CommonResult<?> queryStationStatus(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询充换电站状态信息 params:{}", JSON.toJSONString(dto));
try {
QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class);
Map<String, String> map = platformLogic.queryStationStatus(paramDTO);
logger.info("海南平台查询充换电站状态信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "查询充换电站状态信息成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
logger.error("海南平台查询充换电站状态信息异常", e);
return CommonResult.failed("查询充换电站状态信息发生异常");
}
}
/**
*
*/
} }

View File

@@ -1,18 +1,14 @@
package com.jsowell.web.controller.thirdparty.neimenggu; package com.jsowell.web.controller.thirdparty.neimenggu;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.pile.domain.ThirdPartyPlatformConfig;
import com.jsowell.pile.dto.QueryOperatorInfoDTO; import com.jsowell.pile.dto.QueryOperatorInfoDTO;
import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.dto.QueryStationInfoDTO;
import com.jsowell.pile.service.ThirdPartyPlatformConfigService;
import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.pile.thirdparty.CommonParamsDTO;
import com.jsowell.thirdparty.lianlian.common.CommonResult; import com.jsowell.thirdparty.lianlian.common.CommonResult;
import com.jsowell.thirdparty.platform.ThirdPartyPlatformService; import com.jsowell.thirdparty.platform.ThirdPartyPlatformService;
import com.jsowell.thirdparty.platform.util.Cryptos; import com.jsowell.thirdparty.service.ThirdpartySecretInfoService;
import com.jsowell.web.controller.thirdparty.ThirdPartyBaseController;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@@ -28,13 +24,13 @@ import java.util.Map;
@Anonymous @Anonymous
@RestController @RestController
@RequestMapping("/evcs") @RequestMapping("/evcs")
public class NMGController extends BaseController { public class NMGController extends ThirdPartyBaseController {
@Autowired @Autowired
@Qualifier("neiMengGuPlatformServiceImpl") @Qualifier("neiMengGuPlatformServiceImpl")
private ThirdPartyPlatformService platformLogic; private ThirdPartyPlatformService platformLogic;
@Autowired @Autowired
private ThirdPartyPlatformConfigService thirdPartyPlatformConfigService; private ThirdpartySecretInfoService thirdpartySecretInfoService;
/** /**
* 获取token接口 * 获取token接口
@@ -42,36 +38,35 @@ public class NMGController extends BaseController {
*/ */
@PostMapping("/v1/query_token") @PostMapping("/v1/query_token")
public CommonResult<?> queryToken(@RequestBody CommonParamsDTO dto) { public CommonResult<?> queryToken(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台请求令牌 params:{}", JSON.toJSONString(dto)); logger.info("内蒙古平台请求令牌 params:{}", JSON.toJSONString(dto));
try { try {
Map<String, String> map = platformLogic.queryToken(dto); Map<String, String> map = platformLogic.queryToken(dto);
logger.info("海南平台请求令牌 result:{}", JSON.toJSONString(map)); logger.info("内蒙古平台请求令牌 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig")); return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
logger.error("海南平台 请求令牌接口 异常", e); logger.error("内蒙古平台 请求令牌接口 异常", e);
return CommonResult.failed("获取token发生异常"); return CommonResult.failed("获取token发生异常");
} }
} }
// 解析DTO // 解析DTO
private <T> T parseDto(CommonParamsDTO dto, Class<T> targetClass) { // private <T> T parseDto(CommonParamsDTO dto, Class<T> targetClass) {
// 解密 // // 解密
String operatorId = dto.getOperatorID(); // String operatorId = dto.getOperatorID();
// 通过operatorId 查出 operatorSecret // // 通过operatorId 查出 operatorSecret
ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(operatorId); // ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(operatorId);
if (platformConfig == null) { // thirdpartySecretInfoService.queryByOperatorId(operatorId);
throw new BusinessException("1", "无此对接平台"); // if (platformConfig == null) {
} // throw new BusinessException("1", "无此对接平台");
// }
String operatorSecret = platformConfig.getOperatorSecret(); //
String dataSecret = platformConfig.getDataSecret(); // String dataSecret = platformConfig.getDataSecret();
String dataSecretIv = platformConfig.getDataSecretIv(); // String dataSecretIv = platformConfig.getDataSecretIv();
String signSecret = platformConfig.getSignSecret(); //
// // 解密data 获取参数中的OperatorSecret
// 解密data 获取参数中的OperatorSecret // String decrypt = Cryptos.decrypt(dto.getData(), dataSecret, dataSecretIv);
String decrypt = Cryptos.decrypt(dto.getData(), dataSecret, dataSecretIv); // return JSONObject.parseObject(decrypt, targetClass);
return JSONObject.parseObject(decrypt, targetClass); // }
}
/** /**
* 查询运营商信息 * 查询运营商信息
@@ -82,14 +77,14 @@ public class NMGController extends BaseController {
*/ */
@PostMapping("/v1/supervise_query_operator_info") @PostMapping("/v1/supervise_query_operator_info")
public CommonResult<?> queryOperatorInfo(@RequestBody CommonParamsDTO dto) { public CommonResult<?> queryOperatorInfo(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询运营商信息 params:{}", JSON.toJSONString(dto)); logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto));
try { try {
QueryOperatorInfoDTO paramDTO = parseDto(dto, QueryOperatorInfoDTO.class); QueryOperatorInfoDTO paramDTO = parseDto(dto, QueryOperatorInfoDTO.class);
Map<String, String> map = platformLogic.queryOperatorInfo(paramDTO); Map<String, String> map = platformLogic.queryOperatorInfo(paramDTO);
logger.info("海南平台查询运营商信息 result:{}", JSON.toJSONString(map)); logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig")); return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
logger.error("海南平台查询运营商信息 异常", e); logger.error("内蒙古平台查询运营商信息 异常", e);
return CommonResult.failed("查询运营商信息发生异常"); return CommonResult.failed("查询运营商信息发生异常");
} }
} }
@@ -103,14 +98,14 @@ public class NMGController extends BaseController {
*/ */
@PostMapping("/v1/supervise_query_stations_info") @PostMapping("/v1/supervise_query_stations_info")
public CommonResult<?> queryStationsInfo(@RequestBody CommonParamsDTO dto) { public CommonResult<?> queryStationsInfo(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询运营商信息 params:{}", JSON.toJSONString(dto)); logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto));
try { try {
QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class); QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class);
Map<String, String> map = platformLogic.queryStationsInfo(paramDTO); Map<String, String> map = platformLogic.queryStationsInfo(paramDTO);
logger.info("海南平台查询运营商信息 result:{}", JSON.toJSONString(map)); logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig")); return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
logger.error("海南平台查询运营商信息 异常", e); logger.error("内蒙古平台查询运营商信息 异常", e);
return CommonResult.failed("查询运营商信息发生异常"); return CommonResult.failed("查询运营商信息发生异常");
} }
} }
@@ -121,14 +116,14 @@ public class NMGController extends BaseController {
*/ */
@PostMapping("/v1/supervise_query_station_status") @PostMapping("/v1/supervise_query_station_status")
public CommonResult<?> queryStationStatus(@RequestBody CommonParamsDTO dto) { public CommonResult<?> queryStationStatus(@RequestBody CommonParamsDTO dto) {
logger.info("海南平台查询充换电站状态信息 params:{}", JSON.toJSONString(dto)); logger.info("内蒙古平台查询充换电站状态信息 params:{}", JSON.toJSONString(dto));
try { try {
QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class); QueryStationInfoDTO paramDTO = parseDto(dto, QueryStationInfoDTO.class);
Map<String, String> map = platformLogic.queryStationStatus(paramDTO); Map<String, String> map = platformLogic.queryStationStatus(paramDTO);
logger.info("海南平台查询充换电站状态信息 result:{}", JSON.toJSONString(map)); logger.info("内蒙古平台查询充换电站状态信息 result:{}", JSON.toJSONString(map));
return CommonResult.success(0, "查询充换电站状态信息成功!", map.get("Data"), map.get("Sig")); return CommonResult.success(0, "查询充换电站状态信息成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) { } catch (Exception e) {
logger.error("海南平台查询充换电站状态信息异常", e); logger.error("内蒙古平台查询充换电站状态信息异常", e);
return CommonResult.failed("查询充换电站状态信息发生异常"); return CommonResult.failed("查询充换电站状态信息发生异常");
} }
} }