Pu Zhibing
2025-02-06 1533ed2ef41d32033a5ffc4aa08e2b0c9e7d14db
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -1,6 +1,7 @@
package com.ruoyi.integration.drainage;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.JacksonUtils;
import com.ruoyi.chargingPile.api.feignClient.*;
import com.ruoyi.chargingPile.api.model.*;
import com.ruoyi.common.core.domain.R;
@@ -19,17 +20,12 @@
import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
import com.ruoyi.other.api.domain.Operator;
import com.ruoyi.other.api.feignClient.OperatorClient;
import com.ruoyi.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
@@ -73,9 +69,7 @@
   
   @Resource
   private TokenUtil tokenUtil;
   private static Map<Long, Integer> map = new HashMap<>();
   @Resource
   private ParkingLotClient parkingLotClient;
   
@@ -96,25 +90,8 @@
      baseResult.setMsg("成功");
      baseResult.setOperatorID(baseRequest.getOperatorID());
      Long mapKey = Long.valueOf(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
      Integer integer = map.get(mapKey);
      if(null == integer){
         integer = 1;
      }else{
         integer++;
      }
      map.put(mapKey, integer);
      baseResult.setTimeStamp(mapKey);
      baseResult.setSeq(String.format("%04d", integer));
      //清空小于当前时间的map中的无效数据
      Set<Long> set = map.keySet();
      Iterator<Long> iterator = set.iterator();
      while (iterator.hasNext()){
         Long k = iterator.next();
         if(k <= (mapKey - 10)){
            map.remove(k);
         }
      }
      baseResult.setSeq("0001");
      //校验token和签名
      String operatorID = baseRequest.getOperatorID();
      String sig = baseRequest.getSig();
@@ -135,7 +112,7 @@
      }
      //校验token
      if(tokenCheck){
         LoginUser loginUser = tokenUtil.getLoginUser(request);
         Operator loginUser = tokenUtil.getLoginUser(request);
         if(null == loginUser){
            baseResult.setRet(4002);
            baseResult.setMsg("身份校验失败,无效的token");
@@ -147,7 +124,7 @@
      baseResult.setOperator(operator);
      baseRequest.setOperator(operator);
      //校验签名
      String sign = TCECUtil.buildSign(baseRequest);
      String sign = TCECUtil.ourBuildSign(baseRequest);
      if(!sign.equals(sig)){
         baseResult.setRet(4001);
         baseResult.setMsg("签名校验失败");
@@ -166,10 +143,13 @@
    */
   @PostMapping("/query_token")
   public BaseResult queryToken(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台获取token请求参数:" + JacksonUtils.toJson(baseRequest));
      BaseResult baseResult = requestCheck(false, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台获取token响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      QueryTokenResult queryTokenResult = new QueryTokenResult();
@@ -178,24 +158,29 @@
         queryTokenResult.setSuccStat(1);
         queryTokenResult.setFailReason(1);
         //参数加密
         String jsonString = JSON.toJSONString(queryTokenResult);
         String jsonString = JacksonUtils.toJson(queryTokenResult);
         log.info("三方平台获取token响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台获取token请求Data:" + decrypt);
      QueryToken queryToken = JSON.parseObject(decrypt, QueryToken.class);
      if(!queryToken.getOperatorSecret().equals(operator.getOperatorSecret())){
      if(!queryToken.getOperatorSecret().equals(operator.getOurOperatorSecret())){
         queryTokenResult.setSuccStat(1);
         queryTokenResult.setFailReason(2);
         //参数加密
         String jsonString = JSON.toJSONString(queryTokenResult);
         String jsonString = JacksonUtils.toJson(queryTokenResult);
         log.info("三方平台获取token响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      
@@ -203,16 +188,19 @@
      Map<String, Object> token = tokenUtil.createToken(operator);
      String access_token = token.get("access_token").toString();
      Long expires_in = Long.valueOf(token.get("expires_in").toString());
      queryTokenResult.setOperatorID("906171535");
      queryTokenResult.setSuccStat(0);
      queryTokenResult.setFailReason(0);
      queryTokenResult.setAccessToken(access_token);
      queryTokenResult.setTokenAvailableTime(expires_in * 60);
      //参数加密
      String jsonString = JSON.toJSONString(queryTokenResult);
      String jsonString = JacksonUtils.toJson(queryTokenResult);
      log.info("三方平台获取token响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台获取token响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -226,16 +214,20 @@
    */
   @PostMapping("/query_stations_info")
   public BaseResult queryStationsInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台查询充电站信息请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台查询充电站信息响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台查询充电站信息请求Data:" + decrypt);
      QueryStationsInfo queryStationsInfo = JSON.parseObject(decrypt, QueryStationsInfo.class);
      Integer pageNo = queryStationsInfo.getPageNo();
      Integer pageSize = queryStationsInfo.getPageSize();
@@ -253,10 +245,12 @@
      queryStationsInfoResult.setItemSize(Long.valueOf(siteListPaging.getTotal()).intValue());
      queryStationsInfoResult.setStationInfos(buildSite(parkingLots, siteListPaging.getRecords()));
      //参数加密
      String jsonString = JSON.toJSONString(queryStationsInfoResult);
      String jsonString = JacksonUtils.toJson(queryStationsInfoResult);
      log.info("三方平台查询充电站信息响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台查询充电站信息响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -276,8 +270,8 @@
      for (Site datum : sites) {
         StationInfo stationInfo = new StationInfo();
         stationInfo.setStationID(datum.getId().toString());
         stationInfo.setOperatorID("");
         stationInfo.setEquipmentOwnerID("91510903906171535D");
         stationInfo.setOperatorID("906171535");
         stationInfo.setEquipmentOwnerID("906171535");
         stationInfo.setStationName(datum.getName());
         stationInfo.setCountryCode(datum.getCountryCode());
         stationInfo.setAreaCode(datum.getDistrictsCode());
@@ -320,7 +314,7 @@
         stationInfo.setStationLat(new BigDecimal(datum.getLat()).setScale(6, RoundingMode.DOWN));
         stationInfo.setStationLng(new BigDecimal(datum.getLon()).setScale(6, RoundingMode.DOWN));
         stationInfo.setConstruction(datum.getConstructionSite() == 0 ? ConstructionEnum.OTHER.getType() : datum.getConstructionSite());
         stationInfo.setPictures(Arrays.asList(datum.getImgUrl().split(",")));
         stationInfo.setPictures(StringUtils.isNotEmpty(datum.getImgUrl()) ? Arrays.asList(datum.getImgUrl().split(",")) : new ArrayList<>());
         stationInfo.setSiteGuide(datum.getGuide());
         stationInfo.setMatchCars(datum.getVehicleDescription());
         stationInfo.setBusineHours(datum.getStartServiceTime() + "-" + datum.getEndServiceTime());
@@ -498,15 +492,19 @@
    */
   @PostMapping("/query_station_status")
   public BaseResult queryStationStatus(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台获取设备接口状态请求参数:" + JacksonUtils.toJson(baseRequest));
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台获取设备接口状态响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台获取设备接口状态响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台获取设备接口状态请求Data:" + decrypt);
      QueryStationStatus queryStationsInfo = JSON.parseObject(decrypt, QueryStationStatus.class);
      List<Integer> collect = queryStationsInfo.getStationIDs().stream().map(Integer::valueOf).collect(Collectors.toList());
      List<Site> data = siteClient.getSiteByIds(collect).getData();
@@ -557,10 +555,12 @@
      }
      result.setStationStatusInfos(StationStatusInfos);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String jsonString = JacksonUtils.toJson(result);
      log.info("三方平台获取设备接口状态响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台获取设备接口状态响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -574,16 +574,20 @@
    */
   @PostMapping("/query_station_stats")
   public BaseResult queryStationStats(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台获取统计信息请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台获取统计信息响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台获取统计信息响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台获取统计信息请求Data:" + decrypt);
      QueryStationStats queryStationStats = JSON.parseObject(decrypt, QueryStationStats.class);
      QueryStationStatsResult result = new QueryStationStatsResult();
      ChargingPercentProvinceDto dto = new ChargingPercentProvinceDto();
@@ -627,10 +631,12 @@
      stationStats.setEquipmentStatsInfos(EquipmentStatsInfos);
      result.setStationStats(stationStats);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String jsonString = JacksonUtils.toJson(result);
      log.info("三方平台获取统计信息响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台获取统计信息响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -641,22 +647,27 @@
    */
   @PostMapping("/query_equip_auth")
   public BaseResult queryEquipAuth(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台设备认证请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台设备认证响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台设备认证响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台设备认证请求Data:" + decrypt);
      QueryEquipAuth queryEquipAuth = JSON.parseObject(decrypt, QueryEquipAuth.class);
      String connectorID = queryEquipAuth.getConnectorID();
      TChargingGun tChargingGun = chargingGunClient.getChargingGunById(Integer.valueOf(connectorID)).getData();
      if(null == tChargingGun){
         baseResult.setRet(4004);
         baseResult.setMsg("connectorID 参数无效");
         log.info("三方平台设备认证响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      QueryEquipAuthResult queryEquipAuthResult = new QueryEquipAuthResult();
@@ -694,10 +705,12 @@
            break;
      }
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipAuthResult);
      String jsonString = JacksonUtils.toJson(queryEquipAuthResult);
      log.info("三方平台设备认证响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台设备认证响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -709,16 +722,20 @@
    */
   @PostMapping("/query_equip_business_policy")
   public BaseResult queryEquipBusinessPolicy(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台查询业务策略信息请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台查询业务策略信息响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台查询业务策略信息响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台查询业务策略信息请求Data:" + decrypt);
      QueryEquipBusinessPolicy queryEquipBusinessPolicy = JSON.parseObject(decrypt, QueryEquipBusinessPolicy.class);
      
      //构建返回结果
@@ -733,10 +750,12 @@
         baseResult.setRet(4004);
         baseResult.setMsg("connectorID 参数无效");
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
         log.info("三方平台查询业务策略信息响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台查询业务策略信息响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Integer accountingStrategyId = tChargingGun.getAccountingStrategyId();
@@ -750,10 +769,12 @@
         queryEquipBusinessPolicyResult.setFailReason(1);
         queryEquipBusinessPolicyResult.setSumPeriod(0);
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
         log.info("三方平台查询业务策略信息响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台查询业务策略信息响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      List<PolicyInfo> PolicyInfos = new ArrayList<>();
@@ -767,10 +788,12 @@
      queryEquipBusinessPolicyResult.setSumPeriod(PolicyInfos.size());
      queryEquipBusinessPolicyResult.setPolicyInfos(PolicyInfos);
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
      String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
      log.info("三方平台查询业务策略信息响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台查询业务策略信息响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -824,16 +847,20 @@
    */
   @PostMapping("/query_start_charge")
   public BaseResult queryStartCharge(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台请求开始充电请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台请求开始充电响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求开始充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台请求开始充电请求Data:" + decrypt);
      QueryStartCharge queryStartCharge = JSON.parseObject(decrypt, QueryStartCharge.class);
      
      //构建返回结果
@@ -850,10 +877,12 @@
         result.setFailReason(1);
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String jsonString = JacksonUtils.toJson(result);
         log.info("三方平台请求开始充电响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求开始充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      //设备离线
@@ -862,10 +891,12 @@
         result.setFailReason(2);
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String jsonString = JacksonUtils.toJson(result);
         log.info("三方平台请求开始充电响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求开始充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      //调用充电接口
@@ -883,20 +914,24 @@
         result.setFailReason(1);
         result.setStartChargeSeqStat(2);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String jsonString = JacksonUtils.toJson(result);
         log.info("三方平台请求开始充电响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求开始充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      result.setStartChargeSeqStat(1);
      result.setSuccStat(0);
      result.setFailReason(0);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String jsonString = JacksonUtils.toJson(result);
      log.info("三方平台请求开始充电响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台请求开始充电响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -952,24 +987,30 @@
    */
   @PostMapping("/query_equip_charge_status")
   public BaseResult queryEquipChargeStatus(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台查询充电状态请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台查询充电状态响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台查询充电状态响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台查询充电状态请求Data:" + decrypt);
      QueryEquipChargeStatus queryEquipChargeStatus = JSON.parseObject(decrypt, QueryEquipChargeStatus.class);
      //校验token和签名
      QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(queryEquipChargeStatus.getStartChargeSeq());
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipChargeStatusResult);
      String jsonString = JacksonUtils.toJson(queryEquipChargeStatusResult);
      log.info("三方平台查询充电状态响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台查询充电状态响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -1127,16 +1168,20 @@
    */
   @PostMapping("/query_stop_charge")
   public BaseResult queryStopCharge(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台请求停止充电请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台请求停止充电响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求停止充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台请求停止充电请求Data:" + decrypt);
      QueryStopCharge queryStopCharge = JSON.parseObject(decrypt, QueryStopCharge.class);
      QueryStopChargeResult queryStopChargeResult = new QueryStopChargeResult();
      queryStopChargeResult.setStartChargeSeq(queryStopCharge.getStartChargeSeq());
@@ -1150,17 +1195,21 @@
         queryStopChargeResult.setSuccStat(1);
         queryStopChargeResult.setFailReason(3);
         //参数加密
         String jsonString = JSON.toJSONString(queryStopChargeResult);
         String jsonString = JacksonUtils.toJson(queryStopChargeResult);
         log.info("三方平台请求停止充电响应Data:" + jsonString);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台请求停止充电响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      //参数加密
      String jsonString = JSON.toJSONString(queryStopChargeResult);
      String jsonString = JacksonUtils.toJson(queryStopChargeResult);
      log.info("三方平台请求停止充电响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台请求停止充电响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -1335,23 +1384,27 @@
   
   
   /**
    * 二维码查询抢号(快电)
    * 二维码查询枪号(快电)
    * @param baseRequest
    * @param request
    * @return
    */
   @PostMapping("/query_terminal_code")
   public BaseResult queryTerminalCode(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台二维码查询枪号请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台二维码查询枪号响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台二维码查询枪号响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台二维码查询枪号请求Data:" + decrypt);
      QueryTerminalCode queryTerminalCode = JSON.parseObject(decrypt, QueryTerminalCode.class);
      String qrCode = queryTerminalCode.getQRCode();
      String substring = qrCode.substring(qrCode.indexOf("=") + 1);
@@ -1359,10 +1412,12 @@
      queryTerminalCodeResult.setTerminalCode(substring);
      
      //参数加密
      String jsonString = JSON.toJSONString(queryTerminalCodeResult);
      String jsonString = JacksonUtils.toJson(queryTerminalCodeResult);
      log.info("三方平台二维码查询枪号响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台二维码查询枪号响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }
   
@@ -1400,7 +1455,7 @@
         //待处理相关业务逻辑
      }
      //参数加密
      String jsonString = JSON.toJSONString(notificationChargeCarnumResult);
      String jsonString = JacksonUtils.toJson(notificationChargeCarnumResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
@@ -1416,24 +1471,30 @@
    */
   @PostMapping("/query_charge_order_info")
   public BaseResult queryChargeOrderInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      log.info("三方平台账单拉取请求参数:" + JacksonUtils.toJson(baseRequest));
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         log.info("三方平台账单拉取响应Data:");
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         log.info("三方平台账单拉取响应参数:" + JacksonUtils.toJson(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      log.info("三方平台账单拉取请求Data:" + decrypt);
      QueryChargeOrderInfo queryChargeOrderInfo = JSON.parseObject(decrypt, QueryChargeOrderInfo.class);
      //构建返回结果
      QueryChargeOrderInfoResult result = buildQueryChargeOrderInfoResult(queryChargeOrderInfo);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String jsonString = JacksonUtils.toJson(result);
      log.info("三方平台账单拉取响应Data:" + jsonString);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      log.info("三方平台账单拉取响应参数:" + JacksonUtils.toJson(baseResult));
      return baseResult;
   }