puzhibing
2025-02-06 fd90eaebe2d70d1f7cf7ee511f084e0b97fc16a2
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -1,9 +1,9 @@
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.chargingPile.api.vo.GetParkingRecord;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.utils.StringUtils;
@@ -20,7 +20,7 @@
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.*;
@@ -41,6 +41,7 @@
 * @author zhibing.pu
 * @Date 2025/1/21 17:52
 */
@Slf4j
@RestController
@RequestMapping("/evcs/v1.0")
public class TCECController {
@@ -68,9 +69,7 @@
   
   @Resource
   private TokenUtil tokenUtil;
   private static Map<Long, Integer> map = new HashMap<>();
   @Resource
   private ParkingLotClient parkingLotClient;
   
@@ -91,22 +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中的无效数据
      for (Long k : map.keySet()) {
         if(k <= (mapKey - 10)){
            map.remove(k);
         }
      }
      baseResult.setSeq("0001");
      //校验token和签名
      String operatorID = baseRequest.getOperatorID();
      String sig = baseRequest.getSig();
@@ -127,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");
@@ -136,15 +121,15 @@
      }
      
      Operator operator = r.getData();
      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("签名校验失败");
         return baseResult;
      }
      baseResult.setOperator(operator);
      return baseResult;
   }
   
@@ -161,7 +146,7 @@
      BaseResult baseResult = requestCheck(false, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      QueryTokenResult queryTokenResult = new QueryTokenResult();
@@ -170,24 +155,24 @@
         queryTokenResult.setSuccStat(1);
         queryTokenResult.setFailReason(1);
         //参数加密
         String jsonString = JSON.toJSONString(queryTokenResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(queryTokenResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getOurDataSecret(), operator.getOurDataSecretIv());
      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 encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(queryTokenResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      
@@ -195,16 +180,17 @@
      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 encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryTokenResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -222,12 +208,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryStationsInfo queryStationsInfo = JSON.parseObject(decrypt, QueryStationsInfo.class);
      Integer pageNo = queryStationsInfo.getPageNo();
      Integer pageSize = queryStationsInfo.getPageSize();
@@ -245,10 +231,10 @@
      queryStationsInfoResult.setItemSize(Long.valueOf(siteListPaging.getTotal()).intValue());
      queryStationsInfoResult.setStationInfos(buildSite(parkingLots, siteListPaging.getRecords()));
      //参数加密
      String jsonString = JSON.toJSONString(queryStationsInfoResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryStationsInfoResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -268,8 +254,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());
@@ -312,7 +298,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());
@@ -493,12 +479,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      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();
@@ -549,10 +535,10 @@
      }
      result.setStationStatusInfos(StationStatusInfos);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -570,12 +556,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryStationStats queryStationStats = JSON.parseObject(decrypt, QueryStationStats.class);
      QueryStationStatsResult result = new QueryStationStatsResult();
      ChargingPercentProvinceDto dto = new ChargingPercentProvinceDto();
@@ -619,10 +605,10 @@
      stationStats.setEquipmentStatsInfos(EquipmentStatsInfos);
      result.setStationStats(stationStats);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -637,12 +623,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryEquipAuth queryEquipAuth = JSON.parseObject(decrypt, QueryEquipAuth.class);
      String connectorID = queryEquipAuth.getConnectorID();
      TChargingGun tChargingGun = chargingGunClient.getChargingGunById(Integer.valueOf(connectorID)).getData();
@@ -686,10 +672,10 @@
            break;
      }
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipAuthResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryEquipAuthResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -705,12 +691,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryEquipBusinessPolicy queryEquipBusinessPolicy = JSON.parseObject(decrypt, QueryEquipBusinessPolicy.class);
      
      //构建返回结果
@@ -725,10 +711,10 @@
         baseResult.setRet(4004);
         baseResult.setMsg("connectorID 参数无效");
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      Integer accountingStrategyId = tChargingGun.getAccountingStrategyId();
@@ -742,10 +728,10 @@
         queryEquipBusinessPolicyResult.setFailReason(1);
         queryEquipBusinessPolicyResult.setSumPeriod(0);
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      List<PolicyInfo> PolicyInfos = new ArrayList<>();
@@ -759,10 +745,10 @@
      queryEquipBusinessPolicyResult.setSumPeriod(PolicyInfos.size());
      queryEquipBusinessPolicyResult.setPolicyInfos(PolicyInfos);
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryEquipBusinessPolicyResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -820,12 +806,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryStartCharge queryStartCharge = JSON.parseObject(decrypt, QueryStartCharge.class);
      
      //构建返回结果
@@ -842,10 +828,10 @@
         result.setFailReason(1);
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      //设备离线
@@ -854,10 +840,10 @@
         result.setFailReason(2);
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      //调用充电接口
@@ -875,20 +861,20 @@
         result.setFailReason(1);
         result.setStartChargeSeqStat(2);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      result.setStartChargeSeqStat(1);
      result.setSuccStat(0);
      result.setFailReason(0);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -948,20 +934,20 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryEquipChargeStatus queryEquipChargeStatus = JSON.parseObject(decrypt, QueryEquipChargeStatus.class);
      //校验token和签名
      QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(queryEquipChargeStatus.getStartChargeSeq());
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipChargeStatusResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryEquipChargeStatusResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -1123,12 +1109,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryStopCharge queryStopCharge = JSON.parseObject(decrypt, QueryStopCharge.class);
      QueryStopChargeResult queryStopChargeResult = new QueryStopChargeResult();
      queryStopChargeResult.setStartChargeSeq(queryStopCharge.getStartChargeSeq());
@@ -1142,17 +1128,17 @@
         queryStopChargeResult.setSuccStat(1);
         queryStopChargeResult.setFailReason(3);
         //参数加密
         String jsonString = JSON.toJSONString(queryStopChargeResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String jsonString = JacksonUtils.toJson(queryStopChargeResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      //参数加密
      String jsonString = JSON.toJSONString(queryStopChargeResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryStopChargeResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -1338,12 +1324,12 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryTerminalCode queryTerminalCode = JSON.parseObject(decrypt, QueryTerminalCode.class);
      String qrCode = queryTerminalCode.getQRCode();
      String substring = qrCode.substring(qrCode.indexOf("=") + 1);
@@ -1351,10 +1337,10 @@
      queryTerminalCodeResult.setTerminalCode(substring);
      
      //参数加密
      String jsonString = JSON.toJSONString(queryTerminalCodeResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(queryTerminalCodeResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -1392,7 +1378,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));
@@ -1412,20 +1398,20 @@
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(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());
      QueryChargeOrderInfo queryChargeOrderInfo = JSON.parseObject(decrypt, QueryChargeOrderInfo.class);
      //构建返回结果
      QueryChargeOrderInfoResult result = buildQueryChargeOrderInfoResult(queryChargeOrderInfo);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String jsonString = JacksonUtils.toJson(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }