| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  | <?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"/> | 
					
						
							| 
									
										
										
										
											2025-06-19 15:30:23 +08:00
										 |  |  |         <result column="PK_SHARE_AWARDS" property="pkShareAwards"/> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <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="NEW_BOX_NUM" property="newBoxNum"/> | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         <result column="CONSUME_BOX_NUM" property="consumeBoxNum"/> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <result column="MONTH_BOX_NUM" property="monthBoxNum"/> | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         <result column="NEW_CONSUME_PV" property="newConsumePv"/> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <result column="CONSUME_PV" property="consumePv"/> | 
					
						
							|  |  |  |         <result column="MONTH_CONSUME_PV" property="monthConsumePv"/> | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         <result column="TEAM_NEW_BOX_NUM" property="teamNewBoxNum"/> | 
					
						
							|  |  |  |         <result column="TEAM_BOX_NUM" property="teamBoxNum"/> | 
					
						
							|  |  |  |         <result column="TEAM_MONTH_BOX_NUM" property="teamMonthBoxNum"/> | 
					
						
							|  |  |  |         <result column="TEAM_NEW_PV" property="teamNewPv"/> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <result column="TEAM_CONSUME_PV" property="teamConsumePv"/> | 
					
						
							|  |  |  |         <result column="TEAM_MONTH_PV" property="teamMonthPv"/> | 
					
						
							|  |  |  |         <result column="TEAM_NEW_AMOUNT" property="teamNewAmount"/> | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         <result column="TEAM_CONSUME_AMOUNT" property="teamConsumeAmount"/> | 
					
						
							|  |  |  |         <result column="TEAM_MONTH_AMOUNT" property="teamMonthAmount"/> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <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} | 
					
						
							| 
									
										
										
										
											2025-07-08 16:49:30 +08:00
										 |  |  |         set new_box_num         = 0, | 
					
						
							|  |  |  |             consume_box_num     = 0, | 
					
						
							|  |  |  |             month_box_num       = 0, | 
					
						
							|  |  |  |             new_consume_pv      = 0, | 
					
						
							|  |  |  |             consume_pv          = 0, | 
					
						
							|  |  |  |             month_consume_pv    = 0, | 
					
						
							|  |  |  |             team_new_box_num    = 0, | 
					
						
							|  |  |  |             team_box_num        = 0, | 
					
						
							|  |  |  |             team_month_box_num  = 0, | 
					
						
							|  |  |  |             team_new_pv         = 0, | 
					
						
							|  |  |  |             team_consume_pv     = 0, | 
					
						
							|  |  |  |             team_month_pv       = 0, | 
					
						
							|  |  |  |             team_new_amount     = 0, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |             team_consume_amount = 0, | 
					
						
							| 
									
										
										
										
											2025-07-08 16:49:30 +08:00
										 |  |  |             team_month_amount   = 0, | 
					
						
							|  |  |  |             recommend_num       = 0, | 
					
						
							|  |  |  |             team_num            = 0, | 
					
						
							|  |  |  |             enable_status       = 1, | 
					
						
							| 
									
										
										
										
											2025-07-10 17:03:07 +08:00
										 |  |  |             pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20), | 
					
						
							| 
									
										
										
										
											2025-07-08 16:49:30 +08:00
										 |  |  |             region_address      = 0, | 
					
						
							|  |  |  |             big_box_num         = 0, | 
					
						
							|  |  |  |             small_box_num       = 0, | 
					
						
							|  |  |  |             big_team_pv         = 0, | 
					
						
							|  |  |  |             small_team_pv       = 0 | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |     </update> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <update id="mergeMemberRetailRangeByYesterday"> | 
					
						
							|  |  |  |         merge into ${rangeTableName} a | 
					
						
							|  |  |  |         using( | 
					
						
							| 
									
										
										
										
											2025-06-19 15:30:23 +08:00
										 |  |  |         select pk_member, pk_grade, pk_awards, pk_share_awards, enable_status, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         new_box_num, consume_box_num, month_box_num, | 
					
						
							|  |  |  |         new_consume_pv, consume_pv, month_consume_pv, | 
					
						
							|  |  |  |         team_new_box_num, team_box_num, team_month_box_num, | 
					
						
							|  |  |  |         team_new_pv, team_consume_pv, team_month_pv, | 
					
						
							|  |  |  |         team_new_amount, team_consume_amount, team_month_amount, | 
					
						
							|  |  |  |         recommend_num, team_num, | 
					
						
							|  |  |  |         big_box_num, small_box_num, big_team_pv, small_team_pv | 
					
						
							| 
									
										
										
										
											2025-06-12 17:03:38 +08:00
										 |  |  |         from ${yesterdayRangeTableName} | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         ) b | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         on (a.pk_member = b.pk_member) | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         when matched then | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         update set | 
					
						
							|  |  |  |         a.consume_box_num = b.consume_box_num, | 
					
						
							|  |  |  |         a.consume_pv = b.consume_pv, | 
					
						
							|  |  |  |         a.team_box_num = b.team_box_num, | 
					
						
							|  |  |  |         a.team_consume_pv = b.team_consume_pv, | 
					
						
							|  |  |  |         a.team_consume_amount = b.team_consume_amount, | 
					
						
							|  |  |  |         a.recommend_num = b.recommend_num, a.team_num = b.team_num, | 
					
						
							| 
									
										
										
										
											2025-07-10 17:03:07 +08:00
										 |  |  |         a.pk_grade = b.pk_grade, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         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 | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         <if test="isSameMonth == 0"> | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |             ,a.month_box_num = b.month_box_num | 
					
						
							|  |  |  |             ,a.month_consume_pv = b.month_consume_pv | 
					
						
							|  |  |  |             ,a.team_month_box_num = b.team_month_box_num | 
					
						
							|  |  |  |             ,a.team_month_pv = b.team_month_pv | 
					
						
							|  |  |  |             ,a.team_month_amount = b.team_month_amount | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         </if> | 
					
						
							|  |  |  |     </update> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <update id="mergeCuMemberRetailRangeExt"> | 
					
						
							|  |  |  |         merge into ${rangeTableName} a | 
					
						
							|  |  |  |         using ( | 
					
						
							|  |  |  |         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> | 
					
						
							| 
									
										
										
										
											2025-07-12 09:33:44 +08:00
										 |  |  |             select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |             #{item.newBoxNum} new_box_num, #{item.consumeBoxNum} consume_box_num, #{item.monthBoxNum} month_box_num, | 
					
						
							|  |  |  |             #{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, | 
					
						
							|  |  |  |             #{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num, | 
					
						
							|  |  |  |             #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, | 
					
						
							|  |  |  |             #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, | 
					
						
							|  |  |  |             #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |             from dual | 
					
						
							|  |  |  |         </foreach> | 
					
						
							|  |  |  |         ) b | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         on (a.pk_member = b.pk_member) | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         when matched then | 
					
						
							| 
									
										
										
										
											2025-07-12 09:33:44 +08:00
										 |  |  |         update set a.pk_grade = b.pk_grade, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |         a.new_box_num = b.new_box_num, a.consume_box_num = b.consume_box_num, a.month_box_num = b.month_box_num, | 
					
						
							|  |  |  |         a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, | 
					
						
							|  |  |  |         a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num, | 
					
						
							|  |  |  |         a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, | 
					
						
							|  |  |  |         a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, | 
					
						
							| 
									
										
										
										
											2025-06-12 14:29:05 +08:00
										 |  |  |         a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |     </update> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <select id="queryCuMemberRetailRangeParent" resultMap="CuMemberRetailRangeExt"> | 
					
						
							|  |  |  |         <foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union"> | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             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.income_status, | 
					
						
							|  |  |  |             a.pay_time, | 
					
						
							|  |  |  |             a.pk_rate, | 
					
						
							|  |  |  |             a.system_type, | 
					
						
							|  |  |  |             a.income_status, | 
					
						
							|  |  |  |             a.pk_country, | 
					
						
							|  |  |  |             a.pk_settle_country, | 
					
						
							| 
									
										
										
										
											2025-06-12 20:39:15 +08:00
										 |  |  |             a.enable_status, | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             new_box_num, | 
					
						
							| 
									
										
										
										
											2025-06-16 10:09:45 +08:00
										 |  |  |             consume_box_num, | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             month_box_num, | 
					
						
							| 
									
										
										
										
											2025-06-16 10:09:45 +08:00
										 |  |  |             new_consume_pv, | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             consume_pv, | 
					
						
							|  |  |  |             month_consume_pv, | 
					
						
							| 
									
										
										
										
											2025-06-16 10:09:45 +08:00
										 |  |  |             team_new_box_num, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |             team_box_num, | 
					
						
							|  |  |  |             team_month_box_num, | 
					
						
							|  |  |  |             team_new_pv, | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             team_consume_pv, | 
					
						
							|  |  |  |             team_month_pv, | 
					
						
							|  |  |  |             team_new_amount, | 
					
						
							| 
									
										
										
										
											2025-06-17 10:46:35 +08:00
										 |  |  |             team_consume_amount, | 
					
						
							|  |  |  |             team_month_amount, | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             recommend_num, | 
					
						
							|  |  |  |             team_num, | 
					
						
							|  |  |  |             ba.grade_value, | 
					
						
							|  |  |  |             ba.grade_name, | 
					
						
							|  |  |  |             a.big_box_num, | 
					
						
							|  |  |  |             a.small_box_num, | 
					
						
							|  |  |  |             a.big_team_pv, | 
					
						
							|  |  |  |             a.small_team_pv, | 
					
						
							|  |  |  |             br.name country_name | 
					
						
							|  |  |  |             from ( | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |             select * from ${tableName} | 
					
						
							|  |  |  |             start with pk_member = #{item} | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             connect by pk_member = prior pk_parent | 
					
						
							|  |  |  |             ) a | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |             inner join bd_grade ba | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             on a.pk_grade = ba.pk_id | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |             left join bd_area br | 
					
						
							| 
									
										
										
										
											2025-06-10 20:31:14 +08:00
										 |  |  |             on br.pk_id = a.region_address and br.del_flag = 0 | 
					
						
							| 
									
										
										
										
											2025-07-07 15:03:09 +08:00
										 |  |  |             where ba.del_flag = 0 | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  |         </foreach> | 
					
						
							|  |  |  |     </select> | 
					
						
							| 
									
										
										
										
											2025-08-14 11:02:00 +08:00
										 |  |  |     <select id="queryCuMemberRetailRangeByMemberId" | 
					
						
							|  |  |  |             resultType="com.hzs.common.domain.member.achieve.ext.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.income_status, | 
					
						
							|  |  |  |             a.pay_time, | 
					
						
							|  |  |  |             a.pk_rate, | 
					
						
							|  |  |  |             a.system_type, | 
					
						
							|  |  |  |             a.income_status, | 
					
						
							|  |  |  |             a.pk_country, | 
					
						
							|  |  |  |             a.pk_settle_country, | 
					
						
							|  |  |  |             a.enable_status, | 
					
						
							|  |  |  |             new_box_num, | 
					
						
							|  |  |  |             consume_box_num, | 
					
						
							|  |  |  |             month_box_num, | 
					
						
							|  |  |  |             new_consume_pv, | 
					
						
							|  |  |  |             consume_pv, | 
					
						
							|  |  |  |             month_consume_pv, | 
					
						
							|  |  |  |             team_new_box_num, | 
					
						
							|  |  |  |             team_box_num, | 
					
						
							|  |  |  |             team_month_box_num, | 
					
						
							|  |  |  |             team_new_pv, | 
					
						
							|  |  |  |             team_consume_pv, | 
					
						
							|  |  |  |             team_month_pv, | 
					
						
							|  |  |  |             team_new_amount, | 
					
						
							|  |  |  |             team_consume_amount, | 
					
						
							|  |  |  |             team_month_amount, | 
					
						
							|  |  |  |             recommend_num, | 
					
						
							|  |  |  |             team_num, | 
					
						
							|  |  |  |             ba.grade_value, | 
					
						
							|  |  |  |             ba.grade_name, | 
					
						
							|  |  |  |             a.big_box_num, | 
					
						
							|  |  |  |             a.small_box_num, | 
					
						
							|  |  |  |             a.big_team_pv, | 
					
						
							|  |  |  |             a.small_team_pv, | 
					
						
							|  |  |  |             br.name country_name | 
					
						
							|  |  |  |         FROM | 
					
						
							|  |  |  |             ${tableName} a | 
					
						
							|  |  |  |                 INNER JOIN bd_grade ba ON a.pk_grade = ba.pk_id | 
					
						
							|  |  |  |                 LEFT JOIN bd_area br ON br.pk_id = a.region_address | 
					
						
							|  |  |  |                 AND br.del_flag = 0 | 
					
						
							|  |  |  |         WHERE | 
					
						
							|  |  |  |             ba.del_flag = 0 | 
					
						
							|  |  |  |           and a.pk_member = #{memberId} | 
					
						
							|  |  |  |     </select> | 
					
						
							| 
									
										
										
										
											2025-06-10 15:45:02 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | </mapper> |