From c7c6de51f730e7c15ee23682acc432af839a5bac Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 06 May 2025 10:20:31 +0800
Subject: [PATCH] feat(mall): 为社交圈信息添加互动统计
---
src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml | 40 ++++++++++++++++++++++++++++++++++------
1 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
index da01bcf..451c5bd 100644
--- a/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
@@ -3,12 +3,31 @@
<mapper namespace="cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper">
<select id="selectMemberBenefitsRecordInPage" resultType="cc.mrbird.febs.vip.entity.MallVipBenefitsRecord">
- select
- mallMember.name memberName
- ,mallMember.phone memberPhone
- ,record.*
- from mall_vip_benefits_record record
- inner join mall_member mallMember on record.member_id = mallMember.ID
+ SELECT
+ mallMember.name memberName,
+ mallMember.phone memberPhone,
+ config.name levelName,
+ benefits.name benefitsName,
+ benefitsDetail.link_type,
+ case when benefitsDetail.link_type = 3 then coupon.name
+ when benefitsDetail.link_type = 2 then goods.goods_name
+ else '-'
+ end receiveName,
+ case when record.id is not null then 1
+ else 2 end hasReceive,
+ record.id,
+ record.receive_cnt,
+ record.receive_time,
+ record.receive_type,
+ record.status
+ FROM mall_member mallMember
+ inner join mall_vip_config config on mallMember.level = config.code
+ inner join mall_vip_config_benefits configBenefits on config.id = configBenefits.config_id
+ inner join mall_vip_benefits benefits on configBenefits.benefits_id = benefits.id and benefits.gain_type = 2 and benefits.type != 1
+ inner join mall_vip_benefits_details benefitsDetail on benefits.id=benefitsDetail.benefits_id and (benefitsDetail.link_type = 2 or benefitsDetail.link_type = 3)
+ left join mall_goods_coupon coupon on benefitsDetail.content = coupon.id
+ left join mall_goods goods on benefitsDetail.content = goods.ID
+ LEFT JOIN mall_vip_benefits_record record ON record.member_id = mallMember.ID and record.benefits_type = 2
<where>
1=1
<if test="record.memberPhone != null and record.memberPhone != ''">
@@ -17,6 +36,15 @@
<if test="record.status != null">
and record.status = #{record.status}
</if>
+ <if test="record.hasReceive != null and record.hasReceive == 1">
+ and record.id is not null
+ </if>
+ <if test="record.hasReceive != null and record.hasReceive == 2">
+ and record.id is null
+ </if>
+ <if test="record.birthday != null">
+ and date_format(mallMember.birthday, '%m-%d') = date_format(#{record.birthday}, '%m-%d')
+ </if>
<if test="record.birthdayStart != null">
and date_format(mallMember.birthday, '%Y-%m-%d') >= date_format(#{record.birthdayStart}, '%Y-%m-%d')
</if>
--
Gitblit v1.9.1