From 2506c3f8e3ef1ace4a258a8c5f93ddd47a51bbd2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 19 九月 2025 16:06:14 +0800
Subject: [PATCH] 修改后台司机授权逻辑判断

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml
index 788a0d4..28ce9ad 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml
@@ -32,7 +32,8 @@
     <!--用户顺风车订单 type :1待处理的订单,2根据线路、时间,人数综合匹配排序 3按时间排序最早,4距离最近排序,5价格最高 and r.startTime>=now()-->
     <select id="getOrderRide" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideVo">
         select r.*,calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance,u.avatar as headImg,u.sex,u.totalOrders,u.nickName as name,
-        r.id as userOrderId,t.id as  driverOrderId from app_order_ride r
+        r.id as userOrderId,t.id as  driverOrderId, r.startLon as lon, r.startLat as lat
+        from app_order_ride r
         left join app_order_travel t on r.travelId=t.id
         left join t_user u on r.userId=u.id
         left join t_user u1 on r.driverId=u1.driverId
@@ -57,9 +58,6 @@
             order by r.startTime asc
         </if>
         <if test="type==4">
-            order by calculate_distance(#{lat},#{lon},r.startLat, r.startLon) asc
-        </if>
-        <if test="type==5">
             order by r.money desc
         </if>
         LIMIT #{current},#{size}
@@ -67,10 +65,10 @@
     <!--获取用户身份和司机身份的订单 只需要按照时间排序-->
     <select id="getOrderRideAndTravel" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideVo">
        select * from (
-         select r.addTime,r.startTime,1 as type,r.state,r.startName,r.endName,r.userId,t.driverId,r.num,r.id as userOrderId,t.id as driverOrderId,r.money from app_order_ride r
+         select r.addTime,r.startTime,1 as type,r.state,r.startName,r.endName,r.userId,t.driverId,r.num,r.id as userOrderId,t.id as driverOrderId,r.money, r.startLon as lon, r.startLat as lat from app_order_ride r
 				left join app_order_travel t on r.travelId=t.id where r.userId=#{userId}
         UNION
-        select t.addTime,t.startTime,2 as type,t.state,t.startName,t.endName,0,t.driverId,r.num,r.id as userOrderId,t.id as driverOrderId,0 as money  from app_order_travel t
+        select t.addTime,t.startTime,2 as type,t.state,t.startName,t.endName,0,t.driverId,r.num,r.id as userOrderId,t.id as driverOrderId,0 as money, r.startLon as lon, r.startLat as lat  from app_order_travel t
 				left join app_order_ride r on r.travelId=t.id where t.driverId=#{driverId}
         ) o
         order by o.addTime desc
@@ -80,10 +78,58 @@
     <select id="getOrderInfo" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideInfoVo">
         select r.addTime,r.startTime,r.endName,r.startName,r.money,r.id as userOrderId,r.state,t.id as driverOrderId,r.isEvaluate,t.isComplaint,
         r.num,r.userId,r.driverId ,u.avatar as headImg,CASE  when r.isDai=1 then r.lxPhone else u.phone end as phone,u.sex,u.nickName as name,u.totalOrders,
-        calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance
+        calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance,r.startLat as lat, r.startLon as lon,r.endLon endLon,r.endLat endLat,
+        t.startLat as latDriver, t.startLon as lonDriver,t.endLon endLonDriver,t.endLat endLatDriver
         from (select * from app_order_ride where id=#{userOrderId}) r
         left join app_order_travel t on r.travelId=t.id
         left join app_driver_ride d on d.id=r.driverId
         left join t_user u on r.userId=u.id
     </select>
+
+    <select id="queryMyOrderList" resultType="java.util.Map">
+        SELECT
+            *
+        FROM
+            (
+                SELECT
+                    id AS orderId,
+                    DATE_FORMAT( addTime, '%Y-%m-%d %H:%i' ) AS orderTime,
+                    DATE_FORMAT( startTime, '%m月%d日 %H:%i' ) AS time,
+		startName AS startAddress,
+		endName AS endAddress,
+		driverId AS driverId,
+		( 8 ) AS orderType,
+		1 AS rideUserType,
+		startLon as startLon,
+		startLat as startLat,
+		state AS state
+                FROM
+                    app_order_ride
+                WHERE
+                    userId = #{uid}
+
+                UNION all
+
+                SELECT
+                    t1.id AS orderId,
+                    DATE_FORMAT( t1.addTime, '%Y-%m-%d %H:%i' ) AS orderTime,
+                    DATE_FORMAT( t1.startTime, '%m月%d日 %H:%i' ) AS time,
+                    t1.startName AS startAddress,
+                    t1.endName AS endAddress,
+                    t1.driverId AS driverId,
+                    ( 8 ) AS orderType,
+                    2 AS rideUserType,
+                    t1.startLon as startLon,
+                    t1.startLat as startLat,
+                    t1.state AS state
+                FROM
+                    app_order_travel t1
+                    LEFT JOIN t_user t2 ON t1.driverId = t2.driverId
+                WHERE
+                    t2.id = #{uid}
+            ) as t
+        ORDER BY
+            t.orderTime DESC
+            LIMIT #{pageNum}, #{size}
+    </select>
 </mapper>

--
Gitblit v1.7.1