| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private ParkingLotClient parkingLotClient; |
| | | |
| | | @Resource |
| | | private ParkingRecordClient parkingRecordClient; |
| | | |
| | | |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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(); |
| | |
| | | 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<>(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 请求定充电 |
| | | * 请求开始充电 |
| | | * @return |
| | | */ |
| | | @PostMapping("/query_start_charge") |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | //设备离线 |
| | |
| | | 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; |
| | | } |
| | | //调用充电接口 |
| | |
| | | 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); |
| | | //启动失败 |
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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: |
| | |
| | | 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 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; |
| | | } |
| | | } |