From 5a8bb0c1dde052c6c95d545f53ae27d42338529d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 22 Sep 2022 17:57:35 +0800
Subject: [PATCH] fix

---
 src/main/resources/mapper/modules/MallTeamLeaderMapper.xml |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 103 insertions(+), 11 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
index f738740..816713b 100644
--- a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
+++ b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
@@ -22,6 +22,7 @@
     <select id="selectApiLeaderListInPage" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
         select
         a.*,
+        b.longlatiarr,
         ROUND(
             6378.138 * 2 * ASIN(
                 SQRT(
@@ -32,8 +33,9 @@
             ) * 1000
         ) AS distance
         from mall_team_leader a
+        left join mall_electronic_fence b on b.team_leader_code = a.unique_code
         <where>
-            a.state = 1
+            a.state = 1 and a.online_state = 1
             <if test="record.query != null and record.query != ''">
                 and (a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
                     or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
@@ -72,6 +74,7 @@
         <result column="comment_state" property="commentState" />
         <result column="delivery_state" property="deliveryState" />
         <result column="carriage" property="carriage" />
+        <result column="take_code" property="takeCode" />
         <result column="remark" property="remark" />
         <result column="del_flag" property="delFlag" />
         <result column="is_home" property="isHome" />
@@ -111,14 +114,7 @@
         inner join mall_order_item b on a.id=b.order_id
         inner join mall_member c on a.take_unique_code=c.invite_id
         <where>
-            a.delivery_type = 1
-            and c.id=#{record.memberId}
-            <if test="record.query != null and record.query != ''">
-                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    )
-            </if>
+            c.id=#{record.memberId}
             <if test="record.status == 4 and record.status != 0">
                 and a.status = 4
             </if>
@@ -134,9 +130,80 @@
             <if test="record.status == 0">
                 and a.status in (2,3,4)
             </if>
+            <if test="record.query != null and record.query != ''">
+                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    )
+            </if>
             <if test="record.orderType != null">
                 and a.order_type=#{record.orderType}
             </if>
+            and a.delivery_type = 1
+        </where>
+        order by a.created_time desc
+    </select>
+
+    <resultMap id="NewOrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
+        <id column="id" property="id" />
+        <result column="order_no" property="orderNo" />
+        <result column="member_id" property="memberId" />
+        <result column="order_time" property="orderTime" />
+        <result column="pay_time" property="payTime" />
+        <result column="amount" property="amount" />
+        <result column="pay_method" property="payMethod" />
+        <result column="pay_order_no" property="payOrderNo" />
+        <result column="pay_result" property="payResult" />
+        <result column="status" property="status" />
+        <result column="cancel_type" property="cancelType" />
+        <result column="name" property="name" />
+        <result column="phone" property="phone" />
+        <result column="address" property="address" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="order_type" property="orderType" />
+        <result column="comment_state" property="commentState" />
+        <result column="delivery_state" property="deliveryState" />
+        <result column="carriage" property="carriage" />
+        <result column="take_code" property="takeCode" />
+        <result column="remark" property="remark" />
+        <result column="del_flag" property="delFlag" />
+        <result column="is_home" property="isHome" />
+    </resultMap>
+
+    <select id="selectNewApiLeaderOrderListInPage" resultMap="NewOrderInfoMap">
+        select
+        a.*
+        from mall_order_info a
+        inner join mall_member c on a.take_unique_code=c.invite_id
+        <where>
+            c.id=#{record.memberId}
+            <if test="record.status == 4 and record.status != 0">
+                and a.status = 4
+            </if>
+            <if test="record.status != 4 and record.status != 1 and record.status != 0 and record.status != 5">
+                and a.status = #{record.status}
+            </if>
+            <if test="record.status == 5">
+                and (a.status = 6 or b.state = 2)
+            </if>
+            <if test="record.status == 1">
+                and a.status = 2
+            </if>
+            <if test="record.status == 0">
+                and a.status in (2,3,4)
+            </if>
+            <if test="record.query != null and record.query != ''">
+                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    )
+            </if>
+            <if test="record.orderType != null">
+                and a.order_type=#{record.orderType}
+            </if>
+            and a.delivery_type = 1
         </where>
         order by a.created_time desc
     </select>
@@ -145,7 +212,7 @@
         select
             a.*
         from mall_team_leader a
-        where a.state = 1
+        where a.state = 1 and a.online_state = 1
     </select>
 
     <select id="selectLeaderByUniqueCode" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
@@ -168,7 +235,7 @@
         ) * 1000
         ) AS distance
         from mall_team_leader a
-        where a.state = 1
+        where a.state = 1 and a.online_state = 1
         order by distance ASC limit 1
     </select>
 
@@ -186,4 +253,29 @@
         limit 1
     </select>
 
+    <select id="selectByFenceIdAndFenceNameAndLonAndLat" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
+        select
+            a.*,
+            ROUND(
+                        6378.138 * 2 * ASIN(
+                            SQRT(
+                                        POW(SIN((#{latitude} * PI() / 180 - a.latitude * PI() / 180) / 2),2)
+                                        + COS(40.0497810000 * PI() / 180) * COS(a.latitude * PI() / 180)
+                                            * POW(SIN((#{longitude}  * PI() / 180 - a.longitude * PI() / 180) / 2),2)
+                                )
+                        ) * 1000
+                ) AS distance
+        from mall_team_leader a
+        inner join mall_electronic_fence b on b.team_leader_code = a.unique_code
+        where b.gid = #{fenceId}
+        and b.fence_name = #{fenceName}
+    </select>
+
+    <select id="getAllMallTeamLeaderList" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
+        select
+            a.*
+        from mall_team_leader a
+        where a.state = 1
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1