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 | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 102 insertions(+), 15 deletions(-) diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index 7cf3420..a78304b 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -45,42 +45,49 @@ <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(m.birthday, '%m-%d') = date_format(#{record.birthdayQuery}, '%m-%d') + and date_format(a.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},'%') + and a.name like concat('%', #{record.name},'%') </if> - <if test="record.account!=null and record.account!=''"> - and ( - m.phone like concat('%', #{record.account},'%') - or m.email like concat('%', #{record.account},'%') - or m.bind_phone like concat('%', #{record.account},'%') - or m.invite_id like concat('%', #{record.account},'%') - ) + <if test="record.phone!=null and record.phone!=''"> + and a.phone like concat('%', #{record.phone},'%') </if> <if test="record.accountStatus!=null"> - and m.account_status = #{record.accountStatus} + 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 m.account_type = #{record.accountType} + and a.account_type = #{record.accountType} </if> <if test="record.level!=null and record.level!=''"> - and m.level=#{record.level} + and a.level=#{record.level} </if> - <if test="record.isSale!=null and record.isSale!=''"> - and m.is_sale=#{record.isSale} + <if test="record.checkOrder!=null"> + and a.check_order=#{record.checkOrder} </if> </if> </where> - GROUP BY m.id order by m.CREATED_TIME desc + GROUP BY a.id order by a.CREATED_TIME desc </select> <select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo"> @@ -96,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 @@ -491,4 +499,83 @@ 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