From 61a8a1b57718b83b6f8ac09e817fabf09e96fdc0 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 18:01:56 +0800 Subject: [PATCH] fix(member): 修正会员累计订单统计 --- src/main/resources/mapper/modules/MallMemberMapper.xml | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index c16a5e8..a78304b 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/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 @@ -430,4 +482,100 @@ 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.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 >= #{record.startTime} + </if> + <if test="record.endTime != null and record.endTime != ''"> + and a.CREATED_TIME <= #{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 >= #{record.startTime} + </if> + <if test="record.endTime != null and record.endTime != ''"> + and a.CREATED_TIME <= #{record.endTime} + </if> + </if> + </where> + order by a.CREATED_TIME desc + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1