package com.jsowell.api.thirdparty; 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.QueryOperatorInfoDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.thirdparty.lianlian.common.CommonResult; import com.jsowell.thirdparty.platform.service.ThirdPartyPlatformService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; 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 javax.servlet.http.HttpServletRequest; import java.util.Map; /** * 浙江省平台 */ @Anonymous @RestController @RequestMapping("/zj") public class ZheJiangController extends ThirdPartyBaseController { private final String platformName = "浙江省平台"; @Autowired @Qualifier("zheJiangPlatformServiceImpl") private ThirdPartyPlatformService platformLogic; /** * getToken */ @PostMapping("/v1/query_token") public CommonResult queryToken(@RequestBody CommonParamsDTO dto) { // logger.info("{}-请求令牌 params:{}", platformName, JSON.toJSONString(dto)); try { Map map = platformLogic.queryToken(dto); logger.info("{}-请求令牌, params:{}, result:{}", platformName, JSON.toJSONString(dto), JSON.toJSONString(map)); return CommonResult.success(0, "请求令牌成功!", map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.error("{}-获取token接口, 异常, params:{}", platformName, JSON.toJSONString(dto), e); return CommonResult.failed("获取token发生异常"); } } /** * 查询充电站信息 * supervise_query_stations_info */ @PostMapping("/v1/supervise_query_stations_info") public CommonResult query_stations_info(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询充电站信息 params:{}", platformName, 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 queryStationInfoDTO = parseParamsDTO(dto, QueryStationInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryStationsInfo(queryStationInfoDTO); return CommonResult.success(0, "查询充电站信息成功!", map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.info("{}-查询充电站信息 error:", platformName, e); } return CommonResult.failed("查询充电站信息发生异常"); } /** * 查询运营商信息 * supervise_query_operator_info */ @PostMapping("/v1/supervise_query_operator_info") public CommonResult queryOperatorInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询运营商信息 params:{}", platformName, 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); } // 解析入参 QueryOperatorInfoDTO paramDTO = parseParamsDTO(dto, QueryOperatorInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryOperatorInfo(paramDTO); logger.info("{}-查询运营商信息 result:{}", platformName, JSON.toJSONString(map)); return CommonResult.success(0, "操作成功!", map.get("Data"), map.get("Sig")); } catch (BusinessException e) { return CommonResult.failed(Integer.parseInt(e.getCode()), e.getMessage()); } catch (Exception e) { logger.error("{}-查询运营商信息 异常", platformName, e); return CommonResult.failed("查询运营商信息发生异常"); } } /** * 查询充电站状态信息 * supervise_query_station_status */ @PostMapping("/v1/supervise_query_station_status") public CommonResult queryStationStatus(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询充电站状态信息 params:{}", platformName, 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 queryStationInfoDTO = parseParamsDTO(dto, QueryStationInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryStationStatus(queryStationInfoDTO); return CommonResult.success(0, "查询充电站状态信息成功!", map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.error("{}-查询充电站状态信息 error:", platformName, e); } return CommonResult.failed("查询充电站状态信息发生异常"); } }