fix
Helius
2024-04-09 0adc7b8f73cdb45992f868bf1e3a97a070e43a9e
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>