Pu Zhibing
2024-11-07 6851a3e83b5bcf27688688660073cb21bcc61eb6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -528,9 +528,9 @@
         req.setSubject("充电充值");
         req.setBuyerOpenId(appUser.getAliOpenid());
         req.setBody("充电充值");
         req.setNotifyUrl("/payment/ali/callBack");
         AliPaymentResp data = aliPaymentClient.payment(req).getData();
         if(null != data){
            data.setNotifyUrl(data.getNotifyUrl() + "/order/t-charging-order/chargingOrderALICallback");
            return AjaxResult.success(data);
         }
      }
@@ -882,8 +882,7 @@
            dto.setRefundReason("充电失败,取消充电订单");
            RefundResp resp = aliPaymentClient.refund(dto).getData();
            if(null != resp){
               SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
               AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date()));
               AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", null);
               if(success.isSuccess()){
                  chargingOrderRefundService.save(chargingOrderRefund);
               }
@@ -958,15 +957,12 @@
         Integer m = Integer.valueOf(data.getCumulative_charging_time() % 60);
         chargingDetails.setChargedTime(String.format("%02d", h) + ":" + String.format("%02d", m));
      }
      //转换成UTC时间
      ChargingHandshake chargingHandshake = chargingHandshakeClient.getDataByOrderCode(one.getCode()).getData();
      if(null != chargingHandshake && null != data && null != one.getAppUserCarId()){
         BigDecimal bms_battery_capacity = chargingHandshake.getBms_battery_capacity();
         TAppUserCar appUserCar = appUserCarClient.getCarByIds(Arrays.asList(one.getAppUserCarId())).getData().get(0);
         //   续航 = 电池容量 / 续航里程 * soc
         BigDecimal divide = bms_battery_capacity.divide(new BigDecimal(appUserCar.getEndurance()));
         BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(divide);
         chargingDetails.setEndurance(multiply);
      if(null != data && null != one.getAppUserCarId()){
         TAppUserCar appUserCar = appUserCarClient.getCarById(one.getAppUserCarId().toString()).getData();
         //   续航 = 续航里程 * soc
         BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(new BigDecimal(appUserCar.getEndurance()));
         chargingDetails.setEndurance(multiply.setScale(2, RoundingMode.HALF_EVEN));
         System.err.println("续航--" + multiply);
      }
      return chargingDetails;
   }
@@ -1289,7 +1285,7 @@
      }
      tCharingOrderVO.setTotal(total);
      tCharingOrderVO.setTime(time);
      tCharingOrderVO.setIncome(income.subtract(commissionMoney));
      tCharingOrderVO.setIncome(paymentMoney.subtract(commissionMoney));
      tCharingOrderVO.setElectronicMoney(electronicMoney);
      tCharingOrderVO.setServiceMoney(serviceMoney);
      pageInfo.setRecords(list);
@@ -2184,8 +2180,7 @@
            dto.setRefundReason("充电完成退款");
            RefundResp resp = aliPaymentClient.refund(dto).getData();
            if(null != resp){
               SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
               AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date()));
               AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", null);
               if(success.isSuccess()){
                  chargingOrderRefundService.save(chargingOrderRefund);
               }
@@ -2643,7 +2638,7 @@
         BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
         BigDecimal subtract9 = new BigDecimal("1").subtract(dto.getServicePartner());
         // 总电损费用
         BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
         BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, BigDecimal.ROUND_DOWN);
         // 平台承担电损
         BigDecimal subtract1 = divide.subtract(tSettlementConfirm.getProportionMoney());
         BigDecimal multiply = dto.getServiceMoney().multiply(subtract);