From 21599e9ff5b454f7cefd14512cff1ab5f7203950 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 12 八月 2025 21:51:01 +0800
Subject: [PATCH] bug修改

---
 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  113 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 66 insertions(+), 47 deletions(-)

diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 20e4ff9..0fc2013 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -324,13 +324,21 @@
             driver.setState(3);
             driverService.updateById(driver);
         }
-
         // 查询城市的订单额度
         OpenCity openCity = openCityService.selectOne(new EntityWrapper<OpenCity>()
                 .eq("code", cityCode)
                 .ne("flag", 3)
                 .orderBy("orderMagnitude", false)
                 .last("LIMIT 1"));
+        if(Objects.isNull(openCity)){
+            String city = cityCode.substring(0, 4) + "00";
+            openCity = openCityService.selectOne(new EntityWrapper<OpenCity>()
+                    .eq("code", city)
+                    .ne("flag", 3)
+                    .orderBy("orderMagnitude", false)
+                    .last("LIMIT 1"));
+        }
+
         // 查询预估价格
         ResultUtil<List<ServerCarModelWarpper>> listResultUtil = serverCarModelService.queryServerCarModel(startLon + "," + startLat, endLon + "," + endLat, 1);
         List<ServerCarModelWarpper> data = listResultUtil.getData();
@@ -1326,36 +1334,36 @@
                 return ResultUtil.error("订单不在待支付状态,不允许支付", "");
             }
             PaymentRecord query3 = paymentRecordService.query(1, null, null, orderId, 1, null, 1);
-            if(null != query3){
-                ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI");
-                if (resultUtil1.getCode() == 200) {
-                    /**
-                     * SUCCESS--支付成功
-                     * REFUND--转入退款
-                     * NOTPAY--未支付
-                     * CLOSED--已关闭
-                     * REVOKED--已撤销(刷卡支付)
-                     * USERPAYING--用户支付中
-                     * PAYERROR--支付失败(其他原因,如银行返回失败)
-                     * ACCEPT--已接收,等待扣款
-                     */
-                    String result_code = resultUtil1.getData().get("result_code").toString();
-                    if("SUCCESS".equals(result_code)){
-                        String s = resultUtil1.getData().get("trade_state").toString();
-                        if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) {
-                            payMoneyUtil.closeWXOrder(query3.getSerialNumber());
-                            paymentRecordService.deleteById(query3.getId());
-                        }
-                        if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) {
-                            return ResultUtil.error("不允许重复支付");
-                        }
-                        if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) {
-                            payMoneyUtil.closeWXOrder(query3.getSerialNumber());
-                            paymentRecordService.deleteById(query3.getId());
-                        }
-                    }
-                }
-            }
+//            if(null != query3){
+//                ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI");
+//                if (resultUtil1.getCode() == 200) {
+//                    /**
+//                     * SUCCESS--支付成功
+//                     * REFUND--转入退款
+//                     * NOTPAY--未支付
+//                     * CLOSED--已关闭
+//                     * REVOKED--已撤销(刷卡支付)
+//                     * USERPAYING--用户支付中
+//                     * PAYERROR--支付失败(其他原因,如银行返回失败)
+//                     * ACCEPT--已接收,等待扣款
+//                     */
+//                    String result_code = resultUtil1.getData().get("result_code").toString();
+//                    if("SUCCESS".equals(result_code)){
+//                        String s = resultUtil1.getData().get("trade_state").toString();
+//                        if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) {
+//                            payMoneyUtil.closeWXOrder(query3.getSerialNumber());
+//                            paymentRecordService.deleteById(query3.getId());
+//                        }
+//                        if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) {
+//                            return ResultUtil.error("不允许重复支付");
+//                        }
+//                        if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) {
+//                            payMoneyUtil.closeWXOrder(query3.getSerialNumber());
+//                            paymentRecordService.deleteById(query3.getId());
+//                        }
+//                    }
+//                }
+//            }
     
     
     
@@ -1503,13 +1511,14 @@
 
                 userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 
-                SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId());
-                userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分
-        
+//                SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId());
+//                if(Objects.nonNull(query1)){
+//                    userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分
+//                }
+
                 //添加交易明细
                 transactionDetailsService.saveData(uid, "完成订单", orderMoney, 2, 1, 1, 1, orderId);
-                userInfoService.updateById(userInfo);
-        
+
 //                orderPrivateCar.setState(8);
                 orderPrivateCar.setPayType(3);
 //                orderPrivateCar.setPayMoney(orderMoney);
@@ -1532,6 +1541,12 @@
                     if(Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney() > 0){
                         orderPrivateCar.setPayMoney(new BigDecimal(orderMoney).add(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())).doubleValue());
                         orderPrivateCar.setOrderMoney(orderPrivateCar.getPayMoney());
+
+                        SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId());
+                        if(Objects.nonNull(query1)){
+                            userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分
+                        }
+                        userInfoService.updateById(userInfo);
                         //添加已收入明细
                         Company company = companyService.selectById(orderPrivateCar.getCompanyId());
                         Double speMoney = company.getSpeMoney();
@@ -1999,19 +2014,23 @@
         }
         if(Integer.valueOf(String.valueOf(map.get("state"))) == 7){
             OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId);
-            UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId"))));
-            if(null != query2){
-                Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
-                if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
-                    Double special = query2.getSpecial();
-                    orderPrivateCar.setDiscount(special);
-                    Double orderMoney = orderPrivateCar.getOrderMoney();
-                    double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-                    if(orderMoney.compareTo(v) > 0){
-                        map.put("discountMoney",orderMoney - v);
+            Object companyId = map.get("companyId");
+            if(Objects.nonNull(companyId)){
+                UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId"))));
+                if(null != query2){
+                    Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+                    if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
+                        Double special = query2.getSpecial();
+                        orderPrivateCar.setDiscount(special);
+                        Double orderMoney = orderPrivateCar.getOrderMoney();
+                        double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                        if(orderMoney.compareTo(v) > 0){
+                            map.put("discountMoney",orderMoney - v);
+                        }
                     }
                 }
-
+            }else{
+                map.put("discountMoney",0);
             }
         }
 

--
Gitblit v1.7.1