| | |
| | | */ |
| | | @Override |
| | | public R endChargeBillingCharge(TransactionRecordMessageVO vo) { |
| | | Boolean hasKey = redisService.hasKey("endOrder:" + vo.getTransaction_serial_number()); |
| | | if(hasKey){ |
| | | return R.ok(); |
| | | } |
| | | //添加1分钟的缓存 |
| | | redisService.setCacheObject("endOrder:" + vo.getTransaction_serial_number(), vo.getTransaction_serial_number(), 1L, TimeUnit.MINUTES); |
| | | try { |
| | | TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, vo.getTransaction_serial_number())); |
| | | if(null == chargingOrder){ |
| | | return R.ok(); |
| | |
| | | chargingOrderAccountingStrategyService.remove(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId())); |
| | | SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | List<AccountingStrategyDetailOrderVo> lists = new ArrayList<>(); |
| | | try { |
| | | //跨天 |
| | | if(!vo.getStart_time().split(" ")[0].equals(vo.getEnd_time().split(" ")[0])){ |
| | | //当天的 |
| | |
| | | vo1.setChargingCapacity(sharp_peak_charge); |
| | | lists.add(vo1); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | R.fail("处理失败"); |
| | | } |
| | | |
| | | //开始处理明细 |
| | |
| | | summaryData.setElectricPrice(electronic_reduce.setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | summaryData.setServicePrice(serviceMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN)); |
| | | chargingOrderSummaryDataService.save(summaryData); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | }finally { |
| | | redisService.deleteObject("endOrder:" + vo.getTransaction_serial_number()); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |