From db7fa6a91b9534ac90e219b6f554c54c43c83a5a Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 16 八月 2023 09:28:15 +0800 Subject: [PATCH] update --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 106 insertions(+), 6 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml index f465499..ed8b623 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/OrderMapper.xml @@ -59,6 +59,7 @@ <result column="oldState" property="oldState"/> <result column="status" property="status" /> <result column="createTime" property="createTime" /> + <result column="routeRecord" property="routeRecord"/> </resultMap> @@ -69,8 +70,8 @@ b.avatar, a.userName, a.userPhone, - (select count(1) from t_order where userPhone = a.userPhone and state in (107, 108)) as orderTimes, - (select count(1) from t_order where userPhone = a.userPhone and state in (301)) as cancelTimes, + (select count(1) from t_order where userId = a.userId and state in (107, 108, 109)) as orderTimes, + (select count(1) from t_order where userId = a.userId and state in (301)) as cancelTimes, a.source, UNIX_TIMESTAMP(a.createTime) * 1000 as createTime, a.startAddress, @@ -84,7 +85,7 @@ a.startPrice from t_order a left join t_app_user b on (a.userId = b.id) - where a.`status` = 1 and a.hallOrder = 1 order by a.createTime desc + where a.`status` = 1 and a.hallOrder = 1 and a.state in (101, 201) order by a.createTime desc </select> @@ -92,11 +93,12 @@ <select id="queryOrderInfo" resultType="com.supersavedriving.driver.modular.system.warpper.OrderInfoWarpper"> select a.id, + b.id as userId, b.avatar, a.userName, a.userPhone, - (select count(1) from t_order where userPhone = a.userPhone and state in (107, 108)) as orderTimes, - (select count(1) from t_order where userPhone = a.userPhone and state in (301)) as cancelTimes, + (select count(1) from t_order where userId = a.userId and state in (107, 108, 109)) as orderTimes, + (select count(1) from t_order where userId = a.userId and state in (301)) as cancelTimes, a.source, UNIX_TIMESTAMP(a.createTime) * 1000 as createTime, a.startAddress, @@ -107,8 +109,9 @@ a.endLng, a.estimatedPrice, a.estimatedMileage, + a.estimatedTime, a.startPrice, - a.waitTime, + a.waitTime + a.outWaitTime as waitTime, a.actualMileage, a.state, (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(a.startTime)) / 60 as travelTime @@ -116,4 +119,101 @@ left join t_app_user b on (a.userId = b.id) where a.id = #{orderId} </select> + + + <select id="queryDriverOrderList" resultType="com.supersavedriving.driver.modular.system.warpper.DriverOrderListWarpper"> + select + id, + '超省新代驾订单' as title, + UNIX_TIMESTAMP(createTime) * 1000 as createTime, + startAddress, + endAddress, + state, + source + from t_order where status = 1 and driverId = #{driverId} + <if test="null != state and 107 == state"> + and state = #{state} + </if> + <if test="null != state and 109 == state"> + and state in (108, 109) + </if> + <if test="null != state and 301 == state"> + and state = #{state} + </if> + order by createTime desc limit #{pageNum}, #{pageSize} + </select> + + + <select id="queryInviteList" resultType="com.supersavedriving.driver.modular.system.warpper.InviteListWarpper"> + select * from ( + select + a.id, + a.nickname, + min(UNIX_TIMESTAMP(b.createTime) * 1000) as time, + 1 as type + from t_app_user a + left join t_order b on (a.id = b.userId) + where a.`status` = 1 and a.inviterType = 2 and a.inviterId = #{driverId} + <if test="null != time and '' != time"> + and DATE_FORMAT(b.createTime, '%Y年%m月') = #{time} + </if> + group by a.id, a.nickname + + union all + + select + a.id, + a.`name`, + min(UNIX_TIMESTAMP(b.createTime) * 1000) as time, + 2 as type + from t_driver a + left join t_order b on (a.id = b.driverId) + where a.`status` = 1 and a.approvalStatus = 2 and a.inviterType = 2 and a.inviterId = #{driverId} + <if test="null != time and '' != time"> + and DATE_FORMAT(b.createTime, '%Y年%m月') = #{time} + </if> + group by a.id, a.`name` + ) as aa where aa.time is not null order by aa.time desc limit #{pageNum}, #{pageSize} + </select> + + + <select id="queryDriverRank" resultType="com.supersavedriving.driver.modular.system.warpper.PerformanceRankingWarpper"> + select + aa.driverId, + @ROW :=@ROW + 1 as rank, + aa.name, + UNIX_TIMESTAMP(aa.createTime) * 1000 as createTime, + aa.number as amountOfData + from ( + select + a.driverId, + b.`name`, + MAX(a.createTime) as createTime, + count(1) as number + from t_order a + left join t_driver b on (a.driverId = b.id) + where a.state in (107, 108, 109) and a.`status` = 1 + <if test="null != dayType and 1 == dayType"><!--天--> + <if test="null != time and '' != time"> + and DATE_FORMAT(a.createTime, '%Y年%m月%d日') = #{time} + </if> + </if> + <if test="null != dayType and 2 == dayType"><!--月--> + <if test="null != time and '' != time"> + and DATE_FORMAT(a.createTime, '%Y年%m月') = #{time} + </if> + </if> + <if test="null != dayType and 3 == dayType"><!--年--> + <if test="null != time and '' != time"> + and DATE_FORMAT(a.createTime, '%Y年') = #{time} + </if> + </if> + group by a.driverId,b.`name` + ) as aa,( SELECT @ROW := 0 ) AS itable order by aa.number desc + </select> + + + <update id="completeCollection"> + update t_order set state = 108 where state = 107 and status = 1 and payType = 3 + </update> </mapper> \ No newline at end of file -- Gitblit v1.7.1