Files
jsowell-charger-web/jsowell-admin/src/main/java/com/jsowell/api/thirdparty/NMGController.java

159 lines
6.7 KiB
Java
Raw Normal View History

2024-05-10 15:30:20 +08:00
package com.jsowell.api.thirdparty;
2024-03-22 13:57:40 +08:00
2024-04-17 11:39:51 +08:00
import com.alibaba.fastjson2.JSON;
2024-03-22 13:57:40 +08:00
import com.jsowell.common.annotation.Anonymous;
2024-04-19 17:10:51 +08:00
import com.jsowell.common.enums.thirdparty.ThirdPartyReturnCodeEnum;
2024-04-19 16:00:19 +08:00
import com.jsowell.common.exception.BusinessException;
2024-04-17 11:39:51 +08:00
import com.jsowell.pile.dto.QueryOperatorInfoDTO;
import com.jsowell.pile.dto.QueryStationInfoDTO;
2024-03-27 11:46:11 +08:00
import com.jsowell.pile.thirdparty.CommonParamsDTO;
2024-04-17 11:39:51 +08:00
import com.jsowell.thirdparty.lianlian.common.CommonResult;
import com.jsowell.thirdparty.platform.ThirdPartyPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
2024-03-22 13:57:40 +08:00
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;
2024-05-10 15:02:33 +08:00
import javax.servlet.http.HttpServletRequest;
2024-04-17 11:39:51 +08:00
import java.util.Map;
2024-03-22 13:57:40 +08:00
/**
2024-04-18 18:34:43 +08:00
* 内蒙古自治区充电设施监测服务平台
2024-03-22 13:57:40 +08:00
*/
@Anonymous
@RestController
@RequestMapping("/evcs")
2024-04-18 18:24:19 +08:00
public class NMGController extends ThirdPartyBaseController {
2024-04-17 11:39:51 +08:00
@Autowired
@Qualifier("neiMengGuPlatformServiceImpl")
private ThirdPartyPlatformService platformLogic;
2024-05-10 15:02:33 +08:00
// @Autowired
// private ThirdpartySecretInfoService thirdpartySecretInfoService;
2024-03-22 13:57:40 +08:00
/**
* 获取token接口
* http://localhost:8080/evcs/v1/query_token
*/
@PostMapping("/v1/query_token")
public CommonResult<?> queryToken(@RequestBody CommonParamsDTO dto) {
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台请求令牌 params:{}", JSON.toJSONString(dto));
2024-04-17 11:39:51 +08:00
try {
Map<String, String> map = platformLogic.queryToken(dto);
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台请求令牌 result:{}", JSON.toJSONString(map));
2024-04-17 11:39:51 +08:00
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
2024-04-18 18:24:19 +08:00
logger.error("内蒙古平台 请求令牌接口 异常", e);
2024-04-17 11:39:51 +08:00
return CommonResult.failed("获取token发生异常");
}
}
2024-03-22 13:57:40 +08:00
/**
* 查询运营商信息
* 接口名称supervise_query_operator_info
* 使用方法由数据提供方实现此接口数据需求方调用
* 接口频率每天一次或多次
* 超时时间120秒
*/
@PostMapping("/v1/supervise_query_operator_info")
2024-05-10 15:02:33 +08:00
public CommonResult<?> queryOperatorInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) {
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto));
2024-04-17 11:39:51 +08:00
try {
2024-05-10 15:02:33 +08:00
// 校验令牌
boolean verifyToken = verifyToken(request.getHeader("Authorization"));
if (!verifyToken) {
// 校验失败
return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR);
}
// 校验签名
2024-04-19 17:10:51 +08:00
if (!verifySignature(dto)) {
2024-05-10 15:02:33 +08:00
// 签名错误
return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR);
2024-04-19 17:10:51 +08:00
}
2024-05-10 15:02:33 +08:00
// 解析入参
2024-04-19 16:05:58 +08:00
QueryOperatorInfoDTO paramDTO = parseParamsDTO(dto, QueryOperatorInfoDTO.class);
2024-05-10 15:02:33 +08:00
// 执行逻辑
2024-04-17 11:39:51 +08:00
Map<String, String> map = platformLogic.queryOperatorInfo(paramDTO);
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map));
2024-04-19 15:50:41 +08:00
return CommonResult.success(0, "操作成功!", map.get("Data"), map.get("Sig"));
2024-04-19 16:00:19 +08:00
} catch (BusinessException e) {
return CommonResult.failed(Integer.parseInt(e.getCode()), e.getMessage());
2024-04-17 11:39:51 +08:00
} catch (Exception e) {
2024-04-18 18:24:19 +08:00
logger.error("内蒙古平台查询运营商信息 异常", e);
2024-04-17 11:39:51 +08:00
return CommonResult.failed("查询运营商信息发生异常");
}
2024-03-22 13:57:40 +08:00
}
/**
* 查询充换电站信息
* 接口名称: supervise_query_stations_info
* 使用方法由数据提供方实现此接口数据需求方调用
* 接口频率每天一次或多次
* 超时时间120秒
*/
2024-04-17 11:39:51 +08:00
@PostMapping("/v1/supervise_query_stations_info")
2024-05-10 15:02:33 +08:00
public CommonResult<?> queryStationsInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) {
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询运营商信息 params:{}", JSON.toJSONString(dto));
2024-04-17 11:39:51 +08:00
try {
2024-05-10 15:02:33 +08:00
// 校验令牌
boolean verifyToken = verifyToken(request.getHeader("Authorization"));
if (!verifyToken) {
// 校验失败
return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR);
}
// 校验签名
if (!verifySignature(dto)) {
// 签名错误
return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR);
}
2024-04-19 16:05:58 +08:00
QueryStationInfoDTO paramDTO = parseParamsDTO(dto, QueryStationInfoDTO.class);
2024-04-17 11:39:51 +08:00
Map<String, String> map = platformLogic.queryStationsInfo(paramDTO);
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询运营商信息 result:{}", JSON.toJSONString(map));
2024-04-17 11:39:51 +08:00
return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
2024-04-18 18:24:19 +08:00
logger.error("内蒙古平台查询运营商信息 异常", e);
2024-04-17 11:39:51 +08:00
return CommonResult.failed("查询运营商信息发生异常");
}
}
/**
* 查询充换电站状态信息
* supervise_query_station_status
*/
@PostMapping("/v1/supervise_query_station_status")
2024-05-10 15:02:33 +08:00
public CommonResult<?> queryStationStatus(HttpServletRequest request, @RequestBody CommonParamsDTO dto) {
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询充换电站状态信息 params:{}", JSON.toJSONString(dto));
2024-04-17 11:39:51 +08:00
try {
2024-05-10 15:02:33 +08:00
// 校验令牌
if (!verifyToken(request.getHeader("Authorization"))) {
// 校验失败
return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR);
}
// 校验签名
if (!verifySignature(dto)) {
// 签名错误
return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR);
}
// 解析入参
2024-04-19 16:05:58 +08:00
QueryStationInfoDTO paramDTO = parseParamsDTO(dto, QueryStationInfoDTO.class);
2024-05-10 15:02:33 +08:00
// 执行逻辑
2024-04-17 11:39:51 +08:00
Map<String, String> map = platformLogic.queryStationStatus(paramDTO);
2024-04-18 18:24:19 +08:00
logger.info("内蒙古平台查询充换电站状态信息 result:{}", JSON.toJSONString(map));
2024-04-17 11:39:51 +08:00
return CommonResult.success(0, "查询充换电站状态信息成功!", map.get("Data"), map.get("Sig"));
} catch (Exception e) {
2024-04-18 18:24:19 +08:00
logger.error("内蒙古平台查询充换电站状态信息异常", e);
2024-04-17 11:39:51 +08:00
return CommonResult.failed("查询充换电站状态信息发生异常");
}
}
2024-03-22 13:57:40 +08:00
}