yanderong
2026-07-11 1baa21c114f634b8ecc3af64efcfaab6a57a571e
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.common.constant.state.BalanceChangeType;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.crossCity.dao.OrderCrossCityMapper;
@@ -1348,6 +1349,7 @@
//                if(resultUtil.getCode()==500){
//                    return ResultUtil.error("电子余额不足,无法完成支付");
//                }
            userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
            //添加交易明细
            transactionDetailsService.saveData(uid, "快车取消订单", query.getMoney(), 2, 1, 1, 1, id);
@@ -2126,7 +2128,7 @@
         if (userInfo.getBalance() == null || userInfo.getBalance() < orderMoney) {
            return ResultUtil.error("余额不足,无法完成支付", "");
         }
         userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
         userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         
         boolean isPrepayFirstStage = isPrivateCarPrepayFirstStage(orderPrivateCar);
@@ -2441,7 +2443,7 @@
         if (userInfo.getBalance() == null || userInfo.getBalance() < orderMoney) {
            return ResultUtil.error("余额不足,无法完成支付");
         }
         userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
         userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         boolean isPrepayFirstStage = isPrivateCarPrepayFirstStage(orderPrivateCar);
@@ -2843,6 +2845,7 @@
   private ResultUtil refundPrivateCarPrepayDifference(OrderPrivateCar orderPrivateCar, UserInfo userInfo, Double refundAmount) throws Exception {
      if (Integer.valueOf(3).equals(orderPrivateCar.getPayType())) {
         userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
         userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0D)
               .add(toMoney(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         userInfoService.updateById(userInfo);
@@ -3035,6 +3038,7 @@
         if (userInfo == null) {
            throw new RuntimeException("用户信息不存在,无法退款");
         }
         userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
         userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
               .add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         userInfoService.updateById(userInfo);
@@ -3086,6 +3090,7 @@
         if (userInfo == null) {
            return ResultUtil.error("用户信息不存在,无法退款");
         }
         userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
         userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
               .add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         userInfoService.updateById(userInfo);
@@ -3411,6 +3416,7 @@
//            if(resultUtil.getCode()==500){
//                return ResultUtil.error("电子余额不足,无法完成支付");
//            }
         userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
         userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
         
         OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());