From 7804b65c502ac9b2bb93f6f64dff53e2a1322f79 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 23 Jun 2022 10:40:48 +0800
Subject: [PATCH] 20220528

---
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml |   91 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 7ba6277..30e7d6e 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -2,6 +2,43 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cc.mrbird.febs.mall.mapper.MallOrderInfoMapper">
 
+    <select id="selectInPage" resultMap="OrderInfoMap">
+        select
+            a.*,
+            b.id item_id,
+            b.order_id,
+            b.goods_id,
+            b.sku_id,
+            b.goods_name,
+            b.style_name,
+            b.sku_name,
+            b.sku_image,
+            b.cnt,
+            b.price,
+            b.amount
+        from mall_order_info a
+        inner join mall_order_item b on a.id=b.order_id
+        <where>
+            a.del_flag=2
+            <if test="record.status == 4 and record.status != 0">
+                and a.status in (5,6)
+            </if>
+            <if test="record.status != 4 and record.status != 0 and record.status != 5">
+                and a.status = #{record.status}
+            </if>
+            <if test="record.status == 5">
+                and a.status = 7
+            </if>
+            <if test="record.memberId != null">
+                and a.member_id=#{record.memberId}
+            </if>
+            <if test="record.orderType != null">
+                and a.order_type=#{record.orderType}
+            </if>
+        </where>
+        order by a.created_time desc
+    </select>
+
     <select id="selectOrderByMemberIdAndId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
         select * from mall_order_info where member_id=#{memberId} and id=#{id}
     </select>
@@ -59,6 +96,8 @@
         <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" />
         <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
@@ -73,6 +112,7 @@
             <result property="cnt" column="cnt" />
             <result property="price" column="price" />
             <result property="amount" column="amount" />
+            <result property="isNormal" column="is_normal" />
         </collection>
     </resultMap>
 
@@ -98,7 +138,7 @@
                 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)
+                and a.status = 4
             </if>
             <if test="record.status != 4 and record.status != 0 and record.status != 5">
                 and a.status = #{record.status}
@@ -129,7 +169,8 @@
             b.sku_image,
             b.cnt,
             b.price,
-            b.amount
+            b.amount,
+            b.is_normal
         from mall_order_info a
              inner join mall_order_item b on a.id=b.order_id
         where a.id=#{id}
@@ -182,7 +223,7 @@
 
     <select id="selectTotalAmount" resultType="java.math.BigDecimal">
         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
-        where member_id=#{memberId} and status = 4
+        where member_id=#{memberId} and status in (2, 3, 4) and order_type=1
     </select>
 
     <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
@@ -192,7 +233,49 @@
             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>
+
+    <select id="selectTotalAmountUnCostForDate" resultType="java.math.BigDecimal">
+        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.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 dateType == "D"'>
+            and date_format(a.pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+        </if>
+        <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 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=new Date()
+        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>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1