Administrator
2025-05-15 1fc8fde81cbf79ebe95e927f9099cf94c2ccc6e5
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -4,13 +4,16 @@
    <select id="selectMallMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
        SELECT m.*,a.name referrerName,IFNULL(c.balance,0) balance,IFNULL(c.score,0) score,IFNULL(c.prize_score,0) prizeScore,IFNULL(c.commission,0) commission
        ,d.description levelName
        ,vipConfig.name levelName
        FROM mall_member m
        left join mall_member a on m.referrer_id = a.invite_id
        LEFT JOIN mall_member_wallet c on c.member_id = m.id
        LEFT JOIN data_dictionary_custom d on d.code = m.level and type='AGENT_LEVEL'
        left join mall_vip_config vipConfig on m.level = vipConfig.code
        <where>
            <if test="record != null" >
                <if test="record.birthdayQuery!=null">
                    and date_format(m.birthday, '%m-%d') = date_format(#{record.birthdayQuery}, '%m-%d')
                </if>
                <if test="record.name!=null and record.name!=''">
                    and m.name like concat('%',  #{record.name},'%')
                </if>
@@ -37,6 +40,48 @@
            </if>
        </where>
        GROUP BY m.id order by m.CREATED_TIME desc
    </select>
    <select id="selectHappyMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
        SELECT
               a.*,
               b.name storeMasterName,
               c.name directorName
        FROM mall_member a
        left join happy_sale_level b on b.code = a.store_master
        left join happy_member_level c on c.code = a.director
        <where>
            <if test="record != null" >
                <if test="record.birthdayQuery!=null">
                    and date_format(a.birthday, '%m-%d') = date_format(#{record.birthdayQuery}, '%m-%d')
                </if>
                <if test="record.name!=null and record.name!=''">
                    and a.name like concat('%',  #{record.name},'%')
                </if>
                <if test="record.phone!=null and record.phone!=''">
                    and a.phone like concat('%',  #{record.phone},'%')
                </if>
                <if test="record.accountStatus!=null">
                    and a.account_status = #{record.accountStatus}
                </if>
                <if test="record.director!=null">
                    and a.director = #{record.director}
                </if>
                <if test="record.storeMaster!=null">
                    and a.store_master = #{record.storeMaster}
                </if>
                <if test="record.accountType != null" >
                    and a.account_type = #{record.accountType}
                </if>
                <if test="record.level!=null and record.level!=''">
                    and a.level=#{record.level}
                </if>
                <if test="record.checkOrder!=null">
                    and a.check_order=#{record.checkOrder}
                </if>
            </if>
        </where>
        GROUP BY a.id order by a.CREATED_TIME desc
    </select>
    <select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
@@ -430,4 +475,88 @@
        order by m.CREATED_TIME desc
    </select>
    <update id="updateReferrerId">
        update mall_member
        set referrer_id = '',
            referrer_ids = ''
        where id = #{id}
    </update>
    <update id="updateLastLoginTime">
        update mall_member
        set last_login_time = #{lastLoginTime}
        where id = #{id}
    </update>
    <select id="selectTeamPage" resultType="cc.mrbird.febs.mall.vo.sale.ApiTeamListInfoVo">
        SELECT
                a.name memberName,
                a.CREATED_TIME createdTime,
                (
                    SELECT
                    count(c.id)
                    FROM
                    mall_achieve_record c
                    where a.id = c.member_id
                ) orderCnt,
                (
                    SELECT
                    sum(b.amount, 0)
                    FROM
                    mall_achieve_record b
                    where a.id = b.member_id
                ) amount
        FROM mall_member a
        <where>
            and find_in_set(#{record.inviteId}, a.referrer_ids)
            <if test="record != null" >
                <if test="record.memberName != null and record.memberName != ''">
                    and a.name like concat('%',  #{record.memberName},'%')
                </if>
                <if test="record.startTime != null and record.startTime != ''">
                    and a.CREATED_TIME &gt;= #{record.startTime}
                </if>
                <if test="record.endTime != null and record.endTime != ''">
                    and a.CREATED_TIME &lt;= #{record.endTime}
                </if>
            </if>
        </where>
        order by a.CREATED_TIME desc
    </select>
    <select id="selectSalePage" resultType="cc.mrbird.febs.mall.vo.sale.ApiSaleListInfoVo">
        SELECT
            c.name memberName,
            a.CREATED_TIME createdTime,
            a.cost_amount costAmount,
            a.amount amount
        FROM mall_achieve_record a
        left join mall_order_info b on a.order_id = b.id
        left join mall_member c on b.member_id = c.id
        <where>
            and a.member_id = #{record.memberId}
            <if test="record != null" >
                <if test="record.memberName != null and record.memberName != ''">
                    and c.name like concat('%',  #{record.memberName},'%')
                </if>
                <if test="record.startTime != null and record.startTime != ''">
                    and a.CREATED_TIME &gt;= #{record.startTime}
                </if>
                <if test="record.endTime != null and record.endTime != ''">
                    and a.CREATED_TIME &lt;= #{record.endTime}
                </if>
            </if>
        </where>
        order by a.CREATED_TIME desc
    </select>
</mapper>