From db7fa6a91b9534ac90e219b6f554c54c43c83a5a Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期三, 16 八月 2023 09:28:15 +0800
Subject: [PATCH] update

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml |  385 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 382 insertions(+), 3 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 307cc05..9cc18eb 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
@@ -8,7 +8,7 @@
         <result column="code" property="code" />
         <result column="userId" property="userId" />
         <result column="driverId" property="driverId" />
-        <result column="source" property="source" />
+        <result column="`source`" property="source" />
         <result column="agentId" property="agentId" />
         <result column="branchOfficeId" property="branchOfficeId" />
         <result column="startTime" property="startTime" />
@@ -27,14 +27,393 @@
         <result column="couponId" property="couponId" />
         <result column="payType" property="payType" />
         <result column="payTime" property="payTime" />
-        <result column="state" property="state" />
+        <result column="`state`" property="state" />
         <result column="status" property="status" />
         <result column="createTime" property="createTime" />
+        <result column="startDistance" property="startLng" />
+        <result column="startPrice" property="endAddress" />
+        <result column="overDriveDistance" property="endLat" />
+        <result column="overDrivePrice" property="endLng" />
+        <result column="longDistance" property="boardingTime" />
+        <result column="longDistancePrice" property="getoffTime" />
+        <result column="overLongDistance" property="estimatedPrice" />
+        <result column="overLongDistancePrice" property="orderMoney" />
+        <result column="waitTime" property="payMoney" />
+        <result column="waitTimePrice" property="discountedPrice" />
+        <result column="outWaitTime" property="couponId" />
+        <result column="outWaitTimePrice" property="payType" />
+        <result column="badWeatherDistance" property="payTime" />
+        <result column="badWeatherPrice" property="state" />
+        <result column="overBadWeatherDistance" property="status" />
+        <result column="overBadWeatherPrice" property="createTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, code, userId, driverId, source, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng, boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, state, status, createTime
+        id, code, userId, driverId, `source`, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng,
+            boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, `state`, status, createTime,
+            startDistance,startPrice,overDriveDistance,overDrivePrice,longDistance,longDistancePrice,overLongDistance,overLongDistancePrice,
+waitTime,waitTimePrice,outWaitTime,outWaitTimePrice,badWeatherDistance,badWeatherPrice,overBadWeatherDistance,overBadWeatherPrice
     </sql>
 
+    <sql id="Base_Column_Order">
+        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
+    </sql>
+
+    <sql id="Base_Column_Server_Order">
+        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,
+        d.name AS driverName,d.phone AS driverPhone
+    </sql>
+
+    <select id="getOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp">
+        select <include refid="Base_Column_Order"></include>
+        from t_order o
+        left join t_app_user a on o.userId = a.id
+        left join t_driver d on o.driverId = d.id
+        <where>
+            <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+                AND o.createTime between #{startTime} and #{endTime}
+            </if>
+            <if test="code != null and code != ''">
+                AND o.code LIKE concat('%',#{code},'%')
+            </if>
+            <if test="source != null">
+                AND o.source = #{source}
+            </if>
+            <if test="userName != null and userName != ''">
+                AND a.nickname LIKE concat('%',#{userName},'%')
+            </if>
+            <if test="userPhone != null and userPhone != ''">
+                AND a.phone LIKE concat('%',#{userPhone},'%')
+            </if>
+            <if test="state != null">
+                AND o.state = #{state}
+            </if>
+            <if test="driverName != null and driverName != ''">
+                AND d.name LIKE concat('%',#{driverName},'%')
+            </if>
+            <if test="roleType != null and roleType == 2">
+                AND o.branchOfficeId = #{objectId}
+            </if>
+            <if test="roleType != null and roleType == 3">
+                AND o.agentId = #{objectId}
+            </if>
+        </where>
+        ORDER BY o.createTime DESC
+    </select>
+    <select id="getDataStatisticsByYear" 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="agentId != null">
+                AND agentId = #{agentId}
+            </if>
+            <if test="yearDate != null and yearDate != ''">
+                AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
+            </if>
+        </where>
+        GROUP BY `month`
+    </select>
+    <select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
+        SELECT date_format(o.payTime, '%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="agentId != null">
+                AND o.agentId = #{agentId}
+            </if>
+            <if test="monthDate != null and monthDate != ''">
+                AND date_format(o.payTime, '%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="getDataStatisticsCount" resultType="java.lang.Integer">
+        SELECT COUNT(id)
+        FROM t_order
+        <where>
+            <if test="agentId != null">
+                AND agentId = #{agentId}
+            </if>
+            <if test="type != null">
+                AND `state` = #{type}
+            </if>
+            <if test="localDate != null">
+                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+            </if>
+        </where>
+    </select>
+    <select id="getDataStatisticsServerCount" resultType="java.lang.Integer">
+        SELECT COUNT(id)
+        FROM t_order
+        <where>
+            <if test="agentId != null">
+                AND agentId = #{agentId}
+            </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="getDataStatisticsServerList" 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="agentId != null">
+                AND o.agentId = #{agentId}
+            </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="getDataStatisticsAllList" resultType="com.stylefeng.guns.modular.system.model.TOrder">
+        select <include refid="Base_Column_List"></include>
+        FROM t_order
+        <where>
+            <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 &gt; #{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