736 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			XML
		
	
	
	
		
		
			
		
	
	
			736 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			XML
		
	
	
	
|  | <?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=12, | ||
|  |             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.newConsumePv} new_consume_pv, #{item.teamNewAmount} team_new_amount, | ||
|  |             #{item.teamNewPv} team_new_pv, #{item.teamNewBoxNum} team_new_box_num, | ||
|  |             #{item.newBoxNum} new_box_num, #{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_consume_pv = b.new_consume_pv, a.team_new_amount = b.team_new_amount, | ||
|  |         a.team_new_pv = b.team_new_pv, a.team_new_box_num = b.team_new_box_num, | ||
|  |         a.new_box_num = b.new_box_num, 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 < #{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 < #{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,a.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 | ||
|  |             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, | ||
|  |                a.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 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> |