KKSU
2024-07-01 c3ed9a07b0765834136afb6400d350d895584b51
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -3,7 +3,12 @@
<mapper namespace="cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper">
    <select id="selectMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
        select * from mall_money_flow a where a.member_id = #{record.id}
        select
               a.*,
               b.name fromMemberName
        from mall_money_flow a
        left join mall_member b on a.rt_member_id = b.id
        where a.member_id = #{record.id}
        order by a.CREATED_TIME desc
    </select>
@@ -37,18 +42,29 @@
        order by a.created_time desc
    </select>
    <select id="selectApiFcmMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo">
        select
        a.*
        from mall_money_flow a
        <where>
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="getMoneyFlowListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMoneyFlowListVo">
        select
        a.*,
        b.name,
        b.bind_phone bindPhone,
        c.pay_method payMethod,
        b.phone
        b.account_login accountLogin
        from mall_money_flow a
        inner join mall_member b on a.member_id=b.id
        left join mall_order_info c on a.order_no = c.order_no
        left join mall_member b on a.member_id=b.id
        <where>
            <if test="record != null" >
                <if test="record.accountLogin!=null and record.accountLogin!=''">
                    and b.account_login like concat('%',  #{record.accountLogin},'%')
                </if>
                <if test="record.name!=null and record.name!=''">
                    and b.name like concat('%',  #{record.name},'%')
                </if>
@@ -56,7 +72,7 @@
                    and b.phone like concat('%',  #{record.phone},'%')
                </if>
                <if test="record.type!=null and record.type!=''">
                    and a.type like concat('%',  #{record.type},'%')
                    and a.type = #{record.type}
                </if>
                <if test="record.flowType!=null and record.flowType!=''">
                    and a.flow_type like concat('%',  #{record.flowType},'%')
@@ -76,12 +92,16 @@
        a.remark remark,
        a.status status,
        b.name,
        b.account_login accountLogin,
        b.bind_phone bindPhone,
        b.phone
        from mall_member_withdraw a
        inner join mall_member b on a.member_id=b.id
        <where>
            <if test="record != null" >
                <if test="record.accountLogin!=null and record.accountLogin!=''">
                    and b.account_login like concat('%',  #{record.accountLogin},'%')
                </if>
                <if test="record.name!=null and record.name!=''">
                    and b.name like concat('%',  #{record.name},'%')
                </if>
@@ -116,7 +136,7 @@
    <select id="selectCommissionIncome" resultType="java.math.BigDecimal">
        select ifnull(sum(amount),0) from mall_money_flow
        where flow_type =4 and type in (1,2,3,4,5,6,7,15,16,17) and member_id=#{memberId}
        where type in (2,19,20,21,22,23,24,27,28,29,30) and member_id=#{memberId}
        <if test="type == 1">
            and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        </if>
@@ -146,6 +166,7 @@
            order_no,
            rt_member_id,
            status,
            remark,
            flow_type) VALUES
                (
                    #{revision},
@@ -159,7 +180,133 @@
                    #{orderNo},
                    #{rtMemberId},
                    #{status},
                    #{remark},
                    #{flowType}
                )
    </insert>
    <select id="selectTeamEqualsMemberByDate" resultType="cc.mrbird.febs.mall.vo.AdminTeamEqualsPerkVo">
        select
               a.member_id memberId,
               sum(a.amount) sumAmount,
               c.id rtMemberId
        from mall_money_flow a
        inner join mall_member b on b.id = a.member_id
        inner join mall_member c on c.invite_id = b.referrer_id and c.level = b.level
        where
            a.type IN (19, 20, 21, 22, 23, 24, 27)
          and date_format(a.created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        group by a.member_id;
    </select>
    <select id="selectOrderMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
        select
            a.*,
            b.name fromMemberName
        from mall_money_flow a
                 left join mall_member b on a.member_id = b.id
        where a.order_no = #{record.orderNo}
        order by a.CREATED_TIME desc
    </select>
    <select id="selectMoneyFlowByMemberIdAndIsRetrun" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        SELECT
            *
        FROM
            mall_money_flow a
        WHERE
            a.type = 26
          AND a.flow_type = 6
          AND a.is_return = #{isReturn}
          AND a.member_id = #{memberId}
        ORDER BY
            a.created_time ASC
    </select>
    <update id="updateRemarkById">
        update mall_money_flow
        <set>
            remark = #{remark}
        </set>
        WHERE id =  #{id}
    </update>
    <update id="updateRemarkAndIsReturnById">
        update mall_money_flow
        <set>
            remark = #{remark},
            is_return = 1
        </set>
        WHERE id =  #{id}
    </update>
    <select id="selectByOrderNoAndMemberId" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        SELECT
            *
        FROM
            mall_money_flow a
        WHERE
            a.type = 25
          AND a.flow_type = 5
          AND a.is_return = #{isReturn}
          AND a.member_id = #{memberId}
          AND a.order_no = #{orderNo}
        ORDER BY
            a.created_time ASC
    </select>
    <select id="selectByOrderAndType" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        SELECT
            *
        FROM
            mall_money_flow a
        WHERE
            a.type = #{type}
          AND a.flow_type = #{flowType}
          AND a.member_id = #{memberId}
          AND a.order_no = #{orderNo}
    </select>
    <select id="selectApiFcmMoneyFlowInsideInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo">
        select
        a.*
        from mall_money_flow a
        <where>
            a.type in (2,3,4,5)
            <if test="record.inOrOut == 3">
                and a.amount > 0
            </if>
            <if test="record.inOrOut == 2">
                and 0 > a.amount
            </if>
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            </if>
            <if test="record.flowType != null and record.flowType != ''">
                and a.flow_type=#{record.flowType}
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="selectSumAmountByMemberIdAndType" resultType="java.math.BigDecimal">
        select
               ifnull(sum(amount),0)
        from mall_money_flow
        where
             type = #{type}
        and member_id IN
        <foreach collection = "list" item = "item"  separator=","  open = "(" close = ")" >
            #{item}
        </foreach >
    </select>
    <select id="selectSumByMemberIdAndType" resultType="java.math.BigDecimal">
        select
               ifnull(sum(amount),0)
        from mall_money_flow
        where
             type = #{type}
        and member_id = #{memberId}
    </select>
</mapper>