Helius
2021-09-28 0a41407a35c47cba38c75f13eae69ebd49c0dfac
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -6,6 +6,35 @@
        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
        left join mall_member b on a.member_id = b.id
        <where>
            a.del_flag=2
            <if test="record != null">
                <if test="record.payResult != null and record.payResult != ''">
                    and a.pay_result = #{record.payResult}
                </if>
                <if test="record.status != null and record.status != ''">
                    and a.status = #{record.status}
                </if>
                <if test="record.orderNo != null and record.orderNo != ''">
                    and a.order_no like CONCAT('%', CONCAT(#{record.orderNo}, '%'))
                </if>
                <if test="record.name != null and record.name != ''">
                    and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                </if>
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="getMallOrderInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderVo">
        select * from mall_order_info where id = #{id}
    </select>
    <resultMap id="OrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
        <id column="id" property="id" />
        <result column="order_no" property="orderNo" />
@@ -24,6 +53,7 @@
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="remark" property="remark" />
        <result column="del_flag" property="delFlag" />
        <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
            <id property="id" column="item_id" />
            <result property="orderId" column="order_id" />
@@ -39,7 +69,7 @@
        </collection>
    </resultMap>
    <select id="selectOrderListInPage" resultMap="OrderInfoMap">
    <select id="selectApiOrderListInPage" resultMap="OrderInfoMap">
        select
               a.*,
               b.id item_id,
@@ -56,14 +86,21 @@
        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.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">
            <if test="record.status == 4 and record.status != 0">
                and a.status in (5,6)
            </if>
            <if test="record.status != 4">
            <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>
        </where>
        order by a.created_time desc
@@ -85,6 +122,51 @@
            b.amount
        from mall_order_info a
             inner join mall_order_item b on a.id=b.order_id
        where id=#{id}
        where a.id=#{id}
    </select>
    <select id="selectMemberOrderStatusCnt" resultType="java.util.Map">
        select
            status,
            count(1) cnt
        from mall_order_info
        where del_flag=2 and member_id=#{memberId}
        group by status
    </select>
    <select id="getMallOrderDetailById" resultType="cc.mrbird.febs.mall.vo.AdminOrderDetailVo">
        select * from mall_order_info a where a.id = #{id}
    </select>
    <select id="getMallOrderItemByOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem">
        select * from mall_order_item where order_id = #{id}
    </select>
    <select id="selectOrderInfoByStatus" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where status=#{status}
    </select>
    <select id="selectCntDirectOrTeam" resultType="java.lang.Integer">
        select IFNULL(count(1), 0) from mall_order_info a
          inner join mall_member b on a.member_id=b.ID
        <where>
            a.status in (2,3,4)
            <if test="type == 1">
                and b.referrer_id=#{inviteId}
            </if>
            <if test="type == 2">
                and find_in_set(#{inviteId}, b.referrer_ids)
            </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>
</mapper>