java-retail-app/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml

801 lines
35 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper">
<!-- 通用查询映射结果 -->
<resultMap id="CuMemberRetailRangeExt" type="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="PK_PARENT" property="pkParent"/>
<result column="MEMBER_CODE" property="memberCode"/>
<result column="MEMBER_NAME" property="memberName"/>
<result column="CUSTOMER_TYPE" property="customerType"/>
<result column="PHONE" property="phone"/>
<result column="PK_GRADE" property="pkGrade"/>
<result column="PK_AWARDS" property="pkAwards"/>
<result column="ACCOUNT_STATUS" property="accountStatus"/>
<result column="PAY_STATUS" property="payStatus"/>
<result column="PAY_TIME" property="payTime"/>
<result column="CATEGORY" property="category"/>
<result column="PURCHASE_STATUS" property="purchaseStatus"/>
<result column="INCOME_STATUS" property="incomeStatus"/>
<result column="PK_TEAM_CODE" property="pkTeamCode"/>
<result column="PK_CENTER_CODE" property="pkCenterCode"/>
<result column="PK_VERTEX" property="pkVertex"/>
<result column="PK_SETTLE_COUNTRY" property="pkSettleCountry"/>
<result column="IS_REAL_NAME" property="isRealName"/>
<result column="PK_RATE" property="pkRate"/>
<result column="SYSTEM_TYPE" property="systemType"/>
<result column="CONSUME_BOX_NUM" property="consumeBoxNum"/>
<result column="NEW_BOX_NUM" property="newBoxNum"/>
<result column="TEAM_BOX_NUM" property="teamBoxNum"/>
<result column="MONTH_BOX_NUM" property="monthBoxNum"/>
<result column="TEAM_NEW_BOX_NUM" property="teamNewBoxNum"/>
<result column="CONSUME_PV" property="consumePv"/>
<result column="MONTH_CONSUME_PV" property="monthConsumePv"/>
<result column="NEW_CONSUME_PV" property="newConsumePv"/>
<result column="TEAM_CONSUME_AMOUNT" property="teamConsumeAmount"/>
<result column="TEAM_CONSUME_PV" property="teamConsumePv"/>
<result column="TEAM_MONTH_AMOUNT" property="teamMonthAmount"/>
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
<result column="TEAM_NEW_AMOUNT" property="teamNewAmount"/>
<result column="TEAM_NEW_PV" property="teamNewPv"/>
<result column="RECOMMEND_NUM" property="recommendNum"/>
<result column="TEAM_NUM" property="teamNum"/>
<result column="REGION_ADDRESS" property="regionAddress"/>
<result column="GRADE_VALUE" property="gradeValue"/>
<result column="GRADE_NAME" property="gradeName"/>
<result column="AWARDS_NAME" property="awardsName"/>
<result column="AWARDS_VALUE" property="awardsValue"/>
<result column="SHARE_AWARDS_VALUE" property="shareAwardsValue"/>
<result column="RANGE_RATIO" property="rangeRatio"/>
<result column="BENEFIT_AVG_RATIO" property="benefitAvgRatio"/>
<result column="BENEFIT_SHARE_RATIO" property="benefitShareRatio"/>
<result column="COUNTRY_NAME" property="countryName"/>
<result column="big_box_num" property="bigBoxNum"/>
<result column="small_box_num" property="smallBoxNum"/>
<result column="big_team_pv" property="bigTeamPv"/>
<result column="small_team_pv" property="smallTeamPv"/>
</resultMap>
<update id="mergeMemberRetailRangeInit">
update ${rangeTableName}
set consume_box_num=0,
new_box_num=0,
team_box_num=0,
month_box_num=0,
team_new_box_num=0,
pk_share_awards=(select pk_id from BD_AWARDS where awards_value = 0),
consume_pv=0,
month_consume_pv=0,
new_consume_pv=0,
team_consume_amount=0,
team_consume_pv=0,
enable_status=1,
team_month_amount=0,
team_month_pv=0,
team_new_amount=0,
team_new_pv=0,
recommend_num=0,
team_num=0,
pk_grade= (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
region_address=0,
big_box_num=0,
small_box_num=0,
big_team_pv=0,
small_team_pv=0
</update>
<update id="mergeMemberRetailRangeByYesterday">
merge into ${rangeTableName} a
using(
select pk_member,consume_box_num,new_box_num,team_box_num,month_box_num,team_new_box_num,enable_status,
consume_pv,month_consume_pv,new_consume_pv,team_consume_amount,team_consume_pv,pk_share_awards,
team_month_amount,team_month_pv,team_new_amount,team_new_pv,recommend_num,team_num,pk_grade,
big_box_num,small_box_num,big_team_pv,small_team_pv
from ${yesterdayRangeTableName}
) b
on (a.pk_member=b.pk_member)
when matched then
update set a.consume_box_num=b.consume_box_num,a.team_box_num=b.team_box_num,
a.consume_pv=b.consume_pv,a.team_consume_amount=b.team_consume_amount,a.team_consume_pv=b.team_consume_pv,
a.recommend_num=b.recommend_num,a.team_num=b.team_num,a.pk_grade=b.pk_grade, a.enable_status = b.enable_status,
a.big_box_num=b.big_box_num,a.small_box_num=b.small_box_num,
a.big_team_pv=b.big_team_pv,a.small_team_pv=b.small_team_pv
<if test="isSameMonth == 0">
,a.month_box_num=b.month_box_num,a.month_consume_pv=b.month_consume_pv,a.pk_share_awards=b.pk_share_awards,
a.team_month_amount=b.team_month_amount,a.team_month_pv=b.team_month_pv
</if>
</update>
<update id="mergeCuMemberRetailRangeExt">
merge into ${rangeTableName} a
using (
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade,
#{item.consumeBoxNum} consume_box_num, #{item.newBoxNum} new_bosx_num, #{item.pkShareAwards} pk_share_awards,
#{item.teamBoxNum} team_box_num, #{item.monthBoxNum} month_box_num, #{item.teamNewBoxNum} team_new_box_num,
#{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv,
#{item.newConsumePv} new_consume_pv, #{item.teamConsumeAmount} team_consume_amount,
#{item.teamMonthAmount} team_month_amount, #{item.teamMonthPv} team_month_pv,
#{item.teamNewPv} team_new_pv, #{item.teamNewAmount} team_new_amount,
#{item.teamConsumePv} team_consume_pv, #{item.newBoxNum} new_box_num,
#{item.recommendNum} recommend_num, #{item.teamNum} team_num,
#{item.enableStatus} enable_status
from dual
</foreach>
) b
on (a.pk_member=b.pk_member)
when matched then
update set a.pk_awards = b.pk_awards, a.pk_grade = b.pk_grade, a.pk_share_awards = b.pk_share_awards,
a.consume_box_num = b.consume_box_num, a.new_box_num = b.new_box_num, a.team_box_num = b.team_box_num,
a.month_box_num = b.month_box_num, a.team_new_box_num = b.team_new_box_num,
a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, a.new_consume_pv = b.new_consume_pv,
a.team_consume_amount = b.team_consume_amount, a.team_consume_pv = b.team_consume_pv,
a.team_month_amount = b.team_month_amount, a.team_month_pv = b.team_month_pv,
a.team_new_amount = b.team_new_amount, a.team_new_pv = b.team_new_pv,
a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status
</update>
<!-- 当前网体更新极差秒接表 -->
<update id="mergeMemberSecondRetailRangeByRange">
merge into ${secondRangeTableName} a
using (
select a.pk_id pk_member,
a.pk_parent,
a.pk_settle_grade pk_grade,
a.pk_awards,
a.is_activate enable_status,
a.system_type
from (select *
from cu_member
where del_flag = 0
start
with pk_id = #{pkMember}
connect by pk_id = prior pk_parent
) a
) b
on (a.pk_member = b.pk_member)
when not matched then
insert (pk_member, pk_parent, pk_grade, pk_awards, enable_status, system_type)
values (b.pk_member, b.pk_parent, b.pk_grade, b.pk_awards, b.enable_status, b.system_type)
</update>
<!-- 更新极差秒接表,用昨天的结算表 -->
<update id="mergeMemberSecondRetailRangeByRangeEnable">
merge into ${secondRangeTableName} a
using (
select a.pk_id pk_member,
a.pk_parent,
a.pk_settle_grade pk_grade,
a.pk_awards,
nvl(b.enable_status, 1) enable_status
from (select *
from cu_member
where del_flag = 0
start
with pk_id = #{pkMember}
connect by pk_id = prior pk_parent
) a
left join ${rangeTableName} b
on a.pk_id = b.pk_member
where b.enable_status = 0
) b
on (a.pk_member = b.pk_member)
when matched then
update set a.enable_status = b.enable_status, a.pk_grade = b.pk_grade
</update>
<!-- 更新新零售极差秒接表 -->
<update id="mergeCuMemberSecondRange">
merge into ${secondTableName} a
using (
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, #{item.pkAwards} pk_awards,
#{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv,
#{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv,
#{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status
from dual
</foreach>
) b
on (a.pk_member = b.pk_member)
when matched then
update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards,
a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv,
a.team_new_box_num = b.team_new_box_num,a.team_new_pv = b.team_new_pv,
a.team_new_amount = b.team_new_amount,a.enable_status = b.enable_status
</update>
<update id="mergeMemberRetailGradeByMember">
merge into ${rangeTableName} a
using (
select pk_id pk_member, pk_parent, pk_settle_grade, pk_awards
from cu_member start with pk_id = #{pkMember}
connect by prior pk_parent = pk_id
) b
on (a.pk_member = b.pk_member)
when matched then
update set a.pk_grade = b.pk_settle_grade, a.pk_awards = b.pk_awards
</update>
<update id="mergeMemberRetailRegion">
merge into ${rangeTableName} a
using (
select cm.pk_member, cr.county region_address
from ${rangeTableName} cm
inner join cu_member_retail_region cr
on cr.pk_member = cm.pk_member and cr.effective = 0 and cr.del_flag = 0
where cr.creation_time &lt; #{settleDate,jdbcType=DATE}) b
on (a.pk_member = b.pk_member)
when matched then
update set a.region_address = b.region_address
</update>
<update id="mergeCuMemberRetailRangeBySpecial">
merge into ${rangeTableName} a
using (
select a.*
from cu_member_spe_retail a
inner join(
select member_code, max(nvl(modified_time, creation_time)) creation_time
from cu_member_spe_retail
where del_flag = 0
and period = #{period}
group by member_code) b
on a.member_code = b.member_code and nvl(a.modified_time, a.creation_time) = b.creation_time
) b
on (a.member_code = b.member_code)
when matched then
update set a.big_box_num = b.team_box_num - b.small_box_num,a.small_box_num = b.small_box_num,
a.team_box_num = a.team_box_num + b.team_box_num,a.team_consume_pv = a.team_consume_pv + b.total_team_pv,
a.team_month_pv = a.team_month_pv + b.total_team_pv,
a.big_team_pv = b.total_team_pv - b.small_area_pv,a.small_team_pv = b.small_area_pv
</update>
<update id="mergeCuMemberRetailBackBoxBySpecial">
merge into ${rangeTableName} a
using (
select *
from ${beforeTableName} a
inner join(
select cr.*
from cu_member_spe_retail cr
inner join(
select member_code, max(pk_id) pk_id
from cu_member_spe_retail
where period &lt; #{period}
and del_flag = 0
group by member_code
) b
on cr.member_code = b.member_code
where cr.period = #{period}
and cr.del_flag = 0) b
on a.member_code = b.member_code
) b
on (a.pk_member = b.pk_member)
when matched then
update set a.big_box_num = 0,a.small_box_num = 0,
a.team_box_num = a.team_box_num - a.big_box_num - a.small_box_num
</update>
<select id="queryCuMemberRetailRangeParent" resultMap="CuMemberRetailRangeExt">
<foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union">
select
a.pk_member,
a.member_code,
a.member_name,
a.pk_parent,
a.pk_settle_country,
a.category,
a.account_status,
a.pk_grade,
a.pk_awards,
a.income_status,
a.consume_pv,
a.pay_time,
a.pk_rate,
a.system_type,
a.income_status,
a.pk_country,
a.pk_settle_country,
a.pk_share_awards,
nvl(cm.is_activate, a.enable_status) enable_status
consume_box_num,
new_box_num,
team_box_num,
month_box_num,
team_new_box_num,
consume_pv,
month_consume_pv,
new_consume_pv,
team_consume_amount,
team_consume_pv,
team_month_amount,
team_month_pv,
team_new_amount,
team_new_pv,
recommend_num,
team_num,
pk_grade,
ba.grade_value,
ba.grade_name,
bw.awards_value,
bw.awards_name,
bwa.awards_value share_awards_value,
a.big_box_num,
a.small_box_num,
a.big_team_pv,
a.small_team_pv,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name
from (
select * from ${tableName}
start with pk_member = #{item}
connect by pk_member = prior pk_parent
) a
left join cu_member cm
on cm.pk_id = a.pk_member
and cm.del_flag = 0
and cm.category = 0
inner join bd_grade ba
on a.pk_grade = ba.pk_id
inner join bd_awards bw
on bw.pk_id = a.pk_awards
left join bd_awards bwa
on bwa.pk_id = a.pk_share_awards and bwa.del_flag = 0
left join bd_area br
on br.pk_id = a.region_address and br.del_flag = 0
where ba.del_flag = 0 and bw.del_flag = 0
</foreach>
</select>
<select id="queryCuMemberRetailRangeExtByParent" resultMap="CuMemberRetailRangeExt">
select a.pk_member,
a.member_code,
a.member_name,
a.pk_parent,
a.pk_settle_country,
a.category,
a.account_status,
a.pk_grade,
a.pk_awards,
a.income_status,
a.consume_pv,
a.pay_time,
a.pk_rate,
a.income_status,
a.pk_country,
a.pk_settle_country,
a.pk_share_awards,
a.big_box_num,
a.small_box_num,
a.big_team_pv,
a.small_team_pv,
a.system_type,
consume_box_num,
new_box_num,
team_box_num,
month_box_num,
team_new_box_num,
consume_pv,
month_consume_pv,
new_consume_pv,
team_consume_amount,
team_consume_pv,
team_month_amount,
team_month_pv,
team_new_amount,
team_new_pv,
recommend_num,
team_num,
ba.grade_value,
ba.grade_name,
bw.awards_value,
bw.awards_name,
bwa.awards_value share_awards_value,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name
from ${tableName} a
inner join bd_grade ba
on a.pk_grade = ba.pk_id
inner join bd_awards bw
on bw.pk_id = a.pk_awards
left join bd_area br
on br.pk_id = a.region_address and br.del_flag = 0
left join bd_awards bwa
on bwa.pk_id = a.pk_share_awards and bwa.del_flag = 0
where ba.del_flag = 0
and bw.del_flag = 0
and a.pk_parent = #{pkParent}
</select>
<select id="batchQueryMemberRetailRangeByMemberPk" resultMap="CuMemberRetailRangeExt">
<foreach collection="memberPkList" item="item" close=" " open=" " separator="union">
select pk_member,c.pk_parent,member_code,member_name,c.pk_awards,c.pk_grade,c.pk_rate,c.enable_status,
c.income_status,c.pk_country,c.pk_settle_country,c.account_status,c.category,bwa.awards_value share_awards_value,
bg.grade_value,bg.grade_name,bw.awards_value,bw.awards_name,c.pk_share_awards,c.system_type,
bw.range_ratio,bw.benefit_avg_ratio,bw.benefit_share_ratio from (
select * from ${rangeTableName}
start with pk_member = #{item}
connect by pk_member = prior pk_parent
) c
inner join bd_grade bg
on c.pk_grade = bg.pk_id
left join bd_awards bw
on bw.pk_id=c.pk_awards
left join bd_awards bwa
on bwa.pk_id=c.pk_share_awards and bwa.del_flag=0
where bg.del_flag=0 and bw.del_flag=0
</foreach>
</select>
<select id="batchQueryMemberRetailRangeByAwards" resultMap="CuMemberRetailRangeExt">
select pk_member,
member_code,
member_name,
a.pk_awards,
a.pk_grade,
a.pk_rate,
a.income_status,
a.pk_country,
a.pk_settle_country,
a.account_status,
a.category,
bg.grade_value,
bg.grade_name,
bw.awards_value share_awards_value,
bw.awards_name,
a.month_consume_pv,
a.team_month_pv,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio
from ${rangeTableName} a
inner join bd_awards bw
on bw.pk_id = a.pk_share_awards
inner join bd_grade bg
on bg.pk_id = a.pk_grade
where bw.del_flag = 0
and bg.del_flag = 0
and bg.grade_value >= 70
and bw.awards_value >= 20
</select>
<select id="batchQueryMemberRetailRangeByParent" resultMap="CuMemberRetailRangeExt">
select pk_member,pk_parent,member_code,member_name,a.pk_awards,a.pk_grade,a.pk_rate,
a.income_status,a.pk_country,a.pk_settle_country,a.account_status,a.category,
bg.grade_value,bg.grade_name,bw.awards_value,bw.awards_name,a.month_consume_pv,
a.team_month_pv,
bw.range_ratio,bw.benefit_avg_ratio,bw.benefit_share_ratio from ${rangeTableName} a
inner join bd_awards bw
on bw.pk_id=a.pk_awards
inner join bd_grade bg
on bg.pk_id=a.pk_grade
where bw.del_flag=0 and bg.del_flag=0
and a.pk_parent in
<foreach collection="memberRetailRangeExtList" item="item" open="(" close=")" separator=",">
#{item.pkMember}
</foreach>
</select>
<select id="batchQueryMemberRetailRangeByCounty" resultMap="CuMemberRetailRangeExt">
select pk_member,
pk_parent,
member_code,
member_name,
a.pk_awards,
a.pk_grade,
a.pk_rate,
a.pk_share_awards,
a.enable_status,
a.income_status,
a.pk_country,
a.pk_settle_country,
a.region_address,
ba.name country_name,
bg.grade_value,
bg.grade_name,
bw.awards_value,
bw.awards_name,
a.account_status,
a.category,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
a.system_type
from ${rangeTableName} a
inner join bd_awards bw
on bw.pk_id = a.pk_awards
inner join bd_grade bg
on bg.pk_id = a.pk_grade
inner join bd_area ba
on ba.pk_id = a.region_address
where bw.del_flag = 0
and bg.del_flag = 0
and ba.del_flag = 0
and a.region_address > 0
</select>
<select id="batchQueryMemberRetailSecondRangeByCounty" resultMap="CuMemberRetailRangeExt">
select cm.pk_id pk_member,
cm.pk_parent,
cm.member_code,
cm.member_name,
cm.pk_awards,
cm.pk_settle_grade pk_grade,
bt.pk_id pk_rate,
cm.income_status,
cm.pk_country,
cm.pk_settle_country,
cr.county region_address,
ba.name country_name,
bg.grade_value,
bg.grade_name,
bw.awards_value,
bw.awards_name,
cm.account_status,
cm.category,
cm.system_type,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status
from cu_member cm
inner join bd_awards bw
on bw.pk_id = cm.pk_awards
inner join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
inner join cu_member_retail_region cr
on cr.pk_member = cm.pk_id
inner join bd_area ba
on ba.pk_id = cr.county
inner join bd_currency bt
on bt.pk_country = cm.pk_settle_country
left join ${rangeTableName} r
on r.pk_member = cm.pk_id
left join ${secondRangeTableName} sc
on sc.pk_member = cm.pk_id
where bw.del_flag = 0
and bg.del_flag = 0
and ba.del_flag = 0
and cr.effective = 0
and cr.del_flag = 0
and cm.del_flag = 0
and cr.county = #{county}
</select>
<select id="queryCuMemberSecondRangeParent" resultMap="CuMemberRetailRangeExt">
select a.pk_member,
cm.member_code,
cm.member_name,
a.pk_parent,
cm.pk_settle_country,
cm.category,
cm.account_status,
a.pk_grade,
a.pk_awards,
cm.income_status,
cm.pay_time,
b.pk_rate,
nvl(cm.is_activate, a.enable_status) enable_status,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
a.new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
a.team_new_box_num,
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
a.new_consume_pv,
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num,
nvl(b.big_team_pv, 0) big_team_pv,
nvl(b.small_team_pv, 0) small_team_pv,
a.system_type,
a.team_new_amount,
a.team_new_pv,
bg.grade_value,
bg.grade_name,
bw.awards_value,
bw.awards_name,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name,
cr.county region_address
from (
select *
from ${secondTableName} start with pk_member = #{pkMember}
connect by pk_member = prior pk_parent
) a
left join ${rangeTableName} b
on a.pk_member = b.pk_member
inner join cu_member cm
on cm.pk_id = a.pk_member
inner join bd_awards bw
on bw.pk_id = a.pk_awards
inner join bd_grade bg
on bg.pk_id = a.pk_grade
left join cu_member_retail_region cr
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
left join bd_area br
on br.pk_id = cr.county and br.del_flag = 0
where bw.del_flag = 0
and bg.del_flag = 0
</select>
<select id="queryCuMemberSecondRange" resultMap="CuMemberRetailRangeExt">
select a.pk_member,
a.pk_parent,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
a.new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
a.team_new_box_num,
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
a.new_consume_pv,
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num,
nvl(b.big_team_pv, 0) big_team_pv,
nvl(b.small_team_pv, 0) small_team_pv,
a.team_new_amount,
a.team_new_pv
from ${secondTableName} a
left join ${rangeTableName} b
on a.pk_member = b.pk_member
where a.pk_member = #{pkMember}
or a.pk_parent = #{pkMember}
</select>
<select id="queryCuMemberSecondRangeExtByParent" resultMap="CuMemberRetailRangeExt">
select cm.pk_id pkMember,
nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num
from cu_member cm
left join ${secondTableName} a
on cm.pk_id = a.pk_member
left join ${rangeTableName} b
on cm.pk_id = b.pk_member
where cm.pk_parent = #{pkMember}
and cm.del_flag = 0
<!--
select a.pk_member,
cm.member_code,
cm.member_name,
a.pk_parent,
cm.pk_settle_country,
cm.category,
cm.account_status,
a.pk_grade,
a.pk_awards,
cm.income_status,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
a.new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
a.team_new_box_num,
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
a.new_consume_pv,
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
a.team_new_amount,
a.team_new_pv,
bg.grade_value,
bg.grade_name,
bw.awards_value,
bw.awards_name,
nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num,
nvl(b.big_team_pv, 0) big_team_pv,
nvl(b.small_team_pv, 0) small_team_pv,
a.system_type,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name
from ${secondTableName} a
left join ${rangeTableName} b
on a.pk_member = b.pk_member
inner join cu_member cm
on cm.pk_id = a.pk_member
inner join bd_awards bw
on bw.pk_id = a.pk_awards
inner join bd_grade bg
on bg.pk_id = a.pk_grade
left join cu_member_retail_region cr
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
left join bd_area br
on br.pk_id = cr.county and br.del_flag = 0
where bw.del_flag = 0
and bg.del_flag = 0
and a.pk_parent = #{pkMember}
-->
</select>
<select id="queryCuMemberSpeRetailRangeParent"
resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
select * from ${tableName}
where pk_parent in
<foreach collection="saOrderExtList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
union
select * from ${tableName}
where pk_member in
<foreach collection="saOrderExtList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
select pk_member,
pk_parent,
consume_box_num,
new_box_num,
team_box_num,
month_box_num,
team_new_box_num,
consume_pv,
month_consume_pv,
new_consume_pv,
team_consume_amount,
team_consume_pv,
team_month_amount,
team_month_pv,
big_box_num,
small_box_num,
big_team_pv,
small_team_pv,
team_new_amount,
team_new_pv
from ${tableName}
where pk_parent = #{pkParent}
</select>
<select id="queryCuMemberSecondRangeYes"
resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
select pk_member,
pk_parent,
consume_box_num,
new_box_num,
team_box_num,
month_box_num,
team_new_box_num,
consume_pv,
month_consume_pv,
new_consume_pv,
team_consume_amount,
team_consume_pv,
team_month_amount,
team_month_pv,
big_box_num,
small_box_num,
big_team_pv,
small_team_pv,
team_new_amount,
team_new_pv
from ${rangeTableName}
where pk_member = #{pkMember}
or pk_parent = #{pkMember}
</select>
</mapper>