From 8049faa20ca33b159f6384bbbc2d3429ad8be41b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 17 Jan 2023 20:36:24 +0800
Subject: [PATCH] 20221227 ε
εΌε½ι
---
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 224 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index e59fcf6..55144df 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -2,19 +2,66 @@
<!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>
<select id="selectOrderListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo">
- select *,b.name memberName,b.phone memberPhone
- from mall_order_info a
+ select a.*,
+ b.name memberName,
+ b.bind_phone memberBindPhone,
+ 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>
+ <if test="record.orderType != null">
+ and a.order_type = #{record.orderType}
</if>
<if test="record.status != null and record.status != ''">
and a.status = #{record.status}
@@ -24,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 >= #{record.startTime}
+ </if>
+ <if test="record.endTime != null and record.endTime != ''">
+ and a.order_time <= #{record.endTime}
</if>
</if>
</where>
@@ -52,8 +105,15 @@
<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="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" />
@@ -66,6 +126,7 @@
<result property="cnt" column="cnt" />
<result property="price" column="price" />
<result property="amount" column="amount" />
+ <result property="isNormal" column="is_normal" />
</collection>
</resultMap>
@@ -90,14 +151,29 @@
<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">
+ <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">
+ 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>
+ <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
@@ -116,7 +192,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}
@@ -147,7 +224,7 @@
select IFNULL(count(1), 0) from mall_order_info a
inner join mall_member b on a.member_id=b.ID
<where>
- a.status=4
+ a.status in (2,3,4)
<if test="type == 1">
and b.referrer_id=#{inviteId}
</if>
@@ -156,4 +233,143 @@
</if>
</where>
</select>
+
+ <select id="selectCntDirect" resultType="java.lang.Integer">
+ select count(1) from (
+ select a.invite_id, count(1)
+ from mall_member a
+ inner join mall_order_info b on a.ID=b.member_id
+ where a.referrer_id=#{inviteId} and b.status in (2,3,4)
+ group by a.invite_id
+ ) a
+ </select>
+
+ <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
+ and comment_state = 2
+ </select>
+
+ <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
+ where status = 4
+ <if test="member != null">
+ and member_id=#{memberId}
+ </if>
+ <if test="date != null">
+ 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=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>
+
+ <select id="selectCountByCreateTime" resultType="java.lang.Integer">
+ select
+ count(a.id)
+ from mall_order_info a
+ where
+ a.status = 4
+ and a.comment_state = 2
+ <if test="createdTime != null">
+ and date_format(a.CREATED_TIME, '%Y-%m-%d') = #{createdTime}
+ </if>
+
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1