Pu Zhibing
2025-02-05 bad2110204732e41ed5bc6e48b6e27fe4b6a2249
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -3,14 +3,13 @@
import com.alibaba.fastjson.JSON;
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;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.integration.drainage.kuaidian.TCECKDUtil;
import com.ruoyi.integration.drainage.kuaidian.model.NotificationStationChangeResult;
import com.ruoyi.integration.drainage.kuaidian.model.QueryTerminalCode;
import com.ruoyi.integration.drainage.kuaidian.model.QueryTerminalCodeResult;
import com.ruoyi.integration.drainage.kuaidian.model.*;
import com.ruoyi.integration.drainage.model.*;
import com.ruoyi.integration.drainage.model.enu.*;
import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
@@ -74,6 +73,9 @@
   
   @Resource
   private ParkingLotClient parkingLotClient;
   @Resource
   private ParkingRecordClient parkingRecordClient;
   
   
   
@@ -159,7 +161,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();
@@ -169,9 +171,9 @@
         queryTokenResult.setFailReason(1);
         //参数加密
         String jsonString = JSON.toJSONString(queryTokenResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      
@@ -183,9 +185,9 @@
         queryTokenResult.setFailReason(2);
         //参数加密
         String jsonString = JSON.toJSONString(queryTokenResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      
@@ -200,9 +202,9 @@
      queryTokenResult.setTokenAvailableTime(expires_in * 60);
      //参数加密
      String jsonString = JSON.toJSONString(queryTokenResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -220,7 +222,7 @@
      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();
@@ -244,9 +246,9 @@
      queryStationsInfoResult.setStationInfos(buildSite(parkingLots, siteListPaging.getRecords()));
      //参数加密
      String jsonString = JSON.toJSONString(queryStationsInfoResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -491,7 +493,7 @@
      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();
@@ -548,9 +550,9 @@
      result.setStationStatusInfos(StationStatusInfos);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -568,7 +570,7 @@
      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();
@@ -618,9 +620,9 @@
      result.setStationStats(stationStats);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -635,7 +637,7 @@
      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();
@@ -685,9 +687,9 @@
      }
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipAuthResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -703,7 +705,7 @@
      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();
@@ -724,9 +726,9 @@
         baseResult.setMsg("connectorID 参数无效");
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         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();
@@ -741,9 +743,9 @@
         queryEquipBusinessPolicyResult.setSumPeriod(0);
         //参数加密
         String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         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<>();
@@ -758,9 +760,9 @@
      queryEquipBusinessPolicyResult.setPolicyInfos(PolicyInfos);
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipBusinessPolicyResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -809,7 +811,7 @@
   
   
   /**
    * 请求定充电
    * 请求开始充电
    * @return
    */
   @PostMapping("/query_start_charge")
@@ -818,7 +820,7 @@
      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();
@@ -841,9 +843,9 @@
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      //设备离线
@@ -853,9 +855,9 @@
         result.setStartChargeSeqStat(5);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
         baseResult.setData(encrypt);
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      //调用充电接口
@@ -863,8 +865,8 @@
      addTripartitePlatformOrder.setStartChargeSeq(queryStartCharge.getStartChargeSeq());
      addTripartitePlatformOrder.setChargingGunId(tChargingGun.getId());
      addTripartitePlatformOrder.setOperatorId(operator.getOperatorId());
      addTripartitePlatformOrder.setPaymentAmount(queryStartCharge.getPaymentAmount());
      addTripartitePlatformOrder.setRechargePaymentType(queryStartCharge.getPaymentType());
      addTripartitePlatformOrder.setPaymentAmount(queryStartCharge.getChargingAmt());
      addTripartitePlatformOrder.setRechargePaymentType(0);
      addTripartitePlatformOrder.setPlateNum(queryStartCharge.getPlateNum());
      R order = chargingOrderClient.addTripartitePlatformOrder(addTripartitePlatformOrder);
      //启动失败
@@ -874,9 +876,9 @@
         result.setStartChargeSeqStat(2);
         //参数加密
         String jsonString = JSON.toJSONString(result);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         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);
@@ -884,9 +886,9 @@
      result.setFailReason(0);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -946,7 +948,7 @@
      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();
@@ -957,9 +959,9 @@
      QueryEquipChargeStatusResult queryEquipChargeStatusResult = buildQueryEquipChargeStatusResult(queryEquipChargeStatus.getStartChargeSeq());
      //参数加密
      String jsonString = JSON.toJSONString(queryEquipChargeStatusResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -1121,7 +1123,7 @@
      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();
@@ -1141,16 +1143,16 @@
         queryStopChargeResult.setFailReason(3);
         //参数加密
         String jsonString = JSON.toJSONString(queryStopChargeResult);
         String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
         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 encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   
@@ -1267,6 +1269,12 @@
      notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getTotalElectricity());
      notificationChargeOrderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
      notificationChargeOrderInfo.setTotalMoney(chargingOrder.getTotalElectricity().add(chargingOrder.getServiceCharge()));
      notificationChargeOrderInfo.setTotalDelayMoney(BigDecimal.ZERO);
      TParkingRecord parkingRecord = parkingRecordClient.getParkingRecordByChargingOrderId(chargingOrder.getId()).getData();
      if(null != parkingRecord && parkingRecord.getStatus() == 3){
         notificationChargeOrderInfo.setTotalDelayMoney(parkingRecord.getPayment());
      }
      //结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)
      switch (chargingOrder.getEndMode()){
         case 0:
@@ -1330,7 +1338,7 @@
      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();
@@ -1344,9 +1352,158 @@
      
      //参数加密
      String jsonString = JSON.toJSONString(queryTerminalCodeResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   /**
    * 推送充电车牌号
    * 客户归属运营商向设备运营商推送充电用户车牌号减免停车费,多次推送以最后一次车牌号为准
    * @param baseRequest
    * @param request
    * @return
    */
   @PostMapping("/notification_charge_carnum")
   public BaseResult notificationChargeCarnum(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.buildSign(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      NotificationChargeCarnum notificationChargeCarnum = JSON.parseObject(decrypt, NotificationChargeCarnum.class);
      NotificationChargeCarnumResult notificationChargeCarnumResult = new NotificationChargeCarnumResult();
      notificationChargeCarnumResult.setStartChargeSeqs(notificationChargeCarnum.getStartChargeSeqs());
      notificationChargeCarnumResult.setSuccStat(0);
      notificationChargeCarnumResult.setFailReason(0);
      TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(notificationChargeCarnum.getStartChargeSeqs()).getData();
      if(null == chargingOrder){
         notificationChargeCarnumResult.setSuccStat(1);
         notificationChargeCarnumResult.setFailReason(1);
      }else{
         //待处理相关业务逻辑
      }
      //参数加密
      String jsonString = JSON.toJSONString(notificationChargeCarnumResult);
      String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.buildSign(baseResult));
      return baseResult;
   }
   /**
    * 账单拉取(快电)
    * @param baseRequest
    * @param request
    * @return
    */
   @PostMapping("/query_charge_order_info")
   public BaseResult queryChargeOrderInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
      //校验token和签名
      BaseResult baseResult = requestCheck(true, baseRequest, request);
      if(0 != baseResult.getRet()){
         baseResult.setData("");
         baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
         return baseResult;
      }
      Operator operator = baseResult.getOperator();
      //解密参数
      String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
      QueryChargeOrderInfo queryChargeOrderInfo = JSON.parseObject(decrypt, QueryChargeOrderInfo.class);
      //构建返回结果
      QueryChargeOrderInfoResult result = buildQueryChargeOrderInfoResult(queryChargeOrderInfo);
      //参数加密
      String jsonString = JSON.toJSONString(result);
      String encrypt = AESUtil.encrypt(jsonString, operator.getOurDataSecret(), operator.getOurDataSecretIv());
      baseResult.setData(encrypt);
      baseResult.setSig(TCECUtil.ourBuildSign(baseResult));
      return baseResult;
   }
   /**
    * 构建充电账单拉取实体
    * @param queryChargeOrderInfo
    * @return
    */
   public QueryChargeOrderInfoResult buildQueryChargeOrderInfoResult(QueryChargeOrderInfo queryChargeOrderInfo){
      //构建返回结果
      QueryChargeOrderInfoResult queryChargeOrderInfoResult = new QueryChargeOrderInfoResult();
      List<OrderInfo> orderInfos = new ArrayList<>();
      List<String> startChargeSeqs = queryChargeOrderInfo.getStartChargeSeqs();
      List<TChargingOrder> chargingOrders = chargingOrderClient.getChargingOrderByStartChargeSeqs(startChargeSeqs).getData();
      for (TChargingOrder chargingOrder : chargingOrders) {
         if(null == chargingOrder){
            return null;
         }
         OrderInfo orderInfo = new OrderInfo();
         orderInfo.setStartChargeSeq(chargingOrder.getStartChargeSeq());
         orderInfo.setConnectorID(chargingOrder.getChargingGunId().toString());
         orderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         orderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
         orderInfo.setTotalPower(chargingOrder.getTotalElectricity());
         orderInfo.setTotalElecMoney(chargingOrder.getElectrovalence());
         orderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
         orderInfo.setTotalMoney(chargingOrder.getTotalElectricity().add(chargingOrder.getServiceCharge()));
         //结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)
         switch (chargingOrder.getEndMode()){
            case 0:
               orderInfo.setStopReason(3);
               break;
            case 1:
               orderInfo.setStopReason(0);
               break;
            case 2:
               orderInfo.setStopReason(2);
               break;
            case 3:
               orderInfo.setStopReason(4);
               break;
         }
         //构建充电明细
         List<ChargeDetail> chargeDetails = new ArrayList<>();
         List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
         LocalDateTime startTime = chargingOrder.getStartTime();
         LocalDateTime endTime = chargingOrder.getEndTime();
         String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         for (TChargingOrderAccountingStrategy datum : data) {
            ChargeDetail chargeDetail = new ChargeDetail();
            if(s_format.equals(e_format)){
               chargeDetail.setDetailStartTime(s_format + " " + datum.getStartTime() + ":00");
               chargeDetail.setDetailEndTime(s_format + " " + datum.getEndTime() + ":59");
            }else{
               String substring = datum.getEndTime().substring(0, datum.getEndTime().indexOf(":"));
               if(Integer.valueOf(substring) > 12){
                  chargeDetail.setDetailStartTime(s_format + " " + datum.getStartTime() + ":00");
                  chargeDetail.setDetailEndTime(s_format + " " + datum.getEndTime() + ":59");
               }else{
                  chargeDetail.setDetailStartTime(e_format + " " + datum.getStartTime() + ":00");
                  chargeDetail.setDetailEndTime(e_format + " " + datum.getEndTime() + ":59");
               }
            }
            chargeDetail.setElecPrice(datum.getElectrovalence());
            chargeDetail.setSevicePrice(datum.getServiceCharge());
            chargeDetail.setDetailPower(datum.getChargingCapacity());
            chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
            chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
            chargeDetails.add(chargeDetail);
         }
         orderInfo.setChargeDetails(chargeDetails);
         orderInfos.add(orderInfo);
      }
      queryChargeOrderInfoResult.setOrderInfos(orderInfos);
      return queryChargeOrderInfoResult;
   }
}