fix
Hentua
2023-06-15 8bf923b44bbe9b45b73ddcc25df75c9c59f54e07
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -51,7 +51,7 @@
        b.phone,
        d.name fromMemberName
        from mall_money_flow a
        left join mall_member b on a.member_id=b.id
        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 d on d.id = a.rt_member_id
        <where>
@@ -63,10 +63,16 @@
                    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},'%')
                </if>
                <if test="record.referrerId!=null and record.referrerId!=''">
                    and find_in_set(#{record.referrerId}, b.referrer_ids)
                </if>
                <if test="record.inviteId!=null and record.inviteId!=''">
                    and b.invite_id = #{record.inviteId}
                </if>
            </if>
        </where>
@@ -123,7 +129,7 @@
    <select id="selectCommissionIncome" resultType="java.math.BigDecimal">
        select ifnull(sum(amount),0) from mall_money_flow
        where type in (2,19,20,21,22,23,24,27,28,29,30) and member_id=#{memberId}
        where flow_type = 1 and type in (1,2,3,4,5,7,17) and member_id=#{memberId} and amount > 0
        <if test="type == 1">
            and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        </if>
@@ -195,4 +201,92 @@
        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="selectChargeListForExcel" resultType="cc.mrbird.febs.mall.vo.ChargeListExportVo">
        select
            b.name memberName
            ,b.phone phone
            ,a.amount
            ,c.CREATED_TIME createTime
            ,c.bank_name bankName
            ,c.bank_no bankNo
            ,c.name cardName
            ,c.subbranch_name subbranchName
            ,c.phone bankPhone
        from mall_member_withdraw a
            inner join mall_member b on a.member_id=b.id
            inner join mall_member_bank c on b.id=c.member_id
        <where>
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
                    and b.name like concat('%',  #{record.name},'%')
                </if>
                <if test="record.phone!=null and record.phone!=''">
                    and b.phone like concat('%',  #{record.phone},'%')
                </if>
                <if test="record.status!=null and record.status!=''">
                    and a.status = #{record.status}
                </if>
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="selectMemberProfitByMemberIds" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
        select memberInfo.id memberId, ifnull(sum(flowInfo.amount),0) amount from mall_member memberInfo
            inner join mall_member flowMember on find_in_set(memberInfo.invite_id, flowMember.referrer_ids)
            inner join mall_money_flow flowInfo on flowMember.id=flowInfo.member_id and flowInfo.flow_type = 1 and flowInfo.type in (1,2,3,4,5,7)
        <where>
            memberInfo.id in <foreach collection="list" item="item" separator="," open="(" close=")">
                #{item}
            </foreach>
        </where>
        group by memberInfo.id
    </select>
</mapper>