From 3ef388b922400f979788958d9b2823af4fcd7b07 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 22 八月 2023 09:14:01 +0800
Subject: [PATCH] 2.0 新增
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml | 245 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 230 insertions(+), 15 deletions(-)
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index 3312641..716b201 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -20,6 +20,12 @@
<result column="endLng" property="endLng" />
<result column="boardingTime" property="boardingTime" />
<result column="getoffTime" property="getoffTime" />
+ <result column="boardingAddress" property="boardingAddress"/>
+ <result column="boardingLng" property="boardingLng"/>
+ <result column="boardingLat" property="boardingLat"/>
+ <result column="debusAddress" property="debusAddress"/>
+ <result column="debusLng" property="debusLng"/>
+ <result column="debusLat" property="debusLat"/>
<result column="estimatedPrice" property="estimatedPrice" />
<result column="orderMoney" property="orderMoney" />
<result column="payMoney" property="payMoney" />
@@ -60,8 +66,8 @@
o.id, o.code, o.userId, o.driverId, o.`source`, o.agentId, o.branchOfficeId, o.startTime, o.startAddress, o.startLat, o.startLng, o.endAddress, o.endLat, o.endLng,
o.boardingTime, o.getoffTime, o.estimatedPrice, o.orderMoney, o.payMoney, o.discountedPrice, o.couponId, o.payType, o.payTime, o.`state`, o.status, o.createTime,
o.startDistance,o.startPrice,o.overDriveDistance,o.overDrivePrice,o.longDistance,o.longDistancePrice,o.overLongDistance,o.overLongDistancePrice,
- o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,a.nickname AS userName,
- a.phone AS userPhone,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone
+ o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,
+ o.userPhone,o.userName,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone
</sql>
<sql id="Base_Column_Server_Order">
@@ -69,7 +75,7 @@
o.boardingTime, o.getoffTime, o.estimatedPrice, o.orderMoney, o.payMoney, o.discountedPrice, o.couponId, o.payType, o.payTime, o.`state`, o.status, o.createTime,
o.startDistance,o.startPrice,o.overDriveDistance,o.overDrivePrice,o.longDistance,o.longDistancePrice,o.overLongDistance,o.overLongDistancePrice,
o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,
- d.name AS driverName,d.phone AS driverPhone
+ o.userPhone,o.userName,d.name AS driverName,d.phone AS driverPhone
</sql>
<select id="getOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp">
@@ -99,9 +105,6 @@
<if test="driverName != null and driverName != ''">
AND d.name LIKE concat('%',#{driverName},'%')
</if>
- <if test="isException != null">
- AND a.is_exception = #{isException}
- </if>
<if test="roleType != null and roleType == 2">
AND o.branchOfficeId = #{objectId}
</if>
@@ -109,10 +112,10 @@
AND o.agentId = #{objectId}
</if>
</where>
- ORDER BY o.createTime
+ ORDER BY o.createTime DESC
</select>
<select id="getDataStatisticsByYear" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
- SELECT createTime AS `month`,COUNT(id) AS orderCount
+ SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
FROM t_order
<where>
<if test="agentId != null">
@@ -122,23 +125,25 @@
AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
</if>
</where>
- GROUP BY date_format(createTime, '%Y-%m')
+ GROUP BY `month`
</select>
<select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
- SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
+ SELECT date_format(o.payTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.userName
FROM t_order o
- LEFT JOIN t_driver d ON o.driverId = d.id
+ LEFT JOIN (SELECT id,name AS userName from t_driver) d ON o.driverId = d.id
<where>
<if test="agentId != null">
AND o.agentId = #{agentId}
</if>
<if test="monthDate != null and monthDate != ''">
- AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
+ AND date_format(o.payTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
</if>
- AND (o.`state` = 108 OR o.`state` = 109)
+ AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
+ AND d.userName is not null
</where>
GROUP BY monthTime,userName
ORDER BY amount DESC
+ LIMIT 10
</select>
<select id="getDataStatisticsCount" resultType="java.lang.Integer">
SELECT COUNT(id)
@@ -170,7 +175,8 @@
OR `state` = 104
OR `state` = 105
OR `state` = 106
- OR `state` = 107
+ OR `state` = 201
+ OR `state` = 401
)
</where>
</select>
@@ -190,7 +196,8 @@
OR o.`state` = 104
OR o.`state` = 105
OR o.`state` = 106
- OR o.`state` = 107
+ OR o.`state` = 201
+ OR o.`state` = 401
)
</where>
</select>
@@ -201,10 +208,218 @@
<if test="agentId != null">
AND agentId = #{agentId}
</if>
+ <if test="type != null and type == 1">
+ AND `state` = 101
+ </if>
+ <if test="type != null and type == 2">
+ AND (`state` = 102
+ OR `state` = 103
+ OR `state` = 104
+ OR `state` = 105
+ OR `state` = 106
+ OR `state` = 201
+ OR `state` = 401
+ )
+ </if>
+ <if test="type != null and type == 3">
+ AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+ </if>
+ <if test="type != null and type == 4">
+ AND `state` = 301
+ </if>
<if test="localDate != null">
AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
</if>
</where>
</select>
+ <select id="getDataStatisticsCountByIds" resultType="java.lang.Integer">
+ SELECT COUNT(id)
+ FROM t_order
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="type == 1">
+ AND `state` = 101
+ </if>
+ <if test="type == 2">
+ AND (`state` = 107
+ OR `state` = 108
+ OR `state` = 109)
+ </if>
+ <if test="type == 3">
+ AND `state` = 301
+ </if>
+ <if test="localDate != null">
+ AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+ </if>
+ </where>
+ </select>
+ <select id="getDataStatisticsServerCountByIds" resultType="java.lang.Integer">
+ SELECT COUNT(id)
+ FROM t_order
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="localDate != null">
+ AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+ </if>
+ AND (`state` = 102
+ OR `state` = 103
+ OR `state` = 104
+ OR `state` = 105
+ OR `state` = 106
+ OR `state` = 201
+ OR `state` = 401
+ )
+ </where>
+ </select>
+ <select id="getDataStatisticsServerListByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp">
+ select <include refid="Base_Column_Server_Order"></include>
+ FROM t_order o
+ LEFT JOIN t_driver d ON o.driverId = d.id
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND o.agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="localDate != null">
+ AND date_format(o.createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+ </if>
+ AND (o.`state` = 102
+ OR o.`state` = 103
+ OR o.`state` = 104
+ OR o.`state` = 105
+ OR o.`state` = 106
+ OR o.`state` = 201
+ OR o.`state` = 401
+ )
+ </where>
+ </select>
+ <select id="getDataStatisticsAllListByIds" resultType="com.stylefeng.guns.modular.system.model.TOrder">
+ select <include refid="Base_Column_List"></include>
+ FROM t_order
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="type != null and type == 1">
+ AND `state` = 101
+ </if>
+ <if test="type != null and type == 2">
+ AND (`state` = 102
+ OR `state` = 103
+ OR `state` = 104
+ OR `state` = 105
+ OR `state` = 106
+ OR `state` = 201
+ OR `state` = 401
+ )
+ </if>
+ <if test="type != null and type == 3">
+ AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+ </if>
+ <if test="type != null and type == 4">
+ AND `state` = 301
+ </if>
+ <if test="localDate != null">
+ AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+ </if>
+ </where>
+ </select>
+ <select id="getDataStatisticsByYearByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+ SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
+ FROM t_order
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="yearDate != null and yearDate != ''">
+ AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
+ </if>
+ </where>
+ GROUP BY `month`
+ </select>
+ <select id="getDataStatisticsOrderCountByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
+ SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.userName
+ FROM t_order o
+ LEFT JOIN (SELECT id,name AS userName from t_driver) d ON o.driverId = d.id
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND o.agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="monthDate != null and monthDate != ''">
+ AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
+ </if>
+ AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
+ AND d.userName is not null
+ </where>
+ GROUP BY monthTime,userName
+ ORDER BY amount DESC
+ LIMIT 10
+ </select>
+ <select id="getStatisticsOrderByMonth" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+ SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
+ FROM t_order
+ <where>
+ <if test="agentId != null">
+ AND agentId = #{agentId}
+ </if>
+ <if test="dayDate != null and dayDate != ''">
+ AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
+ </if>
+ </where>
+ GROUP BY `month`
+ </select>
+ <select id="getStatisticsOrderByMonthIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+ SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
+ FROM t_order
+ <where>
+ <if test="ids != null and ids.size() > 0">
+ AND agentId IN
+ <foreach collection="ids" close=")" open="(" item="id" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="dayDate != null and dayDate != ''">
+ AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
+ </if>
+ </where>
+ GROUP BY `month`
+ </select>
+ <select id="getValidOrderCount" resultType="java.lang.Integer">
+ select count(id)
+ from t_order
+ <where>
+ <if test="driverId != null">
+ AND driverId = #{driverId}
+ </if>
+ <if test="orderMoney != null">
+ AND orderMoney > #{orderMoney}
+ </if>
+ <if test="month != null">
+ AND DATE_FORMAT(createTime, '%Y-%m') = #{month}
+ </if>
+ AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+ </where>
+ </select>
</mapper>
--
Gitblit v1.7.1