Administrator
2025-05-19 61a8a1b57718b83b6f8ac09e817fabf09e96fdc0
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>
@@ -39,6 +42,54 @@
        GROUP BY m.id order by m.CREATED_TIME desc
    </select>
    <select id="selectHappyMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
        SELECT
               a.*,
               d.balance balance,
               d.score score,
               d.prize_score prizeScore,
               d.commission commission,
               d.total_score totalScore,
               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
        left join mall_member_wallet d on d.member_id = a.id
        <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">
        SELECT a.id,
               a.name,
@@ -52,6 +103,7 @@
               IFNULL(c.balance,0) balance,
               IFNULL(c.score,0) score,
               IFNULL(c.prize_score,0) prizeScore,
               IFNULL(c.commission,0) commission,
               d.description levelName,
               b.name
               FROM mall_member a
@@ -439,4 +491,91 @@
        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.is_sale isSale,
            a.CREATED_TIME createdTime,
            ifnull(
                (
                SELECT
                count(c.id)
                FROM
                mall_order_info c
                WHERE
                a.id = c.member_id
                    and c.status = 4
                ),
                0
            ) orderCnt,
            ifnull(
                (
                SELECT
                sum(b.amount)
                FROM
                mall_order_info b
                WHERE
                a.id = b.member_id
                    and b.status = 4
                ),
                0
            ) 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>