xiaoyong931011
2022-09-05 b222b6baf58cc128343867107d570d237966d9ac
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -10,22 +10,28 @@
    <select id="selectApiMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.MoneyFlowVo">
        select
            a.*,
            case when a.rt_member_id is null then select n.phone from mall_member n where n.id=a.member_id
                 when a.rt_member_id is not null then select m.phone from mall_member m where m.id=a.rt_member_id
            case when a.rt_member_id is null then (select n.phone from mall_member n where n.id=a.member_id)
                 when a.rt_member_id is not null then (select m.phone from mall_member m where m.id=a.rt_member_id)
            end phone,
            c.description memberLevel
        from mall_money_flow a
            left join mall_member b on a.rt_member_id=b.id
            left join data_dictionary_custom c on b.level = c.code and c.type='AGENT_LEVEL'
        <where>
            <if test="record.type == 3">
            <if test="record.inOrOut == 3">
                and a.amount > 0
            </if>
            <if test="record.type == 2">
            <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>
            <if test="record.type != null and record.type != ''">
                and a.type=#{record.type}
            </if>
        </where>
        order by a.created_time desc
@@ -35,13 +41,13 @@
        select
        a.*,
        b.name,
        b.bind_phone bindPhone,
        c.pay_method payMethod,
        b.phone
        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
        <where>
            a.type != 6
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
                    and b.name like concat('%',  #{record.name},'%')
@@ -52,6 +58,9 @@
                <if test="record.type!=null and record.type!=''">
                    and a.type like concat('%',  #{record.type},'%')
                </if>
                <if test="record.flowType!=null and record.flowType!=''">
                    and a.flow_type like concat('%',  #{record.flowType},'%')
                </if>
            </if>
        </where>
        order by a.created_time desc
@@ -59,13 +68,18 @@
    <select id="getMoneyChargeListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMoneyChargeListVo">
        select
        a.*,
        a.id id,
        a.created_time createdTime,
        a.amount amount,
        a.amount_fee amountFee,
        a.withdraw_no withdrawNo,
        a.status status,
        b.name,
        b.bind_phone bindPhone,
        b.phone
        from mall_money_flow a
        from mall_member_withdraw a
        inner join mall_member b on a.member_id=b.id
        <where>
            a.type = 6
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
                    and b.name like concat('%',  #{record.name},'%')
@@ -80,4 +94,68 @@
        </where>
        order by a.created_time desc
    </select>
    <select id="selectMoneyFlowProfitByDate" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        select a.member_id, sum(a.amount) amount from mall_money_flow a
        where a.type in (1, 2) and date_format(a.created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        and is_return is null
        group by a.member_id;
    </select>
    <update id="updateIsReturnByMemberId">
        update mall_money_flow
        set is_return=#{isReturn}
        where member_id=#{memberId} and type in (1, 2)
    </update>
    <select id="selectProfitByDateAndMemberId" resultType="java.math.BigDecimal">
        select ifnull(sum(a.amount),0) from mall_money_flow a
        where member_id=#{memberId} and flow_type=4 and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(now(), '%Y-%m-%d') and amount > 0
    </select>
    <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}
        <if test="type == 1">
            and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        </if>
        <if test="type == 2">
            and date_format(created_time, '%Y-%m') = date_format(#{date}, '%Y-%m')
        </if>
    </select>
    <select id="selectThankfulCommission" resultType="java.math.BigDecimal">
        select ifnull(sum(amount),0) from mall_money_flow
        where flow_type=4 and amount > 0
          and member_id=#{memberId}
          and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
          and type in (2,3,4)
    </select>
    <select id="selectOneByOrderNoAndMemberId" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        select a.* from mall_money_flow a
        where a.order_no = #{rechargeNo} and a.member_id = #{memberId}
    </select>
    <select id="selectAmountByFlowtypeAndType" resultType="java.math.BigDecimal">
        select ifnull(sum(a.amount),0) from mall_money_flow a
        <where>
            a.member_id = #{memberId}
            <if test="flowType!=null and flowType!=''">
                and  a.flow_type = #{flowType}
            </if>
            <if test="type!=null and type!=''">
                and  a.type = #{type}
            </if>
            <if test="status!=null and status!=''">
                and  a.status = #{status}
            </if>
            <if test="dateDay!=null">
                and date_format(a.created_time, '%Y-%m-%d') = date_format(#{dateDay}, '%Y-%m-%d')
            </if>
            <if test="dateMonth!=null">
                and date_format(a.created_time, '%Y-%m-%d') = date_format(#{dateMonth}, '%Y-%m-%d')
            </if>
        </where>
    </select>
</mapper>