fix
Helius
2022-06-02 faaa3ad2b937fdd17cd36b1523e07fddf1346db2
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -2,12 +2,52 @@
<!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
        select *,
               b.name memberName,
               b.bind_phone memberBindPhone,
               b.phone memberPhone
        from mall_order_info a
        left join mall_member b on a.member_id = b.id
        <where>
@@ -15,6 +55,9 @@
            <if test="record != null">
                <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}
@@ -52,6 +95,8 @@
        <result column="address" property="address" />
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="order_type" property="orderType" />
        <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">
@@ -66,6 +111,7 @@
            <result property="cnt" column="cnt" />
            <result property="price" column="price" />
            <result property="amount" column="amount" />
            <result property="isNormal" column="is_normal" />
        </collection>
    </resultMap>
@@ -93,7 +139,7 @@
            <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">
            <if test="record.status != 4 and record.status != 0 and record.status != 5">
                and a.status = #{record.status}
            </if>
            <if test="record.status == 5">
@@ -101,6 +147,9 @@
            </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
@@ -119,7 +168,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}
@@ -159,4 +209,53 @@
            </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 in (2, 3, 4) and order_type=1
    </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.receving_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.status in (2, 3, 4) and a.is_normal = 2 and a.order_type=1
        <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>
        <if test="date != null and type == 'M'">
            and date_format(a.receving_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>
    </select>
    <select id="selectByOrderNo" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where order_no=#{orderNo}
    </select>
</mapper>