From a8996df2df6a108be7db1cdb42cee31e12d59245 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 01 十一月 2024 17:23:54 +0800 Subject: [PATCH] 合并代码 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 61 ++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 21 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index b69b73f..e1ec2a8 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -187,6 +187,9 @@ @Resource private SecurityDetectionClient securityDetectionClient; + + @Resource + private BmsDemandAndChargerExportationClient bmsDemandAndChargerExportationClient; //计数器 private Map<String, Integer> counter_map = new HashMap<>(); @@ -1103,12 +1106,12 @@ String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")); appUserIntegralChange.setCode(code); appUserIntegralChange.setAppUserId(appUser1.getId()); - appUserIntegralChange.setChangeType(5); + appUserIntegralChange.setChangeType(4); appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints()); appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1); appUserIntegralChange.setCreateTime(LocalDateTime.now()); appUserIntegralChange.setOrderCode(chargingOrder.getCode()); - appUserIntegralChange.setExtension(chargingOrder.getId().toString()); + appUserIntegralChange.setExtension(appUser.getId().toString()); appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); appUser1.setPoints(appUser1.getPoints() + num1); @@ -1734,6 +1737,10 @@ chargingOrder.setChargingCapacity(query.getCharging_degree()); chargingOrder.setElectricity(query.getCharging_degree()); chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc())); + BmsDemandAndChargerExportation data = bmsDemandAndChargerExportationClient.getBmsDemandAndChargerExportation(chargingOrder.getCode()).getData(); + if(null != data){ + chargingOrder.setNeedElec(data.getBms_current_requirements()); + } this.updateById(chargingOrder); } } @@ -1899,16 +1906,16 @@ serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount()).setScale(2, RoundingMode.DOWN); } chargingOrderAccountingStrategy.setChargingCapacity(sharp_peak_charge); - chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc); - chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge); - chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice); - chargingOrderAccountingStrategy.setVipDiscountAmount(vipDiscountAmount); + chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc.setScale(2, RoundingMode.DOWN)); + chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge.setScale(2, RoundingMode.DOWN)); + chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice.setScale(2, RoundingMode.DOWN)); + chargingOrderAccountingStrategy.setVipDiscountAmount(vipDiscountAmount.setScale(2, RoundingMode.DOWN)); chargingOrderAccountingStrategy.setCreateTime(LocalDateTime.now()); chargingOrderAccountingStrategyService.save(chargingOrderAccountingStrategy); - periodElectricPrice_total = periodElectricPrice_total.add(electrovalenc); - periodServicePrice_total = periodServicePrice_total.add(originalServicePrice); - total = total.add(electrovalenc.add(originalServicePrice)); + periodElectricPrice_total = periodElectricPrice_total.add(electrovalenc.setScale(2, RoundingMode.DOWN)); + periodServicePrice_total = periodServicePrice_total.add(originalServicePrice.setScale(2, RoundingMode.DOWN)); + total = total.add(electrovalenc.add(originalServicePrice.setScale(2, RoundingMode.DOWN))); } @@ -1958,13 +1965,13 @@ if(null == chargingOrder.getEndMode()){ order.setEndMode(1); } - order.setResidualAmount(rechargeAmount.subtract(total)); + order.setResidualAmount(rechargeAmount.subtract(total).setScale(2, RoundingMode.DOWN)); order.setStartTime(LocalDateTime.parse(vo.getStart_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS"))); order.setEndTime(LocalDateTime.parse(vo.getEnd_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SS"))); order.setStatus(5); - order.setOrderAmount(orderAmount); - order.setVipDiscountAmount(discountAmount); - order.setElectrovalence(periodElectricPrice_total); + order.setOrderAmount(orderAmount.setScale(2, RoundingMode.DOWN)); + order.setVipDiscountAmount(discountAmount.setScale(2, RoundingMode.DOWN)); + order.setElectrovalence(periodElectricPrice_total.setScale(2, RoundingMode.DOWN)); order.setChargingCapacity(vo.getTotal_electricity()); order.setElectricity(vo.getTotal_electricity()); @@ -2029,9 +2036,9 @@ } } - order.setServiceCharge(periodServicePrice_total); - order.setPaymentAmount(payAmount); - order.setRefundAmount(refundAmount); + order.setServiceCharge(periodServicePrice_total.setScale(2, RoundingMode.DOWN)); + order.setPaymentAmount(payAmount.setScale(2, RoundingMode.DOWN)); + order.setRefundAmount(refundAmount.setScale(2, RoundingMode.DOWN)); order.setRefundStatus(1); this.updateById(order); chargingOrder = this.getById(order.getId()); @@ -2045,8 +2052,8 @@ BigDecimal periodServicePrice = chargingOrderAccountingStrategy.getPeriodServicePrice(); BigDecimal multiply = couponDiscountAmount.multiply(periodServicePrice.divide(reduce, new MathContext(4, RoundingMode.HALF_EVEN))); periodServicePrice = periodServicePrice.subtract(multiply); - chargingOrderAccountingStrategy.setPeriodServicePrice(periodServicePrice); - chargingOrderAccountingStrategy.setCouponDiscountAmount(multiply); + chargingOrderAccountingStrategy.setPeriodServicePrice(periodServicePrice.setScale(2, RoundingMode.DOWN)); + chargingOrderAccountingStrategy.setCouponDiscountAmount(multiply.setScale(2, RoundingMode.DOWN)); } chargingOrderAccountingStrategyService.updateBatchById(list); } @@ -2242,6 +2249,9 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + if ((tChargingOrder.getRechargeAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){ + tChargingOrder.setStatus(5); + } TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); @@ -2308,6 +2318,10 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + if ((tChargingOrder.getPaymentAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){ + tChargingOrder.setStatus(5); + } + TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund(); chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId()); chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); @@ -2358,9 +2372,7 @@ tChargingOrder.setRefundStatus(2); tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - if (payOrderQueryDto.getRefundAmount().compareTo(tChargingOrder.getPaymentAmount())==0){ - tChargingOrder.setStatus(5); - } + shoppingOrderService.updateById(tChargingOrder); shoppingOrderRefundService.save(chargingOrderRefund); @@ -2375,6 +2387,8 @@ if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){ return R.fail("退款金额需小于支付金额"); } + + TVipOrderRefund chargingOrderRefund = new TVipOrderRefund(); chargingOrderRefund.setVipOrderId(tChargingOrder.getId()); chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); @@ -3005,4 +3019,9 @@ } return this.list(queryWrapper.orderByDesc(TChargingOrder::getCreateTime)); } + + @Override + public Long countCar(List<String> brands) { + return this.baseMapper.countCar(brands); + } } -- Gitblit v1.7.1