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.enums.thirdparty.ThirdPlatformTypeEnum; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO; import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; 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; /** * 宁夏交投 Controller * * @author Lemon * @Date 2023/11/15 8:36:42 */ @Anonymous @RestController @RequestMapping("/nxjt") public class NXJTController extends ThirdPartyBaseController { private final String platformName = "宁夏交投平台"; private final String platformType = ThirdPlatformTypeEnum.NING_XIA_JIAO_TOU.getTypeCode(); @Autowired @Qualifier("ningXiaJiaoTouPlatformServiceImpl") private ThirdPartyPlatformService platformLogic; /** * 获取token接口 * http://localhost:8080/nxjt/v1/query_token */ @PostMapping("/v1/query_token") public CommonResult queryToken(@RequestBody CommonParamsDTO dto) { try { 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 (Exception e) { logger.error("{}-获取token接口, 异常, params:{}", platformName, JSON.toJSONString(dto), e); return CommonResult.failed("获取token发生异常"); } } /** * 宁夏交投平台查询充电站信息 * http://localhost:8080/nxjt/v1/query_stations_info * @param dto * @return */ @PostMapping("/v1/query_stations_info") public CommonResult queryStationsInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询充电站信息 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } dto.setPlatformType(platformType); // 校验签名 if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } // 解析入参 NXJTQueryStationInfoDTO nxjtQueryStationInfoDTO = parseParamsDTO(dto, NXJTQueryStationInfoDTO.class); // 执行逻辑 Map map = platformLogic.NXJTQueryStationsInfo(nxjtQueryStationInfoDTO); return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.info("{}-查询充电站信息 error:", platformName, e); } return CommonResult.failed("查询充电站信息发生异常"); } /** * 宁夏交投平台查询充电站中空闲桩数量 * http://localhost:8080/nxjt/v1/query_free_pile_number * @param dto * @return */ @PostMapping("/v1/query_free_pile_number") public CommonResult queryFreePileNumber(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询充电站中空闲桩数量 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } dto.setPlatformType(platformType); // 校验签名 if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } // 解析入参 NXJTQueryStationInfoDTO nxjtQueryStationInfoDTO = parseParamsDTO(dto, NXJTQueryStationInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryFreePileNumber(nxjtQueryStationInfoDTO); return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.info("{}-查询充电站中空闲桩数量 error:", platformName, e); } return CommonResult.failed("查询充电站中空闲桩数量发生异常"); } /** * 宁夏交投平台查询某车牌号消费记录 * http://localhost:8080/nxjt/v1/query_free_pile_number * @param dto * @return */ @PostMapping("/v1/query_orders_info_by_Plate_number") public CommonResult queryOrdersInfoByPlateNumber(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询某车牌号消费记录 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } dto.setPlatformType(platformType); // 校验签名 if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } // 解析入参 NXJTQueryOrdersInfoDTO nxjtQueryOrdersInfoDTO = parseParamsDTO(dto, NXJTQueryOrdersInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryOrdersInfoByPlateNumber(nxjtQueryOrdersInfoDTO); return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.info("{}-查询某车牌号消费记录 error:", platformName, e); } return CommonResult.failed("查询某车牌号消费记录发生异常"); } /** * 宁夏交投平台查询某段时间内消费记录 * http://localhost:8080/nxjt/v1/query_orders_info * @param dto * @return */ @PostMapping("/v1/query_orders_info") public CommonResult queryOrdersInfo(HttpServletRequest request, @RequestBody CommonParamsDTO dto) { logger.info("{}-查询某段时间内消费记录 params:{}", platformName, JSON.toJSONString(dto)); try { // 校验令牌 if (!verifyToken(request.getHeader("Authorization"))) { // 校验失败 return CommonResult.failed(ThirdPartyReturnCodeEnum.TOKEN_ERROR); } dto.setPlatformType(platformType); // 校验签名 if (!verifySignature(dto)) { // 签名错误 return CommonResult.failed(ThirdPartyReturnCodeEnum.SIGN_ERROR); } // 解析入参 NXJTQueryOrdersInfoDTO nxjtQueryOrdersInfoDTO = parseParamsDTO(dto, NXJTQueryOrdersInfoDTO.class); // 执行逻辑 Map map = platformLogic.queryOrdersInfo(nxjtQueryOrdersInfoDTO); return CommonResult.success(Integer.parseInt(map.get("Ret")), map.get("Msg"), map.get("Data"), map.get("Sig")); } catch (Exception e) { logger.info("{}-查询某段时间内消费记录 error:", platformName, e); } return CommonResult.failed("查询某段时间内消费记录发生异常"); } }