From d09284975427910441eeaf59d34a4d50d2fd5fdc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 24 十二月 2024 19:02:29 +0800
Subject: [PATCH] 修改bug

---
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java                          |    2 
 ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html              |    2 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml      |    2 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  100 ++++++-------
 UserAHTravel/guns-admin/src/main/resources/application.yml                                                                |    8 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java                              |    4 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java                              |    1 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml           |    5 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                 |   65 ++++----
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java                          |   22 ++
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java                 |   10 +
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml                     |    2 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml       |    5 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java                       |   11 +
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java         |   31 ++++
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java             |   11 +
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml             |    2 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java                     |    2 
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java     |   73 ---------
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java                         |   13 +
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java               |   16 ++
 UserAHTravel/guns-admin/pom.xml                                                                                           |    3 
 22 files changed, 209 insertions(+), 181 deletions(-)

diff --git a/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html b/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html
index 53a5223..47f1d97 100644
--- a/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html
+++ b/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html
@@ -16,7 +16,7 @@
 									提现冻结金额额度 <input type="number" min="0" id="withdrawFrozenAmount" value="${item.withdrawFrozenAmount}"/> 元
 								</div>
 								<div class="form-group">
-									<span style="color: red;">注意:司机提现时,系统自动验证待提现余额是都大于冻结金额,若大于则司机可提现金额为余额-冻结金额,若下雨则直接提示不能提现</span>
+									<span style="color: red;">注意:司机提现时,系统自动验证待提现余额是都大于冻结金额,若大于则司机可提现金额为余额-冻结金额,若小于则直接提示不能提现</span>
 								</div>
 							</div>
 						</div>
diff --git a/UserAHTravel/guns-admin/pom.xml b/UserAHTravel/guns-admin/pom.xml
index 5f5ce18..62ae5f4 100644
--- a/UserAHTravel/guns-admin/pom.xml
+++ b/UserAHTravel/guns-admin/pom.xml
@@ -9,8 +9,9 @@
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>guns-admin</artifactId>
+    <artifactId>user</artifactId>
     <name>guns-admin</name>
+    <version>0.0.1</version>
     <description>guns 的spring boot版本</description>
 
     <packaging>jar</packaging>
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 7e086e7..d7e56b3 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1122,44 +1122,41 @@
             // 查询当前活动的限制数量
             UserCouponRecord userCouponRecords1 = userCouponRecordService.selectById(id);
 
-            List<UserCouponRecord> userCouponRecords = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("couponId", userCouponRecords1.getCouponId()));
-
             // 获取活动限制数量
-            TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(userCouponRecords.get(0).getCouponActivityId());
-            if (tActivityGeneralization == null) {
-                throw new RuntimeException("未能找到对应的活动信息");
-            }
-            int limitQuantity = tActivityGeneralization.getMonthUseCount(); // 假设limitQuantity字段代表限制数量
-
-            // 判断当月的优惠券是否超过限制
-            Calendar currentCal = Calendar.getInstance();
-            int currentMonth = currentCal.get(Calendar.MONTH) + 1; // 当前月份
-
-            // 统计当月的优惠券使用数量
-            int usedThisMonth = 0;
-            for (UserCouponRecord record : userCouponRecords) {
-                if (record.getEndTime()==null){
-                    continue;
+            TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(userCouponRecords1.getCouponActivityId());
+            if (null != tActivityGeneralization && tActivityGeneralization.getStartTime().getTime() <= System.currentTimeMillis() && tActivityGeneralization.getEndTime().getTime() > System.currentTimeMillis()) {
+    
+                List<UserCouponRecord> userCouponRecords = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>()
+                        .eq("userId", uid).eq("couponId", userCouponRecords1.getCouponId()));
+                int limitQuantity = tActivityGeneralization.getMonthUseCount(); // 假设limitQuantity字段代表限制数量
+    
+                // 判断当月的优惠券是否超过限制
+                Calendar currentCal = Calendar.getInstance();
+                int currentMonth = currentCal.get(Calendar.MONTH) + 1; // 当前月份
+    
+                // 统计当月的优惠券使用数量
+                int usedThisMonth = 0;
+                for (UserCouponRecord record : userCouponRecords) {
+                    if (record.getEndTime()==null){
+                        continue;
+                    }
+                    Calendar recordCal = Calendar.getInstance();
+                    recordCal.setTime(record.getEndTime());
+                    int recordMonth = recordCal.get(Calendar.MONTH) + 1;
+        
+                    // 判断endTime是否在当月
+                    if (recordMonth == currentMonth) {
+                        usedThisMonth++;
+                    }
                 }
-                Calendar recordCal = Calendar.getInstance();
-                recordCal.setTime(record.getEndTime());
-                int recordMonth = recordCal.get(Calendar.MONTH) + 1;
-
-                // 判断endTime是否在当月
-                if (recordMonth == currentMonth) {
-                    usedThisMonth++;
+    
+                // 判断是否超过限制
+                if (usedThisMonth >= limitQuantity) {
+                    return ResultUtil.error("本月使用数量已经超出限制");
+                    // 这里可以添加更多的逻辑处理,比如抛出异常、记录日志等
                 }
             }
-
-            // 判断是否超过限制
-            if (usedThisMonth >= limitQuantity) {
-                return ResultUtil.error("本月使用数量已经超出限制");
-                // 这里可以添加更多的逻辑处理,比如抛出异常、记录日志等
-            } else {
-                return ResultUtil.success();
-            }
-
-
+            return ResultUtil.success();
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java
index 97285ca..d6ebc0f 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java
@@ -89,8 +89,26 @@
             return ResultUtil.runErr();
         }
     }
-
-
+    
+    
+    
+    @ResponseBody
+    @PostMapping("/queryNoticesInfo")
+    @ApiOperation(value = "获取系统消息和公告详情", tags = {"用户端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "数据类型(1=公告,2=系统消息)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "数据id", name = "id", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<Map<String, Object>> queryNoticesInfo(Integer type, Integer id){
+        Map<String, Object> map = systemNoticeService.queryNoticesInfo(type, id);
+        return ResultUtil.success(map);
+    }
+    
+    
+    
+    
+    
     /**
      * 阅读操作
      * @param id
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
index a3756e2..fc35ab2 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
@@ -176,7 +176,7 @@
         SysCouponRecord sysCouponRecord = sysCouponRecordService.selectById(tActivityGeneralization.getCouponId());
 
         int i1 = userCouponRecordService.selectCount(new EntityWrapper<UserCouponRecord>().eq("activityType", 5).eq("couponActivityId", acId).groupBy("userId"));
-        if (tActivityGeneralization.getParticipateCount()<=i1){
+        if (null != tActivityGeneralization.getParticipateCount() && tActivityGeneralization.getParticipateCount()<=i1){
             return ResultUtil.error("当前参与人数已满");
         }
 
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index 291d12a..0404e75 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -303,13 +303,13 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<UserInfoWarpper> queryUserInfo(HttpServletRequest request){
+    public ResultUtil<UserInfoWarpper> queryUserInfo(String code, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            Map<String, Object> map = userInfoService.queryUserInfo(uid);
+            Map<String, Object> map = userInfoService.queryUserInfo(code, uid);
             return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map));
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
index ca04758..81d2136 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
@@ -368,7 +368,8 @@
         state as state,
         oldState as oldState,
         remark as remark,
-        peopleNumber as num
+        peopleNumber as num,
+        carId
         from t_order_cross_city where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size}
     </select>
 
@@ -387,7 +388,7 @@
 
     <select id="queryInvoiceOrder" resultType="map">
         select
-        id as id,
+        id as orderId,
         DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
         startAddress as startAddress,
         endAddress as endAddress,
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 282bee0..788f312 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -1349,7 +1349,7 @@
     public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception {
         OrderCrossCity orderCrossCity = this.selectById(orderId);
         //计算预计距离和剩余时间
-        String value = redisUtil.getValue("DRIVER" + String.valueOf(orderCrossCity.getDriverId()));
+        String value = redisUtil.getValue("DRIVER" + orderCrossCity.getDriverId());
         if(null == value || "".equals(value)){
             System.err.println("司机没有上传位置信息");
 
@@ -1655,74 +1655,11 @@
                     }
                     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());//获取需要推送的次数
-                            for(int i = 1; i <= querys.size(); i++){
-                                //订单被抢后的处理
-                                Integer state = orderPrivateCarMapper.selectById(orderId).getState();
-                                if(state != 1){
-                                    //关闭其他推送线程
-                                    Set<String> keySet = threadMap.keySet();
-                                    for(String key : keySet){
-                                        if(!key.equals(orderId + "_1")){
-                                            Thread thread1 = threadMap.get(key);//中断线程
-                                            if(null != thread1){
-                                                thread1.interrupt();
-                                            }
-                                            threadMap.remove(key);
-                                        }
-                                    }
-                                    //删除其他无效数据
-                                    for(Map<String, Integer> map : datas){
-                                        Integer orderType = map.get("orderType");
-                                        Integer orderId1 = map.get("orderId");
-                                        if(orderType == 1 && orderId != orderPrivateCar.getId()){
-                                            orderPrivateCarMapper.deleteById(orderId1);
-                                        }
-                                        if(orderType == 2){
-                                            orderTaxiMapper.deleteById(orderId1);
-                                        }
-                                    }
-                                    break;
-                                }
-
-                                //开始进行推送的处理
-                                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);//所有附近空闲司机
-                                if(list.size() > 0){
-                                    double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
-                                    int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取)
-                                    list = list.subList(0, lastIndex);//获取空闲司机中占比数据
-                                    for(Driver driver : list){//开始进行推送
-                                        boolean bo = false;
-                                        for(Integer integer : integers){
-                                            if(integer.compareTo(driver.getId()) == 0){
-                                                bo = true;
-                                                break;
-                                            }
-                                        }
-                                        if(bo){
-                                            continue;
-                                        }
-                                        pushUtil.pushOrderState(2, driver.getId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), pushOrder.getPushTime());
-                                    }
-                                }
-
-                                //所有推送完后的处理
-                                Boolean b = pushEndMap.get(orderPrivateCar.getCrossCityOrderId());
-                                if(i == querys.size() && state == 1 && (null != b && !b.booleanValue())){
-                                    pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
-                                    OrderPrivateCarServiceImpl.orderIds.remove(orderPrivateCar.getId());
-                                    pushEndMap.put(orderPrivateCar.getCrossCityOrderId(), Boolean.TRUE);//推送后添加标识
-                                    break;
-                                }
-                                Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间
+                            //推单操作
+                            if(orderPrivateCar.getState() == 1){
+                                Integer id = orderPrivateCar.getId();
+                                redisUtil.addListRight("push_order_ids", id.toString());
                             }
                         }
 
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
index 94af681..66f3afb 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -175,7 +175,7 @@
 
     <select id="queryInvoiceOrder" resultType="map">
         select
-        id as id,
+        id as orderId,
         DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
         startAddress as startAddress,
         endAddress as endAddress,
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
index df4edbb..dbb9b74 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -342,14 +342,15 @@
         driverId as driverId,
         (1) as orderType,
         state as state,
-        oldState as oldState
+        oldState as oldState,
+        carId
         from t_order_private_car where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size}
     </select>
 
 
     <select id="queryInvoiceOrder" resultType="map">
         select
-        id as id,
+        id as orderId,
         DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
         startAddress as startAddress,
         endAddress as endAddress,
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 6610910..b6c471e 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -338,7 +338,8 @@
 
         //推单操作
         if(orderPrivateCar.getState() == 1){
-            this.pushOrder(orderPrivateCar);
+            Integer id = orderPrivateCar.getId();
+            redisUtil.addListRight("push_order_ids", id.toString());
         }
 
         //添加消息
@@ -521,36 +522,8 @@
         if(orderPrivateCar.getState() != 1){
             return ResultUtil.error("订单已被司机接单,不能重复推送");
         }
-        //处理摆渡订单的继续推单操作
-        if(orderPrivateCar.getType() == 2){
-            OrderCrossCityServiceImpl.pushEndMap.put(orderPrivateCar.getCrossCityOrderId(), false);//还原标识数据
-            List<OrderPrivateCar> list = this.selectList(new EntityWrapper<OrderPrivateCar>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
-            List<Map<String, Integer>> orders = new ArrayList<>();
-            for(OrderPrivateCar orderPrivateCar1 : list){
-                if(orderPrivateCar1.getState() != 1){
-                    return ResultUtil.error("订单已被司机接单,推单取消");
-                }
-                Map<String, Integer> map = new HashMap<>();
-                map.put("orderType", 1);
-                map.put("orderId", orderPrivateCar1.getId());
-                orders.add(map);
-            }
-//            List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
-//            for(OrderTaxi orderTaxi : list1){
-//                if(orderTaxi.getState() != 1){
-//                    return ResultUtil.error("订单已被司机接单,推单取消");
-//                }
-//                Map<String, Integer> map = new HashMap<>();
-//                map.put("orderType", 2);
-//                map.put("orderId", orderTaxi.getId());
-//                orders.add(map);
-//            }
-            //开始重新推单
-            orderCrossCityService.pushOrder(orders);
-
-        }else{
-            this.pushOrder(orderPrivateCar);
-        }
+        //继续将订单添加到推送列表中
+        redisUtil.addListLeft("push_order_ids", id.toString());
         return ResultUtil.success();
     }
 
@@ -852,11 +825,23 @@
     public boolean pushOrder1(Integer id){
         try {
             OrderPrivateCar orderPrivateCar = this.selectById(id);
+            if(1 != orderPrivateCar.getState()){
+                return true;
+            }
+            long time = System.currentTimeMillis() - orderPrivateCar.getInsertTime().getTime();
             Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司
+            List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数
+            long pushTime = 0;
+            if(null != querys && querys.size() > 0){
+                pushTime = querys.stream().mapToInt(PushOrder::getPushTime).sum() * 1000;
+            }
+            if(time >= pushTime){
+                pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
+                return true;
+            }
+            
             List<Driver> drivers = driverMapper.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), query.getId());
-            System.err.println("当前获取的司机:"+drivers);
-        
-            List<Driver> list = new ArrayList<>();
+            System.err.println("当前获取的司机:"+ JSON.toJSONString(drivers));
         
             //找出距离最近且评分最高的司机
             Double dis = 100000D;
@@ -868,6 +853,7 @@
                     continue;
                 }
                 String value = redisUtil.getValue("DRIVER" + driver.getId());
+                System.err.println("------" + value);
                 if(null != value){
                     Map<String, Double> distance1 = geodesyUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value);
                     double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -883,6 +869,7 @@
                     }
                 }
             }
+            System.err.println("------" + JSON.toJSONString(driver1));
             if(null != driver1){
                 orderPrivateCar.setDriverId(driver1.getId());
                 orderPrivateCar.setCarId(driver1.getCarId());
@@ -1394,28 +1381,33 @@
     @Override
     public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception {
         OrderPrivateCar orderPrivateCar = this.selectById(orderId);
-        //计算预计距离和剩余时间
-        String value = redisUtil.getValue("DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
-        if(null == value || "".equals(value)){
-            System.err.println("司机没有上传位置信息");
-
-            //调用获取轨迹中的数据
-            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
-            if(list.size() > 0){
-                Map<String, Object> map = list.get(list.size() - 1);
-                value = map.get("lon") + "," + map.get("lat");
-            }
-
-        }
-        Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), 1);
+        String value = null;
         String d = "0";
         String t = "0";
-        if(null == distance){
-            System.err.println("查询距离出错了");
-        }else{
-            d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
-            t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
+        if(null != orderPrivateCar.getDriverId()){
+            //计算预计距离和剩余时间
+            value = redisUtil.getValue("DRIVER" + orderPrivateCar.getDriverId());
+            if(null == value || "".equals(value)){
+                System.err.println("司机没有上传位置信息");
+        
+                //调用获取轨迹中的数据
+                List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
+                if(list.size() > 0){
+                    Map<String, Object> map = list.get(list.size() - 1);
+                    value = map.get("lon") + "," + map.get("lat");
+                }
+        
+            }
+            Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), 1);
+    
+            if(null == distance){
+                System.err.println("查询距离出错了");
+            }else{
+                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
+                t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
+            }
         }
+        
         OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
         orderServerWarpper.setOrderId(orderPrivateCar.getId());
         orderServerWarpper.setOrderType(1);
@@ -1432,7 +1424,7 @@
             orderServerWarpper.setLaveTime("0");
         }
         if(orderPrivateCar.getState() == 5 || orderPrivateCar.getState() == 6){//服务中
-            distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), 1);
+            Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), 1);
             if(null == distance){
                 System.err.println("查询距离出错了");
             }else{
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java
new file mode 100644
index 0000000..2b39fd2
--- /dev/null
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java
@@ -0,0 +1,11 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.stylefeng.guns.modular.system.model.Region;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/12/18 16:39
+ */
+public interface IRegionService extends IService<Region> {
+}
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
index 6d7e663..20e9ec1 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
@@ -36,6 +36,16 @@
      * @return
      */
     List<Map<String, Object>> queryList(Integer type, Integer pageNum, Integer size, Integer uid);
+    
+    
+    /**
+     * 获取系统消息详情
+     * @param type
+     * @param id
+     * @return
+     */
+    Map<String, Object> queryNoticesInfo(Integer type, Integer id);
+    
 
 
     /**
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
index 4cebd23..860045f 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
@@ -123,7 +123,7 @@
      * @return
      * @throws Exception
      */
-    Map<String, Object> queryUserInfo(Integer uid) throws Exception;
+    Map<String, Object> queryUserInfo(String code, Integer uid) throws Exception;
 
 
     /**
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java
new file mode 100644
index 0000000..40bf412
--- /dev/null
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.dao.RegionMapper;
+import com.stylefeng.guns.modular.system.model.Region;
+import com.stylefeng.guns.modular.system.service.IRegionService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/12/18 16:40
+ */
+@Service
+public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService {
+
+}
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
index 509814b..17840aa 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
@@ -4,11 +4,13 @@
 import com.stylefeng.guns.modular.system.dao.SystemNoticeMapper;
 import com.stylefeng.guns.modular.system.dao.TNoticesMapper;
 import com.stylefeng.guns.modular.system.model.SystemNotice;
+import com.stylefeng.guns.modular.system.model.TNotices;
 import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -77,8 +79,33 @@
         }
         return list;
     }
-
-
+    
+    
+    /**
+     * 获取系统消息详情
+     * @param type
+     * @param id
+     * @return
+     */
+    @Override
+    public Map<String, Object> queryNoticesInfo(Integer type, Integer id) {
+        Map<String, Object> map = new HashMap<>();
+        if(type == 1){//系统公告
+            SystemNotice systemNotice = systemNoticeMapper.selectById(id);
+            TNotices tNotices = tNoticesMapper.selectById(systemNotice.getNoticesId());
+            map.put("id", id);
+            map.put("title", tNotices.getTitle());
+            map.put("img", tNotices.getImgUrl());
+            map.put("content", tNotices.getContent());
+        }
+        if(type == 2){//系统消息
+            SystemNotice systemNotice = systemNoticeMapper.selectById(id);
+            map.put("id", id);
+            map.put("content", systemNotice.getContent());
+        }
+        return map;
+    }
+    
     /**
      * 阅读操作
      * @param id
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 2159f6c..a723452 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -286,7 +286,6 @@
             userInfo.setState(1);
             userInfo.setAvatar("https://anhenew.obs.cn-north-4.myhuaweicloud.com/admin/cca63b23e3a84c89a01e5204c1819497.png");
 
-
             this.insert(userInfo);
 
             addnewCoupoun(phone,userInfo);
@@ -826,7 +825,13 @@
      * @throws Exception
      */
     @Override
-    public Map<String, Object> queryUserInfo(Integer uid) throws Exception {
+    public Map<String, Object> queryUserInfo(String code, Integer uid) throws Exception {
+        Map<String, String> map = weChatUtil.code2Session(code);
+        UserInfo userInfo = userInfoMapper.selectById(uid);
+        if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
+            userInfo.setAppletsOpenId(map.get("openid"));
+            userInfoMapper.updateById(userInfo);
+        }
         return userInfoMapper.queryUserInfo(uid, null);
     }
 
@@ -1312,7 +1317,7 @@
      */
     private synchronized void addCoupon(UserInfo userInfo) throws Exception{
         //添加优惠券
-        List<Map<String, Object>> list = userActivityRegisteredService.query(userInfo.getCompanyId());
+        List<Map<String, Object>> list = userActivityRegisteredService.query(null == userInfo.getCompanyId() ? 1 : userInfo.getCompanyId());
         int num = 0;
         for(Map<String, Object> map : list){
             if(null != map){
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
index 60d8a1c..34c4111 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
@@ -62,6 +62,7 @@
         String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret
                 + "&js_code=" + jscode + "&grant_type=authorization_code";
         String forObject = restTemplate.getForObject(url, String.class);
+        System.err.println(forObject);
         JSONObject jsonObject = JSON.parseObject(forObject);
         int errcode = jsonObject.getIntValue("errcode");
         Map<String, String> map = new HashMap<>();
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
index d3b797c..c57f588 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
@@ -50,6 +50,8 @@
     @ApiModelProperty("订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)")
     private Integer orderType;
     private Long insertTime;
+    
+    private Integer carId;
 
     public Integer getOrderId() {
         return orderId;
@@ -194,7 +196,15 @@
     public void setDifferenceMoney(Double differenceMoney) {
         this.differenceMoney = differenceMoney;
     }
-
+    
+    public Integer getCarId() {
+        return carId;
+    }
+    
+    public void setCarId(Integer carId) {
+        this.carId = carId;
+    }
+    
     @Override
     public String toString() {
         return "OrderWarpper{" +
@@ -240,6 +250,7 @@
                 orderWarpper.setCarTime(null != map.get("carTime") ? Double.parseDouble(String.valueOf(map.get("carTime"))) : 0);
                 orderWarpper.setServerCarModel(null != map.get("serverCarModel") ? String.valueOf(map.get("serverCarModel")) : "");
                 orderWarpper.setDifferenceMoney(null != map.get("differenceMoney") ? Double.valueOf(map.get("differenceMoney").toString()) : 0D);
+                orderWarpper.setCarId(null != map.get("carId") ? Integer.valueOf(map.get("carId").toString()) : 0);
                 list.add(orderWarpper);
             }
         }
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
index 7095723..b06cfcf 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
@@ -169,7 +169,7 @@
 
     <select id="queryInvoiceOrder" resultType="map">
         select
-        id as id,
+        id as orderId,
         DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
         startAddress as startAddress,
         endAddress as endAddress,
diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml
index 85b1481..d43dcc3 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml
@@ -349,7 +349,7 @@
 
     <select id="queryInvoiceOrder" resultType="map">
         select
-        id as id,
+        id as orderId,
         DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time,
         startAddress as startAddress,
         endAddress as endAddress,
diff --git a/UserAHTravel/guns-admin/src/main/resources/application.yml b/UserAHTravel/guns-admin/src/main/resources/application.yml
index 99b41f4..d84417f 100644
--- a/UserAHTravel/guns-admin/src/main/resources/application.yml
+++ b/UserAHTravel/guns-admin/src/main/resources/application.yml
@@ -91,10 +91,10 @@
   grantType: authorization_code #填authorization_code
   appid: 111 #应用唯一标识,在微信开放平台提交应用审核通过后获得
   appSecret: 111 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
-  appletsAppid: wxe91f1af7638aa5dd #小程序APPid
-  appletsAppSecret: a787e1a462715604e0c9528b6d8960d1 #
-  mchId: 1678345627 #微信支付分配的商户号
-  key: E10ADC3949BA59ABBE56E057F20F883E #key为商户平台设置的密钥key:
+  appletsAppid: wx3f6d567c18a87641 #小程序APPid
+  appletsAppSecret: 2fc56292246fc573644980890434b157 #
+  mchId: 1618978168 #微信支付分配的商户号
+  key: BTisLYCrwstKZRTBZef5pe51SCA7Kxe1 #key为商户平台设置的密钥key:
 
 ---
 

--
Gitblit v1.7.1