From f4c8c73bc5181b6d3265c6a0ce19ae13c600baa3 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 04 九月 2025 12:07:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  189 ++++++++++++++++++++++++++++++----------------
 1 files changed, 122 insertions(+), 67 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..77e3a99 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
@@ -169,9 +169,8 @@
     private IOpenCityService openCityService;
     @Autowired
     private IServerCarModelService serverCarModelService;
-//    @Autowired
-//    private ALiSendSms aLiSendSms;
-
+    @Autowired
+    private IAppOpenInfoService appOpenInfoService;
 
     @Value("${filePath}")
     private String filePath;
@@ -287,7 +286,6 @@
         orderPrivateCar.setTravelTime(travelTime);
         orderPrivateCar.setOrderType(reservation);
         orderPrivateCar.setOrderSource(orderSource);
-        orderPrivateCar.setEstimatedPrice(estimatedPrice);
         if(orderSource == 2){//扫码下单
             Driver driver = driverService.selectById(driverId);
             if(null == driver){
@@ -324,13 +322,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();
@@ -341,8 +347,10 @@
             orderPrivateCar.setState(7);
             if(orderSource == 2){
                 orderPrivateCar.setOrderMoney(data.get(0).getAmount());
+                orderPrivateCar.setEstimatedPrice(data.get(0).getAmount());
             }else {
                 orderPrivateCar.setOrderMoney(data.get(carIndex).getAmount());
+                orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount());
             }
             orderPrivateCar.setPayMethod(0);
             this.insert(orderPrivateCar);
@@ -353,6 +361,11 @@
             baseWarpper.setAmount(orderPrivateCar.getOrderMoney());
             return ResultUtil.success(baseWarpper);
         }else {
+            if(orderSource == 2){
+                orderPrivateCar.setEstimatedPrice(data.get(0).getAmount());
+            }else {
+                orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount());
+            }
             orderPrivateCar.setIsReassign(1);
             orderPrivateCar.setIsDelete(1);
             orderPrivateCar.setPayMethod(1);
@@ -1108,13 +1121,13 @@
                     Company company = companyService.selectById(orderPrivateCar.getCompanyId());
                     Double taxi = company.getSpeMoney();
                     BigDecimal c =new BigDecimal(query.getMoney());//司机收入
-                    incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue());
                     Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                     driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                     driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                     driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                     driverService.updateById(driver);
-            
+                    incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getBalance());
+
                     this.deleteTask(id);//删除定时任务
 
 //                new Thread(new Runnable() {
@@ -1158,7 +1171,11 @@
                     for(int i = 1; i <= querys.size(); i++){
                         PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0);
                         //获取空闲司机
+//                        List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                         List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
+                        List<Driver> list1 = driverService.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), 2.0D, null);//所有附近空闲司机
+                        list.addAll(list1);
+                        list = list.stream().distinct().collect(Collectors.toList());
                         if(list.size() > 0){
                             // 查询预约单
                             List<Integer> driverIds = list.stream().map(Driver::getId).collect(Collectors.toList());
@@ -1203,10 +1220,26 @@
                             // 第三轮取消订单
                             orderPrivateCar.setState(10);
                             orderPrivateCarMapper.updateById(orderPrivateCar);
+                            pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
                             // 添加站内信
                             systemNoticeService.addSystemNotice(1, "当前区域未能及时为您匹配到合适车辆。为避免耽误您的行程,系统已自动取消订单,建议您稍后重新尝试。", orderPrivateCar.getUserId(), 1);
-                            // TODO 0731 添加短信发送
-
+                            // 查询是否开启短信通知
+                            AppOpenInfo appOpenInfo = appOpenInfoService.selectOne(new EntityWrapper<AppOpenInfo>()
+                                    .eq("type", 3));
+                            if(Objects.nonNull(appOpenInfo) && appOpenInfo.getIsOpen() == 1){
+                                // 添加短信发送
+                                //发送记录集合
+                                JSONArray records = new JSONArray();
+                                JSONObject record = new JSONObject();
+                                UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
+                                //手机号
+                                record.put("mobile", userInfo.getPhone());
+                                //替换变量
+                                JSONObject param = new JSONObject();
+                                record.put("tpContent", param);
+                                records.add(record);
+                                SMSUtil.sendSmsTp(380702L, records);
+                            }
                         }
                     }
                 } catch (Exception e) {
@@ -1326,36 +1359,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 +1536,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 +1566,11 @@
                     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()));//积分
+                        }
                         //添加已收入明细
                         Company company = companyService.selectById(orderPrivateCar.getCompanyId());
                         Double speMoney = company.getSpeMoney();
@@ -1550,12 +1589,12 @@
                             c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                         }
                         incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue());
-                        incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue());
                         Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                         driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driverService.updateById(driver);
+                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                         orderPrivateCar.setState(8);
                     }else {
                         if(orderPrivateCar.getOrderSource() == 2){
@@ -1567,13 +1606,14 @@
                         orderPrivateCar.setOrderMoney(orderMoney);
                         orderPrivateCar.setPayMoney(orderMoney);
                     }
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
-                            pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
-                        }
-                    }).start();
+//                    new Thread(new Runnable() {
+//                        @Override
+//                        public void run() {
+//                            pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
+//                            pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
+//                        }
+//                    }).start();
+                    userInfoService.updateById(userInfo);
                     systemNoticeService.addSystemNotice(1, "您已使用余额成功完成出行订单支付,谢谢使用!", uid, 1);
                     if(orderPrivateCar.getState() == 1){
                         this.pushOrder(orderPrivateCar);
@@ -1581,6 +1621,7 @@
                 }else {
                     // 后付
                     orderPrivateCar.setPayMoney(orderMoney);
+                    orderPrivateCar.setState(8);
                     if(orderPrivateCar.getIsplatPay()==1){
                         //添加已收入明细
                         Company company = companyService.selectById(orderPrivateCar.getCompanyId());
@@ -1600,12 +1641,12 @@
                             c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                         }
                         incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue());
-                        incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue());
                         Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                         driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driverService.updateById(driver);
+                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                     }
 
 
@@ -1788,12 +1829,12 @@
             Company company = companyService.selectById(orderPrivateCar.getCompanyId());
             Double taxi = company.getSpeMoney();
             BigDecimal c =new BigDecimal(query.getAmount());//司机收入
-            incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue());
             Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
             driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driverService.updateById(driver);
+            incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
             this.deleteTask(orderPrivateCar.getId());//删除定时任务
 
             // TODO: 2020/5/24 这里需要给司机和用户推送订单状态
@@ -1891,12 +1932,12 @@
                             c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                         }
                         incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue());
-                        incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue());
                         Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                         driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driverService.updateById(driver);
+                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                     }else {
                         if(orderPrivateCar.getOrderSource() == 2){
                             orderPrivateCar.setState(2);
@@ -1929,12 +1970,12 @@
                             c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                         }
                         incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue());
-                        incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue());
                         Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                         driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                         driverService.updateById(driver);
+                        incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance());
                     }
                 }
                 // TODO: 2020/5/24 这里需要给司机和用户推送订单状态
@@ -1999,19 +2040,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);
             }
         }
 
@@ -2102,6 +2147,16 @@
             List<OrderPosition> list = JSONArray.parseArray(sb.toString(), OrderPosition.class);
             orderServerWarpper.setOrderPositionList(JSONObject.toJSONString(list));
         }
+        // 查询司机服务中的订单
+        OrderPrivateCar one = this.selectOne(new EntityWrapper<OrderPrivateCar>()
+                .eq("driverId", orderPrivateCar.getDriverId())
+                .eq("state", 5)
+                .orderBy("insertTime", false)
+                .last("LIMIT 1"));
+        if(Objects.nonNull(one)){
+            orderServerWarpper.setLastLon(one.getEndLon()+"");
+            orderServerWarpper.setLastLat(one.getEndLat()+"");
+        }
         return orderServerWarpper;
     }
 

--
Gitblit v1.7.1