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