liujie
2025-07-26 5837752712a51ea1143797f88d84fee10e38084c
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -204,20 +204,26 @@
    public synchronized ResultUtil<BaseWarpper> taxiOrder(OrderTaxi orderTaxi, Integer uid) throws Exception {
        //定义用户所属公司
        UserInfo userInfo1 = userInfoService.selectById(uid);
        if (null == userInfo1 || userInfo1.getFlag() == 3) {
            return ResultUtil.error("无效的账户");
        }
        if (2 == userInfo1.getState()) {
            return ResultUtil.error("账号已被冻结,请联系管理员");
        }
        Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
        if(null == query){
        if (null == query) {
            return ResultUtil.error("出发点暂未开通");
        }
        if(null != userInfo1.getCompanyId() && 0 != userInfo1.getCompanyId()){
        if (null != userInfo1.getCompanyId() && 0 != userInfo1.getCompanyId()) {
            userInfo1.setCompanyId(query.getId());
            userInfoService.updateById(userInfo1);
        }
        if(orderTaxi.getTravelTime().getTime() > (System.currentTimeMillis() + 600000)){
        if (orderTaxi.getTravelTime().getTime() > (System.currentTimeMillis() + 600000)) {
            orderTaxi.setOrderType(2);
        }
        /**
         * 1.出租车、专车、跨城有待支付的订单不能叫车
         * 2.小件物流有未完成的订单可以下跨城、专车、出租车
@@ -609,22 +615,22 @@
//                    resultUtil = ResultUtil.error(map.get("msg"), "");
//                }
            }
            if(payType == 3){//余额支付
                if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
            if(payType == 3) {//余额支付
                if (userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()) {
                    return ResultUtil.error("余额不足,无法完成支付");
                }
                resultUtil= appOrderController.moneyPay(id,userInfo.getId(),query.getMoney());
                if(resultUtil.getCode()==500){
                    return ResultUtil.error("电子余额不足,无法完成支付");
                }
//                resultUtil= appOrderController.moneyPay(id,userInfo.getId(),query.getMoney());
//                if(resultUtil.getCode()==500){
//                    return ResultUtil.error("电子余额不足,无法完成支付");
//                }
                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, 2, id);
                userInfoService.updateById(userInfo);
                //解除小号绑定
                if(orderTaxi.getBindId() != null){
                if (orderTaxi.getBindId() != null) {
                    chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(), orderTaxi.getTelX(), (System.currentTimeMillis() + 600000));
                }
@@ -1736,7 +1742,7 @@
                endPushWarpper.setState(1);
                List<PushOrder> querys = pushOrderService.querys(null, 2, orderTaxi.getCompanyId());//获取需要推送的次数
                int time = 0;
                for(int i = 1; i <= querys.size(); i++){
                for(int i = 1; i <= querys.size()+5; i++){
                    PushOrder pushOrder = pushOrderService.querys(i, 2, orderTaxi.getCompanyId()).get(0);
                    time += pushOrder.getPushTime() * 1000;
                }
@@ -1880,7 +1886,7 @@
            userRedPacketRecord.setUserId(orderTaxi.getUserId());
            userRedPacketRecordService.insert(userRedPacketRecord);
        }
        appOrderController.moneyPay(orderTaxi.getId(),orderTaxi.getUserId(),money);
//        appOrderController.moneyPay(orderTaxi.getId(),orderTaxi.getUserId(),money);
        return ResultUtil.success(baseWarpper);
    }
@@ -2093,7 +2099,7 @@
                    }
                    Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                    List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
                    for (int i = 1; i <= querys.size(); i++) {
                    for (int i = 1; i <= querys.size()+5; i++) {
                        PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0);
                        System.out.println("pushOrder:" + pushOrder);
                        //获取空闲司机
@@ -2124,7 +2130,7 @@
                        if (state != 1) {
                            break;
                        }
                        if (i == querys.size() && state == 1) {
                        if (i == querys.size()+5 && state == 1) {
                            pushUtil.pushEndPush(1, orderTaxi.getUserId(), orderTaxi.getId(), 2);
                            orderIds.remove(orderTaxi.getId());
                        }
@@ -2159,23 +2165,23 @@
            resultUtil = payMoneyUtil.alipay("感谢费", "感谢费", "", orderId + "_2_" + UUIDUtil.getRandomCode(5), money.toString(), "/base/aliPayThankYouFee");
            paymentRecordService.saveData(1, uid, 1, orderId, 2, 2, money, "", 1);//添加预支付数据
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < money){
        if(payType == 3) {//余额支付
            if (userInfo.getBalance() == null || userInfo.getBalance() < money) {
                return ResultUtil.error("余额不足,无法完成支付");
            }
            resultUtil= appOrderController.moneyPay(orderId,userInfo.getId(),money);
            if(resultUtil.getCode()==500){
                return ResultUtil.error("电子余额不足,无法完成支付");
            }
//            resultUtil= appOrderController.moneyPay(orderId,userInfo.getId(),money);
//            if(resultUtil.getCode()==500){
//                return ResultUtil.error("电子余额不足,无法完成支付");
//            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
            SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId());
            userInfo.setIntegral(userInfo.getIntegral() + (money.intValue() * query1.getIntegral()));//积分
            //添加交易明细
            transactionDetailsService.saveData(uid, "出租车-感谢费", money, 2, 1, 1, 2, orderId);
            userInfoService.updateById(userInfo);
            orderTaxi.setThankYouFee(money);
            this.updateById(orderTaxi);