From 06c5eda038f967dc0c0261e16eff0ad1a18e41e7 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 05 六月 2024 15:52:58 +0800
Subject: [PATCH] 6.5

---
 UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   61 +++++++++++++++++-------------
 1 files changed, 34 insertions(+), 27 deletions(-)

diff --git a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 4c7ef31..cdf1dd7 100644
--- a/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -33,6 +33,7 @@
 import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
 import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
 import com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl;
+import io.swagger.models.auth.In;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -302,17 +303,17 @@
         }
 
         //计算折扣
-        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderCrossCity.getCompanyId());
-        if(null != query2){
-            Double special = query2.getSpecial();
-            orderCrossCity.setDiscount(special);
-            double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-            if(orderMoney.compareTo(v) > 0){
-                orderCrossCity.setDiscountMoney(orderMoney - v);
-                orderCrossCity.setActivityId(query2.getId());
-                orderMoney = v;
-            }
-        }
+//        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderCrossCity.getCompanyId());
+//        if(null != query2){
+//            Double special = query2.getSpecial();
+//            orderCrossCity.setDiscount(special);
+//            double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+//            if(orderMoney.compareTo(v) > 0){
+//                orderCrossCity.setDiscountMoney(orderMoney - v);
+//                orderCrossCity.setActivityId(query2.getId());
+//                orderMoney = v;
+//            }
+//        }
 
         if(payType == 1){//微信支付
             String app = type == 1 ? "APP" : "JSAPI";
@@ -1389,7 +1390,7 @@
             if(null == distance){
                 System.err.println("查询距离出错了");
             }else{
-                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
+                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toPlainString();
                 t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
             }
             orderServerWarpper.setReservationMileage("0");
@@ -1421,7 +1422,7 @@
     @Override
     public ResultUtil<BaseWarpper> saveOrderFerry(String serverCarModelIds, Date travelTime, String placementLon, String placementLat, String startLon,
                                               String startLat, String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId,
-                                                  Integer place, Integer orderSource, Integer uid) throws Exception {
+                                                  Integer place, Integer orderSource, Integer uid,String name,String phone) throws Exception {
         if(ToolUtil.isEmpty(serverCarModelIds)){
             return ResultUtil.error("请选择服务车型");
         }
@@ -1444,7 +1445,7 @@
                 map.put("orderType", 2);
                 map.put("orderId", resultUtil.getData().getId());
             }else{
-                ResultUtil<BaseWarpper> resultUtil = this.orderPrivateCar(Integer.valueOf(serverModelId), travelTime, placementLon, placementLat, startLon, startLat, startAddress, endLon, endLat, endAddress, crossCityOrderId, place, orderSource, uid);
+                ResultUtil<BaseWarpper> resultUtil = this.orderPrivateCar(Integer.valueOf(serverModelId), travelTime, placementLon, placementLat, startLon, startLat, startAddress, endLon, endLat, endAddress, crossCityOrderId, place, orderSource, uid,name,phone);
                 if(resultUtil.getCode() != 200){
                     return resultUtil;
                 }
@@ -1571,7 +1572,7 @@
      * @throws Exception
      */
     private synchronized ResultUtil<BaseWarpper> orderPrivateCar(Integer serverCarModelId, Date travelTime, String placementLon, String placementLat, String startLon, String startLat,
-                                       String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId, Integer place, Integer orderSource, Integer uid) throws Exception{
+                                       String startAddress, String endLon, String endLat, String endAddress, Integer crossCityOrderId, Integer place, Integer orderSource, Integer uid,String name,String phone) throws Exception{
         //如果出行时间大于当前10分钟则默认为预约单
         Integer reservation = 1;
         if(travelTime.getTime() > (System.currentTimeMillis() + 600000)){
@@ -1604,6 +1605,8 @@
         orderPrivateCar.setEndLat(Double.valueOf(endLat));
         orderPrivateCar.setEndAddress(endAddress);
         orderPrivateCar.setSubstitute(0);
+        orderPrivateCar.setPassengers(name);
+        orderPrivateCar.setPassengersPhone(phone);
         if(orderPrivateCar.getSubstitute() == 0 || ToolUtil.isEmpty(orderPrivateCar.getPassengers())){
             UserInfo userInfo = userInfoService.selectById(uid);
             if(ToolUtil.isEmpty(userInfo.getPhone())){
@@ -1622,12 +1625,11 @@
         orderPrivateCar.setIsDelete(1);
         orderPrivateCarMapper.insert(orderPrivateCar);
 
-        //添加消息
-        systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1);
+        //添加消息        systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1);
 
         BaseWarpper baseWarpper = new BaseWarpper();
         baseWarpper.setId(orderPrivateCar.getId());
-        return ResultUtil.success(baseWarpper);
+       return ResultUtil.success(baseWarpper);
     }
 
 
@@ -1637,13 +1639,15 @@
      * @throws Exception
      */
     public void pushOrder(List<Map<String, Integer>> list) throws Exception{
+        System.err.println("====="+list);
         for(Map<String, Integer> map : list){
             Integer orderType = map.get("orderType");
-            Integer orderId = map.get("orderId");
+            Integer orderId1 = map.get("orderId");
             Thread thread = new Thread(new Runnable() {
                 @Override
                 public void run() {
                     List<Map<String, Integer>> datas = list;
+                    final Integer orderId = orderId1;
                     String vehicle = redisUtil.getValue("VEHICLE");
                     List<Integer> integers = new ArrayList<>();
                     if(ToolUtil.isNotEmpty(vehicle)){
@@ -1651,7 +1655,10 @@
                     }
                     try {
                         if(orderType == 1){//专车
+                            Thread.sleep(1000);
+                            System.err.println("====="+orderId);
                             OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId);
+                            System.err.println("====="+orderPrivateCar);
                             OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单
                             Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
                             List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数
@@ -1673,12 +1680,12 @@
                                     //删除其他无效数据
                                     for(Map<String, Integer> map : datas){
                                         Integer orderType = map.get("orderType");
-                                        Integer orderId = map.get("orderId");
+                                        Integer orderId1 = map.get("orderId");
                                         if(orderType == 1 && orderId != orderPrivateCar.getId()){
-                                            orderPrivateCarMapper.deleteById(orderId);
+                                            orderPrivateCarMapper.deleteById(orderId1);
                                         }
                                         if(orderType == 2){
-                                            orderTaxiMapper.deleteById(orderId);
+                                            orderTaxiMapper.deleteById(orderId1);
                                         }
                                     }
                                     break;
@@ -1742,12 +1749,12 @@
                                     //删除其他无效数据
                                     for(Map<String, Integer> map : datas){
                                         Integer orderType = map.get("orderType");
-                                        Integer orderId = map.get("orderId");
+                                        Integer orderId1 = map.get("orderId");
                                         if(orderType == 1){
-                                            orderPrivateCarMapper.deleteById(orderId);
+                                            orderPrivateCarMapper.deleteById(orderId1);
                                         }
-                                        if(orderType == 2 && orderId != orderTaxi.getId()){
-                                            orderTaxiMapper.deleteById(orderId);
+                                        if(orderType == 2 && orderId1 != orderTaxi.getId()){
+                                            orderTaxiMapper.deleteById(orderId1);
                                         }
                                     }
                                     break;
@@ -1794,7 +1801,7 @@
                 }
             });
             thread.start();
-            threadMap.put(orderId + "_" + orderType, thread);
+            threadMap.put(orderId1 + "_" + orderType, thread);
         }
     }
 

--
Gitblit v1.7.1