|  |  |  | 
|---|
|  |  |  | <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 != ''"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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> | 
|---|