From 10ac439f9e0abf732901b5b8e3a3b357588bb13f Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 31 Dec 2024 15:03:38 +0800 Subject: [PATCH] feat(mallMember): 会员列表增加节点筛选功能 --- src/main/resources/mapper/modules/MallMemberMapper.xml | 172 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 136 insertions(+), 36 deletions(-) diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index f48947a..f9b30b3 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -3,14 +3,18 @@ <mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberMapper"> <select id="selectMallMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember"> - SELECT m.*,a.name referrerName,IFNULL(c.balance,0) balance FROM mall_member m + SELECT + m.*, + a.phone referrerName, + IFNULL(c.balance,0) balance, + IFNULL(c.score,0) score, + vipConfig.vip_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 run_vip vipConfig on m.level = vipConfig.vip_code <where> <if test="record != null" > - <if test="record.name!=null and record.name!=''"> - and m.name like concat('%', #{record.name},'%') - </if> <if test="record.account!=null and record.account!=''"> and ( m.phone like concat('%', #{record.account},'%') @@ -22,11 +26,16 @@ <if test="record.accountStatus!=null"> and m.account_status = #{record.accountStatus} </if> - <if test="record.accountType != null" > - and m.account_type = #{record.accountType} + <if test="record.director!=null"> + and m.director = #{record.director} + </if> + <if test="record.level!=null and record.level!=''"> + and m.level=#{record.level} </if> </if> </where> + GROUP BY + m.id, a.phone, c.balance, c.score,vipConfig.vip_name order by m.CREATED_TIME desc </select> @@ -41,6 +50,8 @@ a.account_status, a.CREATED_TIME, IFNULL(c.balance,0) balance, + IFNULL(c.score,0) score, + IFNULL(c.prize_score,0) prizeScore, d.description levelName, b.name FROM mall_member a @@ -49,6 +60,17 @@ LEFT JOIN data_dictionary_custom d on d.code = a.level where a.id = #{id} GROUP BY a.id + </select> + + <select id="getMallMemberWalletById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo"> + SELECT a.id, + a.name, + IFNULL(c.balance,0) balance, + IFNULL(c.score,0) score, + IFNULL(c.prize_score,0) prizeScore + FROM mall_member a + LEFT JOIN mall_member_wallet c on c.member_id = a.id + where a.id = #{id} </select> <select id="selectInfoByAccount" resultType="cc.mrbird.febs.mall.entity.MallMember"> @@ -71,18 +93,18 @@ a.invite_id, 2 isCurrent, a.created_time, - p.prize_score, + a.avatar, + (select count(1) from mall_order_info orderInfo + where orderInfo.status in (2, 3, 4) and orderInfo.member_id=a.id) selfOrderCnt, (select sum(e.amount) from mall_order_info e inner join mall_member b on e.member_id=b.ID - inner join mall_order_item c on e.id = c.order_id and c.is_normal=2 where e.status in (2, 3, 4) and e.order_type=1 and (b.invite_id=a.invite_id or b.referrer_id=a.invite_id)) amount, (select count(1) from mall_member e inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) - where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) orderCnt, - (select count(1) from mall_member x where x.referrer_id=a.invite_id) cnt + where find_in_set(a.invite_id, e.referrer_ids) or a.invite_id=e.invite_id) orderCnt, + (select count(1) from mall_member x where find_in_set(a.invite_id, x.referrer_ids)) cnt from mall_member a - inner join mall_member_wallet p on a.id=p.member_id where a.referrer_id=#{inviteId} </select> @@ -311,35 +333,34 @@ </select> <!-- <select id="selectRankListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">--> -<!-- select * from (--> -<!-- select a.id, a.name, a.invite_id, a.avatar, sum(b.amount) amount,max(order_time) orderTime from mall_member a, mall_order_info b--> -<!-- where a.id=b.member_id and b.status = 4--> -<!-- <!– 日 –>--> -<!-- <if test="record.query == '1'">--> - -<!-- </if>--> -<!-- <!– 月 –>--> -<!-- <if test="record.query == '2'">--> -<!-- and date_format(#{record.createdTime},'%Y-%m') = date_format(b.order_time,'%Y-%m')--> -<!-- </if>--> -<!-- <if test="record.amount != null">--> -<!-- and amount = #{record.amount}--> -<!-- </if>--> -<!-- group by a.id--> -<!-- ) a order by amount desc, a.orderTime desc--> +<!-- select a.*, b.*--> +<!-- from mall_member a--> +<!-- inner join (--> +<!-- select b.referrer_id refererId, sum(a.amount) amount, max(a.order_time) orderTime--> +<!-- from mall_order_info a--> +<!-- inner join mall_member b on a.member_id=b.ID--> +<!-- inner join mall_order_item c on a.id = c.order_id and c.is_normal=2--> +<!-- where a.status in (2, 3, 4) and a.order_type=1--> +<!-- <!– 月 –>--> +<!-- <if test="record.query == '2'">--> +<!-- and date_format(#{record.createdTime},'%Y-%m') = date_format(b.order_time,'%Y-%m')--> +<!-- </if>--> +<!-- group by b.referrer_id--> +<!-- ) b on a.invite_id=b.refererId--> +<!-- order by b.amount desc, b.orderTime desc--> <!-- </select>--> + <select id="selectRankListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember"> select a.*, b.* from mall_member a inner join ( - select b.referrer_id refererId, sum(a.amount) amount, max(a.order_time) orderTime - from mall_order_info a + select b.referrer_id refererId, sum(a.amount) amount, max(a.pay_time) orderTime + from mall_achieve_record a inner join mall_member b on a.member_id=b.ID - inner join mall_order_item c on a.id = c.order_id and c.is_normal=2 - where a.status in (2, 3, 4) and a.order_type=1 + where 1=1 <!-- 月 --> <if test="record.query == '2'"> - and date_format(#{record.createdTime},'%Y-%m') = date_format(b.order_time,'%Y-%m') + and date_format(#{record.createdTime},'%Y-%m') = date_format(a.achieve_time,'%Y-%m') </if> group by b.referrer_id ) b on a.invite_id=b.refererId @@ -348,15 +369,14 @@ <select id="selectAchieveByMemberId" resultType="java.math.BigDecimal"> select IFNULL(sum(IFNULL(a.amount, 0)), 0) - from mall_order_info a + from mall_achieve_record a inner join mall_member b on a.member_id=b.ID - inner join mall_order_item c on a.id = c.order_id and c.is_normal=2 - where a.status in (2, 3, 4) and a.order_type=1 + where 1=1 <if test="type == 1"> and b.invite_id=#{inviteId} </if> <if test="type == 2"> - and b.referrer_id=#{inviteId} + and find_in_set(#{inviteId}, b.referrer_ids) </if> </select> @@ -374,4 +394,84 @@ select * from mall_member where referrer_id=#{inviteId} and level != 'ZERO_LEVEL' </select> + + <select id="selectDirectorsOrStoreMaster" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + <where> + 1=1 + <if test="type == 1"> + and director = 1 + </if> + <if test="type == 2"> + and store_master = 1 + </if> + </where> + </select> + + <select id="selectMemberWithLevel" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + where level=#{level} + </select> + + <select id="selectMemberByOpenId" resultType="cc.mrbird.febs.mall.entity.MallMember"> + SELECT a.* + FROM mall_member a + where a.open_id = #{openId} limit 1 + </select> + + <select id="getsalemanRuleList" resultType="cc.mrbird.febs.mall.entity.MallMember"> + SELECT m.*, + b.name couponName + FROM mall_member m + LEFT Join saleman_coupon a on m.id = a.member_id + LEFT Join mall_goods_coupon b on b.id = a.coupon_id and b.state = 2 + <where> + <if test="record != null" > + <if test="record.name!=null and record.name!=''"> + and m.name like concat('%', #{record.name},'%') + </if> + <if test="record.account!=null and record.account!=''"> + and m.phone like concat('%', #{record.account},'%') + </if> + <if test="record.isSale!=null and record.isSale!=''"> + and m.is_sale=#{record.isSale} + </if> + </if> + </where> + order by m.CREATED_TIME desc + </select> + + <update id="updateReferrerId"> + update mall_member + set referrer_id = '', + referrer_ids = '' + where id = #{id} + </update> + + <update id="updateLastLogin"> + update mall_member + set last_login_time = #{lastLogin} + where id = #{id} + </update> + + <update id="updateVipLevelTimeAndLevel"> + update mall_member + set vip_level_time = #{vipLevelTime}, + level = #{level} + where id = #{id} + </update> + + <update id="updateLevel"> + update mall_member + set level = #{level} + where id = #{id} + </update> + + <update id="updateNameAndAvatar"> + update mall_member + set avatar = #{photo}, + name = #{name} + where id = #{id} + </update> + </mapper> \ No newline at end of file -- Gitblit v1.9.1