| | |
| | | if(null != data){ |
| | | //支付失败,删除无效的订单 |
| | | String tradeStatus = data.getTradeStatus(); |
| | | if(tradeStatus.equals("TRADE_CLOSED")){ |
| | | if(null != tradeStatus && tradeStatus.equals("TRADE_CLOSED")){ |
| | | this.removeById(tChargingOrder.getId()); |
| | | } |
| | | } |
| | |
| | | if(1 == doubleIntegration){ |
| | | num1 *= 2; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | GetInviteUser query = new GetInviteUser(); |
| | |
| | | chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName()); |
| | | } |
| | | } |
| | | // 获取充电时间 |
| | | UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData(); |
| | | if (data5!=null){ |
| | | if (data5.getTime_remaining()!=null){ |
| | | chargingOrderListVO.setChargingSecond(data5.getCumulative_charging_time()*60L); |
| | | |
| | | } |
| | | if (chargingOrderListVO.getStartTime()!=null && chargingOrderListVO.getEndTime()!=null){ |
| | | LocalDateTime startTime = chargingOrderListVO.getStartTime(); |
| | | LocalDateTime endTime = chargingOrderListVO.getEndTime(); |
| | | // 计算时间差 单位秒 |
| | | long between = ChronoUnit.SECONDS.between(startTime, endTime); |
| | | chargingOrderListVO.setChargingSecond(between); |
| | | } |
| | | // 获取开始SOC 结束soc |
| | | if (chargingOrderListVO.getCode()!=null){ |
| | |
| | | Site site = sites.stream().filter(e -> e.getId().equals(chargingOrderListVO.getSiteId())).findFirst().orElse(null); |
| | | if (site!=null){ |
| | | chargingOrderListVO.setSiteName(site.getName()); |
| | | } |
| | | if (chargingOrderListVO.getStartTime()!=null && chargingOrderListVO.getEndTime()!=null){ |
| | | LocalDateTime startTime = chargingOrderListVO.getStartTime(); |
| | | LocalDateTime endTime = chargingOrderListVO.getEndTime(); |
| | | // 计算时间差 单位秒 |
| | | long between = ChronoUnit.SECONDS.between(startTime, endTime); |
| | | chargingOrderListVO.setChargingSecond(between); |
| | | } |
| | | if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){ |
| | | TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData(); |
| | |
| | | public ChargingOrderListInfoVO chargingInfo(String uid) { |
| | | TChargingOrder chargingOrder= this.getById(uid); |
| | | ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO(); |
| | | chargingOrderListInfoVO.setStartTime(chargingOrder.getStartTime()); |
| | | chargingOrderListInfoVO.setEndTime(chargingOrder.getEndTime()); |
| | | chargingOrderListInfoVO.setStatus(chargingOrder.getStatus()); |
| | | BigDecimal bigDecimal = new BigDecimal("0.006"); |
| | | if (chargingOrder.getOrderAmount()!=null){ |
| | |
| | | |
| | | chargingOrderListInfoVO.setList(data6); |
| | | } |
| | | // 获取充电时间 |
| | | UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData(); |
| | | if (data5!=null){ |
| | | if (data5.getTime_remaining()!=null){ |
| | | chargingOrderListInfoVO.setChargingSecond(data5.getCumulative_charging_time()*60L+""); |
| | | |
| | | } |
| | | if (chargingOrderListInfoVO.getStartTime()!=null && chargingOrderListInfoVO.getEndTime()!=null){ |
| | | LocalDateTime startTime = chargingOrderListInfoVO.getStartTime(); |
| | | LocalDateTime endTime = chargingOrderListInfoVO.getEndTime(); |
| | | // 计算时间差 单位秒 |
| | | long between = ChronoUnit.SECONDS.between(startTime, endTime); |
| | | chargingOrderListInfoVO.setChargingSecond(between+""); |
| | | } |
| | | |
| | | if (chargingOrder.getAppUserCarId()!=null){ |
| | |
| | | */ |
| | | @Override |
| | | @GlobalTransactional(rollbackFor = Exception.class) |
| | | public void endChargeBillingCharge(TransactionRecordMessageVO vo) { |
| | | public R endChargeBillingCharge(TransactionRecordMessageVO vo) { |
| | | TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number())); |
| | | Integer status = chargingOrder.getStatus(); |
| | | if(status == 5){ |
| | | return; |
| | | return R.ok(); |
| | | } |
| | | |
| | | //如果使用优惠券需要判断优惠券是否满足使用条件 |
| | |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | R.fail("处理失败"); |
| | | } |
| | | |
| | | //开始处理明细 |
| | |
| | | discountAmount = discountAmount.setScale(4, RoundingMode.HALF_EVEN); |
| | | payAmount = payAmount.subtract(discountAmount); |
| | | periodServicePrice_total = periodServicePrice_total.subtract(discountAmount); |
| | | |
| | | |
| | | TChargingOrder order = new TChargingOrder(); |
| | | order.setId(chargingOrder.getId()); |
| | | order.setAppUserId(chargingOrder.getAppUserId()); |
| | | UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData(); |
| | | if(null != uploadRealTimeMonitoringData && null == chargingOrder.getEndMode()){ |
| | | Integer soc = uploadRealTimeMonitoringData.getSoc(); |
| | | order.setEndMode(soc > 98 ? 2 : 3); |
| | | }else{ |
| | | order.setEndMode(1); |
| | | if(soc > 98){ |
| | | order.setEndMode(2); |
| | | }else if(chargingOrder.getResidualAmount().compareTo(new BigDecimal(1)) <= 0){ |
| | | order.setEndMode(3); |
| | | }else{ |
| | | order.setEndMode(0); |
| | | } |
| | | } |
| | | order.setResidualAmount(rechargeAmount.subtract(total).setScale(2, RoundingMode.HALF_EVEN)); |
| | | order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS"))); |
| | |
| | | } |
| | | |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | |