longz
2026-05-11 496ef92b09b1be5dc1beb4ecf031cfc20edbeb94
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -1149,10 +1149,11 @@
//            return ResultUtil.success(map);
         }
      }else if(!Integer.valueOf(2).equals(orderPrivateCar.getPaymentMode()) && StrUtil.isEmpty(orderPrivateCar.getPrepaySecondPayNo())){
         UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
         userInfo.setBalance(userInfo.getBalance() + orderPrivateCar.getPayMoney());
         userInfoService.updateById(userInfo);
         if (orderPrivateCar.getPayMoney() != null){
            UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
            userInfo.setBalance(userInfo.getBalance() + orderPrivateCar.getPayMoney());
            userInfoService.updateById(userInfo);
         }
      }
      Integer number1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("pid", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
      Integer number2 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("id", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
@@ -2895,8 +2896,50 @@
   }
   private ResultUtil handlePrivateCarPrepayCancelRefund(OrderPrivateCar orderPrivateCar, String reason, String remark, Integer uid) throws Exception {
      System.out.println("快车退款!!!!");
      if (!isPrivateCarPrepayMode(orderPrivateCar)) {
         return null;
      }
      if (Integer.valueOf(3).equals(orderPrivateCar.getPayType())) {
         Double refundAmount = orderPrivateCar.getPayMoney();
         System.out.println("快车余额退款金额!!!!"+ refundAmount);
         if (refundAmount == null || refundAmount <= 0) {
            return ResultUtil.error("余额先付订单退款金额异常");
         }
         UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
         if (userInfo == null) {
            return ResultUtil.error("用户信息不存在,无法退款");
         }
         userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
               .add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         userInfoService.updateById(userInfo);
         restorePrivateCarBenefits(orderPrivateCar);
         transactionDetailsService.saveData(orderPrivateCar.getUserId(), "快车取消订单退款", refundAmount, 1, 1, 1, 1, orderPrivateCar.getId());
         orderCancelService.saveData(orderPrivateCar.getId(), 1,
               ToolUtil.isNotEmpty(reason) ? reason : "无司机接单",
               ToolUtil.isNotEmpty(remark) ? remark : (ToolUtil.isNotEmpty(reason) ? reason : "无司机接单"),
               1, refundAmount, 2, 1, uid);
         orderPrivateCar.setState(10);
         orderPrivateCar.setPrepayStage(5);
         orderPrivateCar.setPrepayRefundNo("BALANCE_REFUND_1_" + orderPrivateCar.getId() + "_" + ToolUtil.getRandomString(5));
         orderPrivateCar.setPrepayRefundAmount(refundAmount);
         orderPrivateCar.setPrepayRefundTime(new Date());
         this.updateById(orderPrivateCar);
         if (orderPrivateCar.getDriverId() != null) {
            this.deleteTask(orderPrivateCar.getId());
            pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
            Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
            if (driver != null) {
               driver.setState(2);
               driverService.updateById(driver);
            }
            if (orderPrivateCar.getBindId() != null) {
               chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(), orderPrivateCar.getTelX(), (System.currentTimeMillis() + 600000));
            }
         }
         System.out.println("余额退款通知940");
         systemNoticeService.addSystemNotice(1, "您的快车余额先付订单已取消,退款已退回账户余额,请注意查收。", orderPrivateCar.getUserId(), 1);
         return ResultUtil.success();
      }
      String outRequestNo = orderPrivateCar.getPrepaySecondPayNo();
      if (ToolUtil.isEmpty(outRequestNo)) {
@@ -3500,12 +3543,13 @@
                     }else {
                        // 没找到车辆
                        Thread.sleep(5000);
                        ResultUtil refundResult = handlePrivateCarPrepayCancelRefund(orderPrivateCar, "无司机接单", "无司机接单", orderPrivateCar.getUserId());
                        if (refundResult == null) {
                           orderPrivateCar.setState(10);
                           orderPrivateCarMapper.updateById(orderPrivateCar);
                        }
                        pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 1);
                        pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 10);
                     }