From 5d7b65670282a4fad015e37d567cfa171b162052 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期二, 20 五月 2025 12:25:19 +0800
Subject: [PATCH] 基础代码

---
 pt-errand/src/main/resources/mapper/CourierMapper.xml |  103 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 0 deletions(-)

diff --git a/pt-errand/src/main/resources/mapper/CourierMapper.xml b/pt-errand/src/main/resources/mapper/CourierMapper.xml
new file mode 100644
index 0000000..64f9e41
--- /dev/null
+++ b/pt-errand/src/main/resources/mapper/CourierMapper.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.errand.mapper.CourierMapper">
+
+
+    <select id="getCourierInfo" resultType="com.ruoyi.errand.object.vo.app.CourierInfoVO">
+        select
+            tc.name as name,
+            tc.phone as phone,
+            tc2.name as communityName
+        from t_courier tc
+        left join t_community_courier on tc.id = tcc.courier_id
+        left join t_community tc2 on tcc.community_id = tc2.id
+        where
+            tc.del_flag=0
+            and tc.id=#{courierId}
+    </select>
+    <select id="getDatStatistics" resultType="com.ruoyi.errand.object.vo.app.CourierStatisticsVO">
+        SELECT
+            COUNT(CASE WHEN DATE(receiving_time) = CURDATE() THEN 1 END) AS `day`,
+            COUNT(CASE WHEN YEARWEEK(receiving_time, 1) = YEARWEEK(CURDATE(), 1) THEN 1 END) AS `week`,
+            COUNT(CASE WHEN YEAR(receiving_time) = YEAR(CURDATE())
+                AND MONTH(receiving_time) = MONTH(CURDATE()) THEN 1 END) AS `month`
+        FROM t_order
+        WHERE courier_id = #{courierId}
+          AND order_status IN (2, 4, 5) -- 进行中、已完成、已评价状态
+          AND receiving_time IS NOT NULL;
+    </select>
+    <select id="getCourierOrderList" resultType="com.ruoyi.errand.object.vo.app.CourierOrderListVO">
+        select
+            o.id as id,
+            o.address_detail as addressDetail,
+            o.recipient_name as recipientName,
+            o.recipient_phone as recipientPhone,
+            o.order_status as orderStatus,
+            o.receiving_time as receivingTime,
+            te.rating as rating
+        from
+            t_order o
+        left join  t_evaluation te on o.id = te.order_id
+            o.courier_id = #{courierId}  -- 替换为实际跑腿ID
+            AND o.del_flag = 0          -- 过滤未删除的订单
+        and o.payStatus = 2            -- 过滤未支付的订单
+        <if test="orderStatus !=null and orderStatus !=0">
+            AND o.order_status = #{orderStatus}  -- 订单状态筛选条件
+        </if>
+        ORDER BY
+            CASE WHEN o.order_status = 1 THEN 0 ELSE 1 END,  -- 待确认订单置顶
+    o.order_time DESC;  -- 其余订单按下单时间倒序
+    </select>
+    <select id="getCourierPageList" resultType="com.ruoyi.errand.object.vo.sys.CourierPageListVO">
+        select
+        tc.id as id,
+        tc.name as name,
+        tc.phone as phone,
+        tcm.name as communityName,
+        tc.status as status
+        from t_courier tc
+        left join t_community_courier tcc on tc.id = tcc.courier_id
+        left join t_community tcm on tcc.community_id = tcm.id
+        where
+            tc.del_flag=0
+        <if test="dto.name !=null and ''!=dto.name">
+            AND tc.name = #{dto.name}
+        </if>
+        <if test="dto.phone !=null and ''!=dto.phone">
+            AND tc.phone = #{dto.phone}
+        </if>
+        <if test="dto.status !=null ">
+            AND tc.status = #{dto.status}
+        </if>
+    </select>
+    <select id="detail" resultType="com.ruoyi.errand.object.vo.sys.CourierSysDetailVO">
+        select
+            tc.name as name,
+            tc.phone as phone,
+            tc.id_card as idCard,
+            tcc.community_id as communityId
+            tcm.name as communityName,
+            tc.create_time as createTime
+            tc.status as status
+        from t_courier tc
+                 left join t_community_courier tcc on tc.id = tcc.courier_id
+                 left join t_community tcm on tcc.community_id = tcm.id
+        where
+            tc.id=#{id}
+    </select>
+    <select id="getAllCourierList" resultType="com.ruoyi.errand.object.vo.sys.AllCourierListVO">
+        select
+            id as courierId,
+            name as name
+        from
+            t_courier
+        where
+            del_flag=0
+        and
+            id not in
+        <foreach collection="couriers" item="item" index="index" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.7.1