From d8f20196fb659300b0a8eb3e7c5d7ab1ad7fcb7e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 06 Jan 2023 15:21:29 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml |  133 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 117 insertions(+), 16 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 9964fe6..f573e79 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -44,15 +44,19 @@
     </select>
 
     <select id="selectOrderListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo">
-        select *,
+        select a.*,
                b.name memberName,
                b.bind_phone memberBindPhone,
-               b.phone memberPhone
-        from mall_order_info a
+               b.phone memberPhone,
+               c.goods_name
+        from mall_order_item c
+        left join mall_order_info a on a.id = c.order_id
         left join mall_member b on a.member_id = b.id
         <where>
-            a.del_flag=2
             <if test="record != null">
+                <if test="record.goodsName != null and record.goodsName != ''">
+                    and c.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%'))
+                </if>
                 <if test="record.payResult != null and record.payResult != ''">
                     and a.pay_result = #{record.payResult}
                 </if>
@@ -67,6 +71,12 @@
                 </if>
                 <if test="record.name != null and record.name != ''">
                     and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
+                </if>
+                <if test="record.startTime != null and record.startTime != ''">
+                    and a.order_time &gt;= #{record.startTime}
+                </if>
+                <if test="record.endTime != null and record.endTime != ''">
+                    and a.order_time &lt;= #{record.endTime}
                 </if>
             </if>
         </where>
@@ -96,9 +106,14 @@
         <result column="longitude" property="longitude" />
         <result column="latitude" property="latitude" />
         <result column="order_type" property="orderType" />
+        <result column="comment_state" property="commentState" />
         <result column="carriage" property="carriage" />
         <result column="remark" property="remark" />
         <result column="del_flag" property="delFlag" />
+        <result column="deliver_type" property="deliverType" />
+        <result column="shop_id" property="shopId" />
+        <result column="subsidy_amount" property="subsidyAmount" />
+        <result column="pay_trade_no" property="payTradeNo" />
         <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
             <id property="id" column="item_id" />
             <result property="orderId" column="order_id" />
@@ -136,10 +151,13 @@
             <if test="record.query != null and record.query != ''">
                 and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
             </if>
-            <if test="record.status == 4 and record.status != 0">
-                and a.status in (5,6)
+            <if test="record.status == 6 and record.status != 0">
+                and a.status = 4 and a.comment_state = 2
             </if>
-            <if test="record.status != 4 and record.status != 0 and record.status != 5">
+            <if test="record.status == 4 and record.status != 0">
+                and a.status = 4 and a.comment_state != 2
+            </if>
+            <if test="record.status != 4 and record.status != 0 and record.status != 5 and record.status != 6">
                 and a.status = #{record.status}
             </if>
             <if test="record.status == 5">
@@ -150,6 +168,12 @@
             </if>
             <if test="record.orderType != null">
                 and a.order_type=#{record.orderType}
+            </if>
+            <if test="record.allStatus == 2">
+                and a.status <![CDATA[<= ]]> 4 and a.comment_state != 2
+            </if>
+            <if test="record.allStatus == 3">
+                and a.status = 4 and a.comment_state = 2
             </if>
         </where>
         order by a.created_time desc
@@ -222,7 +246,9 @@
 
     <select id="selectTotalAmount" resultType="java.math.BigDecimal">
         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
-        where member_id=#{memberId} and status in (2, 3, 4) and order_type=1
+        where member_id=#{memberId}
+          and status = 4
+          and comment_state = 2
     </select>
 
     <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
@@ -232,7 +258,7 @@
             and member_id=#{memberId}
         </if>
         <if test="date != null">
-            and date_format(a.receving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+            and date_format(a.receiving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
         </if>
     </select>
 
@@ -240,22 +266,97 @@
         select IFNULL(sum(IFNULL(b.amount,0) - IFNULL(b.cost_price*b.cnt, 0)),0)
         from mall_order_info a
         inner join mall_order_item b on a.id=b.order_id
-        where a.status in (2, 3, 4) and a.is_normal = 2 and a.order_type=1
+        where a.order_type=1
+        <if test="isNormal == 2">
+            and a.status in (2, 3, 4) and b.is_normal = 2 and b.has_settle=1
+        </if>
+        <if test="isNormal == 1">
+            and a.status=4 and b.is_normal = 1 and b.has_settle=1
+        </if>
         <if test="member != null">
             and member_id=#{memberId}
         </if>
-        <if test="date != null and type == 'D'">
-            and date_format(a.receving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+        <if test='date != null and dateType == "D"'>
+            and date_format(a.pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
         </if>
-        <if test="date != null and type == 'M'">
-            and date_format(a.receving_time, '%Y-%m') = date_format(#{date}, '%Y-%m')
+        <if test='date != null and dateType == "M"'>
+            and date_format(a.pay_time, '%Y-%m') = date_format(#{date}, '%Y-%m')
         </if>
-        <if test="date != null and type == 'Y'">
-            and date_format(a.receving_time, '%Y') = date_format(#{date}, '%Y')
+        <if test='date != null and dateType == "Y"'>
+            and date_format(a.pay_time, '%Y') = date_format(#{date}, '%Y')
         </if>
     </select>
 
     <select id="selectByOrderNo" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
         select * from mall_order_info where order_no=#{orderNo}
     </select>
+
+    <update id="updateOrderConfirmStatus">
+        update mall_order_info
+        set status=4,
+            receiving_time=now()
+        where status=3 and date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+    </update>
+
+    <select id="selectOrderInfoWithNormalGoods" resultMap="OrderInfoMap">
+        select * from mall_order_info a
+        inner join mall_order_item b on a.id=b.order_id and b.is_normal=1
+        where date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+    </select>
+
+    <select id="selectSumAmountByPayMethodAndStatue" resultType="java.math.BigDecimal">
+        select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
+        where pay_method = #{payMethod} and status = #{statue}
+    </select>
+
+    <select id="selectTotalAmountByPayDoneAndDataString" resultType="java.math.BigDecimal">
+        select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
+        where pay_result = #{payResult} and date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+    </select>
+
+    <select id="selectSumAmountByPayMethodAndSomeStatue" resultType="java.math.BigDecimal">
+        select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
+        where pay_method = #{payMethod}
+          and status in
+        <foreach collection="statues" separator="," close=")" open="(" item="item">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="selectCountByCreateTimeAndMemberId" resultType="java.lang.Integer">
+        select
+            count(a.id)
+        from mall_order_info a
+        where
+              a.status = 4
+            and a.comment_state = 2
+            and a.member_id = #{memberId}
+            <if test="createdTime != null">
+                and date_format(a.CREATED_TIME, '%Y-%m-%d') = #{createdTime}
+            </if>
+
+    </select>
+
+    <select id="selectTodayAmountByCreateTimeAndMemberId" resultType="java.math.BigDecimal">
+            select
+                ifnull(sum(a.subsidy_amount),0)
+            from mall_order_info a
+            where
+                  a.status = 4
+                and a.comment_state = 2
+                and a.member_id = #{memberId}
+            <if test="createdTime != null">
+                and date_format(a.CREATED_TIME, '%Y-%m-%d') = #{createdTime}
+            </if>
+
+    </select>
+
+    <select id="selectOrderInfoByStatusAndMemberId" resultType="java.lang.Integer">
+        select
+        count(a.id)
+        from mall_order_info a
+        where
+        a.status <![CDATA[< ]]> 4
+        and a.member_id = #{memberId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1