java-base-app/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml

3399 lines
130 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.member.base.mapper.CuMemberMapper">
<!-- 查询登录会员以及状态 -->
<resultMap id="MemberResultMap" type="com.hzs.common.domain.member.ext.CuMemberExt">
<id column="PK_ID" property="pkId"/>
<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="ID_CARD" property="idCard"/>
<result column="SEX" property="sex"/>
<result column="BIRTH_DATE" property="birthDate"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_SETTLE_COUNTRY" property="pkSettleCountry"/>
<result column="PARENT" property="parent"/>
<result column="PK_PARENT" property="pkParent"/>
<result column="PK_PLACE_PARENT" property="pkPlaceParent"/>
<result column="PLACE_DEPT" property="placeDept"/>
<result column="PK_TEAM_CODE" property="pkTeamCode"/>
<result column="PK_CENTER_CODE" property="pkCenterCode"/>
<result column="SOURCE" property="source"/>
<result column="PK_REGISTER_GRADE" property="pkRegisterGrade"/>
<result column="PK_SETTLE_GRADE" property="pkSettleGrade"/>
<result column="PK_AWARDS" property="pkAwards"/>
<result column="PK_MAX_AWARDS" property="pkMaxAwards"/>
<result column="CONSUME_MONEY" property="consumeMoney"/>
<result column="CONSUME_ACHIEVE" property="consumeAchieve"/>
<result column="PURCHASE_STATUS" property="purchaseStatus"/>
<result column="SHARE_STATUS" property="shareStatus"/>
<result column="PAY_TIME" property="payTime"/>
<result column="PAY_STATUS" property="payStatus"/>
<result column="LOGIN_PWD" property="loginPwd"/>
<result column="PAY_PWD" property="payPwd"/>
<result column="LOGIN_PASSWORD" property="loginPassword"/>
<result column="PAY_PASSWORD" property="payPassword"/>
<result column="EDIT_NUMBER" property="editNumber"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="REGISTER_AUTHORITY" property="registerAuthority"/>
<result column="PK_VERTEX" property="pkVertex"/>
<result column="ACCOUNT_STATUS" property="accountStatus"/>
<result column="PAY_STATUS" property="payStatus"/>
<result column="CATEGORY" property="category"/>
<result column="EMAIL" property="email"/>
<result column="ORDER_SOURCE" property="orderSource"/>
<result column="IS_REAL_NAME" property="isRealName"/>
<result column="IS_BUS_LICENSE" property="isBusLicense"/>
<result column="IS_MAKER_SPACE" property="isMakerSpace"/>
<result column="CHANGE_NUMBER" property="changeNumber"/>
<result column="WECHAT" property="wechat"/>
<result column="CARD_TYPE" property="cardType"/>
<result column="NICK_NAME" property="nickName"/>
<result column="HEAD_PATH" property="headPath"/>
<result column="DIRECT_PUSH_NUMBER" property="directPushNumber"/>
<result column="IS_DEALER" property="isDealer"/>
<result column="SYSTEM_LEVEL" property="systemLevel"/>
<result column="LECTURER_LEVEL" property="lecturerLevel"/>
<result column="SUPER_STUDIO" property="superStudio"/>
<result column="ID_FRONT" property="idFront"/>
<result column="ID_BACK" property="idBack"/>
<result column="PK_PROVINCE" property="pkProvince"/>
<result column="PK_CITY" property="pkCity"/>
<result column="PK_COUNTY" property="pkCounty"/>
<result column="ADDRESS" property="address"/>
<result column="BANK_NAME" property="bankName"/>
<result column="SUB_BANK_NAME" property="subBankName"/>
<result column="ACCOUNT_NAME" property="accountName"/>
<result column="reservedPhone" property="reservedPhone"/>
<result column="CARD_NUMBER" property="cardNumber"/>
<result column="certificationTime" property="certificationTime"/>
<result column="directPushNumber" property="directPushNumber"/>
<result column="ID_TYPE" property="idType"/>
<result column="GLOBAL_CODE" property="globalCode"/>
<result column="COUNTRY_CODE" property="countryCode"/>
<result column="recommendedOrderNumber" property="recommendedOrderNumber"/>
<result column="GLOBAL_CODE" property="globalCode"/>
<result column="COUNTRY_CODE" property="countryCode"/>
<result column="GRADE_VALUE" property="gradeValue"/>
<result column="REGISTER_GRADEVAL" property="registerGradeVal"/>
<result column="AWARDS_VAL" property="awardsVal"/>
<result column="TEAM_CODE" property="teamCode"/>
<result column="TEAM_NAME" property="teamName"/>
<result column="SERVICE_AGREEMENT" property="serviceAgreement"/>
<result column="EXPIRE_DATE" property="expireDate"/>
<result column="STOP_DATE" property="stopDate"/>
<result column="EXPIRE_STATUS" property="expireStatus"/>
<result column="SERVICE_CODE" property="serviceCode"/>
<result column="SYSTEM_TYPE" property="systemType"/>
</resultMap>
<resultMap id="MemberVO" type="com.hzs.member.base.vo.CuMemberVO">
<id column="PK_ID" property="pkId"/>
<result column="MEMBER_CODE" property="memberCode"/>
<result column="MEMBER_NAME" property="memberName"/>
<result column="NICK_NAME" property="nickName"/>
<result column="CUSTOMER_TYPE" property="customerType"/>
<result column="PHONE" property="phone"/>
<result column="ID_CARD" property="idCard"/>
<result column="SEX" property="sex"/>
<result column="BIRTH_DATE" property="birthDate"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_SETTLE_COUNTRY" property="pkSettleCountry"/>
<result column="PAR_MEMBER_CODE" property="parMemberCode"/>
<result column="PAR_MEMBER_NAME" property="parMemberName"/>
<result column="PLACE_MEMBER_CODE" property="placeMemberCode"/>
<result column="PLACE_MEMBER_NAME" property="placeMemberName"/>
<result column="PLACE_DEPT" property="placeDept"/>
<result column="CENTER_MEMBER_CODE" property="centerMemberCode"/>
<result column="CENTER_MEMBER_NAME" property="centerMemberName"/>
<result column="SOURCE" property="source"/>
<result column="PK_REGISTER_GRADE" property="pkRegisterGrade"/>
<result column="PK_SETTLE_GRADE" property="pkSettleGrade"/>
<result column="PK_AWARDS" property="pkAwards"/>
<result column="CONSUME_MONEY" property="consumeMoney"/>
<result column="CONSUME_ACHIEVE" property="consumeAchieve"/>
<result column="PURCHASE_STATUS" property="purchaseStatus"/>
<result column="SHARE_STATUS" property="shareStatus"/>
<result column="PAY_TIME" property="payTime"/>
<result column="PAY_STATUS" property="payStatus"/>
<result column="EDIT_NUMBER" property="editNumber"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="REGISTER_AUTHORITY" property="registerAuthority"/>
<result column="TOP_MEMBER_CODE" property="topMemberCode"/>
<result column="TOP_MEMBER_NAME" property="topMemberName"/>
<result column="ACCOUNT_STATUS" property="accountStatus"/>
<result column="WALLET_STATUS" property="walletStatus"/>
<result column="PAY_STATUS" property="payStatus"/>
<result column="CATEGORY" property="category"/>
<result column="EMAIL" property="email"/>
<result column="INCOME_STATUS" property="incomeStatus"/>
<result column="ORDER_SOURCE" property="orderSource"/>
<result column="IS_REAL_NAME" property="isRealName"/>
<result column="IS_BUS_LICENSE" property="isBusLicense"/>
<result column="IS_MAKER_SPACE" property="isMakerSpace"/>
<result column="CHANGE_NUMBER" property="changeNumber"/>
<result column="WECHAT" property="wechat"/>
<result column="CARD_TYPE" property="cardType"/>
<result column="ID_CARD_JUST" property="idCardJust"/>
<result column="ID_CARD_BACK" property="idCardBack"/>
<result column="GIFT_PROVINCE" property="giftProvince"/>
<result column="GIFT_CITY" property="giftCity"/>
<result column="GIFT_COUNTY" property="giftCounty"/>
<result column="GIFT_ADDRESS" property="giftAddress"/>
<result column="BANK_NAME" property="bankName"/>
<result column="SUB_BANK_NAME" property="subBankName"/>
<result column="ACCOUNT_NAME" property="accountName"/>
<result column="PHONE" property="reservePhone"/>
<result column="CARD_NUMBER" property="cardNumber"/>
<result column="NICK_NAME" property="nickName"/>
<result column="HEAD_PATH" property="headPath"/>
<result column="agent_grade" property="agentGrade"/>
<result column="DIRECT_PUSH_NUMBER" property="directPushNumber"/>
<result column="IS_DEALER" property="isDealer"/>
<result column="SYSTEM_LEVEL" property="systemLevel"/>
<result column="LECTURER_LEVEL" property="lecturerLevel"/>
<result column="SUPER_STUDIO" property="superStudio"/>
<result column="STORE_LEVEL" property="storeLevel"/>
<result column="SERVICE_CODE" property="serviceCode"/>
</resultMap>
<sql id="CuMember_Column">
select cm.pk_id,
cm.member_code,
cm.member_name,
cm.phone,
cm.pk_settle_country,
cm.pk_parent,
cm.pk_place_parent,
cm.place_dept,
cm.pk_team_code,
cm.pk_center_code,
cm.category,
cm.pk_settle_grade,
cm.pk_awards,
cm.purchase_status,
cm.order_source,
cm.is_real_name,
cm.is_bus_license,
cm.is_maker_space,
cm.share_status,
cm.pay_pwd,
cm.register_authority,
cm.nick_name,
cm.pk_vertex,
cm.service_code
from cu_member cm
where cm.del_flag = 0
</sql>
<!-- 保存会员信息 -->
<insert id="insertCuMember" parameterType="com.hzs.common.domain.member.base.CuMember">
INSERT INTO CU_MEMBER (PK_ID, MEMBER_CODE, MEMBER_NAME, CATEGORY, CUSTOMER_TYPE, PHONE, EMAIL, ID_CARD,
PK_SETTLE_COUNTRY,
PK_PARENT, PK_PLACE_PARENT, PLACE_DEPT, PK_TEAM_CODE, PK_CENTER_CODE, SOURCE,
PK_REGISTER_GRADE,
PK_SETTLE_GRADE, PK_AWARDS, CONSUME_MONEY, CONSUME_ACHIEVE, PAY_STATUS, LOGIN_PWD,
PAY_PWD, LOGIN_PASSWORD, PAY_PASSWORD,
PK_VERTEX, ACCOUNT_STATUS, ORDER_SOURCE, PK_CREATOR, CREATION_TIME, PK_COUNTRY, PAY_TIME,
GLOBAL_CODE, COUNTRY_CODE, REGISTER_AUTHORITY,
EXPIRE_DATE, STOP_DATE, IS_MAKER_GIFT, MAKER_GIFT_TIME)
VALUES (#{pkId,jdbcType=INTEGER}, #{memberCode}, #{memberName}, #{category}, #{customerType}, #{phone},
#{email, jdbcType=VARCHAR}, #{idCard, jdbcType=VARCHAR}, #{pkSettleCountry},
#{pkParent}, #{pkPlaceParent,jdbcType=NUMERIC}, #{placeDept,jdbcType=INTEGER},
#{pkTeamCode,jdbcType=INTEGER}, #{pkCenterCode,jdbcType=INTEGER}, #{source}, #{pkRegisterGrade},
#{pkSettleGrade}, #{pkAwards}, #{consumeMoney,jdbcType=NUMERIC}, #{consumeAchieve,jdbcType=NUMERIC},
#{payStatus}, #{loginPwd}, #{payPwd},
#{loginPassword}, #{payPassword}, #{pkVertex,jdbcType=INTEGER}, #{accountStatus}, #{orderSource},
#{pkCreator,jdbcType=INTEGER}, #{creationTime, jdbcType=TIMESTAMP}, #{pkCountry},
#{payTime, jdbcType=TIMESTAMP},
#{globalCode, jdbcType=VARCHAR}, #{countryCode, jdbcType=VARCHAR},
#{registerAuthority,jdbcType=INTEGER},
#{expireDate, jdbcType=DATE}, #{stopDate, jdbcType=DATE}, #{isMakerGift,jdbcType=INTEGER},
#{makerGiftTime,jdbcType=TIMESTAMP})
</insert>
<!-- 批量保存会员信息 -->
<insert id="insertBatchCuMember">
insert ALL
<foreach collection="memberList" item="item" separator=" ">
into CU_MEMBER (
PK_ID, MEMBER_CODE, MEMBER_NAME, CUSTOMER_TYPE,
PHONE, PK_PARENT, PK_PLACE_PARENT, PLACE_DEPT,
PK_COUNTRY, PK_SETTLE_COUNTRY, SOURCE,
PK_REGISTER_GRADE, PK_SETTLE_GRADE, PK_AWARDS,
LOGIN_PWD, PAY_PWD, LOGIN_PASSWORD, PAY_PASSWORD,
PK_CREATOR, CREATION_TIME, PAY_TIME, PAY_STATUS,
PK_TEAM_CODE, PK_VERTEX, ORDER_SOURCE, CONSUME_ACHIEVE,
GLOBAL_CODE, COUNTRY_CODE, EXPIRE_DATE, STOP_DATE
)
values (
#{item.pkId}, #{item.memberCode}, #{item.memberName}, #{item.customerType},
#{item.phone}, #{item.pkParent}, #{item.pkPlaceParent}, #{item.placeDept},
#{item.pkCountry}, #{item.pkSettleCountry}, #{item.source},
#{item.pkRegisterGrade}, #{item.pkSettleGrade}, #{item.pkAwards},
#{item.loginPwd}, #{item.payPwd}, #{item.loginPassword}, #{item.payPassword},
#{item.pkCreator}, #{item.creationTime}, #{item.payTime}, #{item.payStatus},
#{item.pkTeamCode, jdbcType=NUMERIC}, #{item.pkVertex, jdbcType=NUMERIC}, #{item.orderSource},
#{item.consumeAchieve},
#{item.globalCode, jdbcType=VARCHAR}, #{item.countryCode, jdbcType=VARCHAR},
#{item.expireDate, jdbcType=DATE}, #{item.stopDate, jdbcType=DATE}
)
</foreach>
SELECT 1 FROM dual
</insert>
<!-- 通用查询映射结果 -->
<select id="queryLoginMember" resultMap="MemberResultMap">
select cm.*
from cu_member cm
where cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and cm.member_code = #{memberCode}
</if>
<if test="pkMember != null">
and cm.pk_id = #{pkMember}
</if>
</select>
<!-- 根据服务编号登录用户2024.07.09 兼容海外临时需求) -->
<select id="queryTmpLoginMember" resultMap="MemberResultMap">
select cm.*
from cu_member cm
where cm.del_flag = 0
<if test="serviceCode != null and serviceCode != ''">
and cm.SERVICE_CODE = #{serviceCode}
</if>
</select>
<!-- 查询会员(无删除标记) -->
<select id="queryMemberNotFlag" resultMap="MemberResultMap">
select cm.*
from cu_member cm
where 1 = 1
<if test="memberCode != null and memberCode != ''">
and cm.member_code = #{memberCode}
</if>
<if test="pkMember != null">
and cm.pk_id = #{pkMember}
</if>
</select>
<!--and cm.PAY_STATUS=1-->
<select id="queryMemberInfoByCondition" resultMap="MemberResultMap">
<include refid="CuMember_Column"/>
<choose>
<when test="category != 10">
and cm.category = 0
</when>
</choose>
<if test="pkSettleCountry != null">
and cm.pk_settle_country=#{pkSettleCountry}
</if>
<if test="payStatus != null">
and cm.pay_status=#{payStatus}
</if>
<if test="pkId != null ">
and cm.pk_id = #{pkId}
</if>
<if test="memberCode != null and memberCode != ''">
and cm.member_code = #{memberCode}
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name = #{memberName}
</if>
<if test="phone != null and phone != ''">
and cm.phone = #{phone}
</if>
<if test="pkParent != null and pkParent != ''">
and cm.pk_parent = #{pkParent}
</if>
<if test="pkPlaceParent != null and pkPlaceParent != ''">
and cm.pk_place_parent = #{pkPlaceParent}
</if>
<if test="placeDept != null and placeDept != ''">
and cm.place_dept = #{placeDept}
</if>
<if test="pkSettleGrade != null and pkSettleCountry != null">
<choose>
<when test="pkSettleGrade == 20 and pkSettleCountry == 1">
and cm.pk_settle_grade = 1
</when>
<otherwise>
and cm.pk_settle_grade > 1
</otherwise>
</choose>
</if>
</select>
<select id="selectPlaceSponsorOnUmbrella" resultMap="MemberResultMap">
select t.pk_id, t.member_code, t.member_name, t.phone, t.pk_place_parent
from cu_member t
where t.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and member_code = #{memberCode}
</if>
<if test="phone != null and phone != ''">
and t.phone=#{phone}
</if>
start with t.pk_id = #{memberId}
connect by t.pk_id = prior t.pk_place_parent
order by level desc
</select>
<select id="selectPlaceSponsorUnderUmbrella" resultMap="MemberResultMap">
select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT
from cu_member t
where t.del_flag = 0 start
with t.pk_place_parent = #{memberId}
connect by t.pk_place_parent = prior t.pk_id
order by level
</select>
<select id="selectPlaceSponsorUnderUmbrellaByCondition" resultMap="MemberResultMap">
select * from (
select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT
from cu_member t
where t.del_flag = 0 start
with t.pk_place_parent = #{memberId}
connect by t.pk_place_parent = prior t.pk_id
union
select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT
from cu_member t
where t.del_flag = 0 and t.pk_id = #{memberId}
) a
where a.pk_id in
<foreach collection="cuMemberExtList" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
</select>
<select id="selectPlaceSponsorLastLeft" resultMap="MemberResultMap">
<!--
select *
from (select t.pk_id,
t.member_code,
t.member_name,
t.pk_vertex,
t.nick_name,
t.service_code
from (select *
from cu_member
where del_flag = 0
start with pk_place_parent = #{memberId}
connect by prior pk_id = pk_place_parent) t
where t.del_flag = 0
and t.place_dept = 1
start with t.pk_id = (select u.pk_id
from (select *
from cu_member
where del_flag = 0
start with pk_place_parent = #{memberId}
connect by prior pk_id = pk_place_parent) u
where u.del_flag = 0
and u.pk_place_parent = #{memberId}
and u.place_dept = #{placeDept, jdbcType=INTEGER})
connect by prior
t.pk_id = (select u.pk_place_parent
from (select *
from cu_member
where del_flag = 0
start with pk_place_parent = #{memberId}
connect by prior pk_id = pk_place_parent) u
where u.pk_id = t.pk_id
and u.place_dept = 1)
order by level desc) n
where rownum = 1
-->
select *
from (select t.pk_id, t.member_code, t.member_name, t.pk_vertex, t.nick_name, t.service_code
from cu_member t
where t.del_flag = 0
and t.place_dept = 1 start
with t.pk_id = (select u.pk_id
from cu_member u
where u.del_flag=0 and u.pk_place_parent = #{memberId}
and u.place_dept = #{placeDept, jdbcType=INTEGER})
connect by prior
t.pk_id = (select u.pk_place_parent
from cu_member u
where u.pk_id = t.pk_id
and u.place_dept = 1)
order by level desc) n
where rownum = 1
</select>
<select id="selectBloodKinshipOnUmbrella" resultMap="MemberResultMap">
select t.pk_id, t.member_code, t.member_name, t.phone, t.pk_parent
from cu_member t
where t.del_flag = 0 start
with t.pk_id = #{memberId}
connect by t.pk_id = prior t.pk_parent
order by level
</select>
<select id="selectBloodKinshipUnderUmbrella" resultMap="MemberResultMap">
select t.pk_id, t.member_code, t.member_name, t.phone, t.pk_parent
from cu_member t
where t.del_flag = 0 start
with t.pk_id = #{memberId}
connect by t.pk_parent = prior t.pk_id
order by level
</select>
<select id="createMemberId" resultType="java.lang.Long">
SELECT CU_MEMBER_SEQ.NEXTVAL
FROM DUAL
</select>
<!--会员信息列表-->
<select id="queryCuMemberByCondition" parameterType="com.hzs.member.base.vo.CuMemberVO" resultMap="MemberVO">
SELECT cm.PK_ID
FROM cu_member cm
left join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
left JOIN cu_member par
ON par.pk_id = cm.pk_parent
left JOIN cu_member place
ON place.pk_id = cm.pk_place_parent
LEFT JOIN cu_member_team ct
ON ct.pk_id = cm.pk_team_code
LEFT JOIN cu_member center
ON center.pk_id = cm.pk_center_code
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
left join bd_grade gr
on gr.pk_id = cm.PK_REGISTER_GRADE
left join bd_grade grr
on grr.pk_id = cm.PK_SETTLE_GRADE
left join bd_vertex ver
on cm.pk_vertex = ver.pk_id
left join CU_MAKER_SPACE cmse on cmse.PK_MEMBER=cm.pk_id and cmse.DEL_FLAG=0 and cmse.store_type = 1
and cmse.APPROVE_STATUS=5 and cmse.APPLY_STATUS=5
left join (select pk_member,bg.pk_transaction AGENT_GRADE from cu_member_agent ca
inner join bd_grade bg
on ca.agent_grade=bg.pk_id
where ca.del_flag = 0
and ca.agent_type = 1) cmat
on cm.pk_id =cmat.pk_member
LEFT JOIN CU_MEMBER_HISTROY_AWARDS cmha ON cm.PK_ID = cmha.PK_MEMBER
LEFT JOIN BD_HISTROY_AWARDS bha ON bha.pk_id = cmha.PK_AWARDS and bha.DEL_FLAG=0
WHERE cm.del_flag = 0
and cm.pk_settle_country=#{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode}||'%'
</if>
<if test="lecturerLevel != null">
and cm.LECTURER_LEVEL=#{lecturerLevel}
</if>
<if test="isMakerGift != null">
and cm.IS_MAKER_GIFT=#{isMakerGift}
</if>
<if test="changeNumber != null">
and cm.CHANGE_NUMBER=#{changeNumber}
</if>
<if test="incomeStatus != null">
and cm.INCOME_STATUS=#{incomeStatus}
</if>
<if test="superStudio != null">
and cm.super_studio=#{superStudio}
</if>
<if test="agentGrade != null">
and cmat.agent_grade=#{agentGrade}
</if>
<if test="isTransfer != null">
and cma.IS_TRANSFER=#{isTransfer}
</if>
<if test="walletStatus != null">
and cma.IS_WITHDRAW=#{walletStatus}
</if>
<if test="isConsume != null">
and cma.IS_CONSUME=#{isConsume}
</if>
<if test="transferStatus != null">
and cma.TRANSFER_STATUS=#{transferStatus}
</if>
<if test="vertexId != null">
and ver.PK_ID=#{vertexId}
</if>
<if test="teamId != null">
and ct.PK_ID=#{teamId}
</if>
<if test="registerAuthority != null">
and cm.REGISTER_AUTHORITY=#{registerAuthority}
</if>
<if test="isDealer != null">
and cm.IS_DEALER=#{isDealer}
</if>
<if test="accountStatus != null">
and cm.ACCOUNT_STATUS=#{accountStatus}
</if>
<if test="isRealName != null">
and cm.IS_REAL_NAME=#{isRealName}
</if>
<if test="serviceAgreement != null">
and cm.SERVICE_AGREEMENT=#{serviceAgreement}
</if>
<if test="isBusLicense != null">
and cm.is_bus_license=#{isBusLicense}
</if>
<if test="isMakerSpace != null">
and cm.IS_MAKER_SPACE=#{isMakerSpace}
</if>
<if test="orderSource != null">
and cm.order_source=#{orderSource}
</if>
<if test="centerMemberCode != null and centerMemberCode != ''">
and center.member_code like #{centerMemberCode}||'%'
</if>
<if test="centerMemberName != null and centerMemberName != ''">
and center.member_name like #{centerMemberName}||'%'
</if>
<if test="parMemberCode != null and parMemberCode != ''">
and par.member_code like #{parMemberCode}||'%'
</if>
<if test="parMemberName != null and parMemberName != ''">
and par.member_name like #{parMemberName}||'%'
</if>
<if test="placeMemberCode != null and placeMemberCode != ''">
and place.member_code like #{placeMemberCode}||'%'
</if>
<if test="placeMemberName != null and placeMemberName != ''">
and place.member_name like #{placeMemberName}||'%'
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName}||'%'
</if>
<if test="phone != null and phone != ''">
and cm.phone=#{phone}
</if>
<if test="pkRegisterGrade != null ">
and cm.pk_register_grade =#{pkRegisterGrade}
</if>
<if test="pkSettleGrade != null ">
and cm.PK_SETTLE_GRADE =#{pkSettleGrade}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="directPushNumber != null">
and cm.DIRECT_PUSH_NUMBER=#{directPushNumber}
</if>
<if test="systemLevel != null">
and cm.SYSTEM_LEVEL=#{systemLevel}
</if>
<if test="placeDept != null ">
and cm.place_dept=#{placeDept}
</if>
<if test="teamName != null and teamName !=''">
and ct.team_name like #{teamName}||'%'
</if>
<if test="startDate != null and startDate !='' ">
and cm.CREATION_TIME &gt;= to_date(#{startDate}, 'yyyy-mm-dd')
</if>
<if test="endDate != null and endDate !='' ">
and cm.CREATION_TIME &lt;= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startDatePay != null and startDatePay != ''">
and cm.PAY_TIME &gt;= to_date(#{startDatePay}, 'yyyy-mm-dd')
</if>
<if test="endDatePay != null and endDatePay != ''">
and cm.PAY_TIME &lt;= to_date(#{endDatePay} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startExpireDate != null and startExpireDate != ''">
and cm.EXPIRE_DATE &gt;= to_date(#{startExpireDate}, 'yyyy-mm-dd')
</if>
<if test="endExpireDate != null and endExpireDate != ''">
and cm.EXPIRE_DATE &lt;= to_date(#{endExpireDate}, 'yyyy-mm-dd')
</if>
<if test="isTransfer != null ">
and cma.IS_TRANSFER=#{isTransfer}
</if>
<if test="isWithdraw != null ">
and cma.IS_WITHDRAW=#{isWithdraw}
</if>
<if test="isConsume != null ">
and cma.IS_CONSUME=#{isConsume}
</if>
<if test="storeType != null ">
and cmse.STORE_LEVEL=#{storeType}
</if>
<if test="expireStatus != null ">
and cm.EXPIRE_STATUS=#{expireStatus}
</if>
<!-- 体系权限处理 -->
<if test="vertexList != null and vertexList.size > 0">
and ver.pk_member in
<foreach collection="vertexList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<!--团队权限 -->
<if test="teamList != null and teamList.size > 0">
and ct.pk_member in
<foreach collection="teamList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="systemType != null ">
and cm.SYSTEM_TYPE=#{systemType}
</if>
order by cm.CREATION_TIME desc
</select>
<!--会员真实信息列表-->
<select id="realCuMemberByCondition" parameterType="com.hzs.member.base.vo.CuMemberVO" resultMap="MemberVO">
SELECT
cm.PK_ID,
gr.GRADE_NAME as registerName,
grr.GRADE_NAME as settleName,
awa.AWARDS_NAME awardsName,
cm.member_code,
cm.SEX,
cm.BIRTH_DATE,
cm.member_name,
cm.phone,
cm.CARD_TYPE,
cm.ID_CARD,
cmg.ID_CARD_JUST,
cmg.ID_CARD_BACK,
province.name GIFT_PROVINCE,
city.name GIFT_CITY,
county.name GIFT_COUNTY,
cmg.GIFT_ADDRESS,
cmb.BANK_NAME,
cmb.SUB_BANK_NAME,
cmb.ACCOUNT_NAME,
cmb.PHONE,
cmb.CARD_NUMBER,
cm.EMAIL,
cm.WECHAT,
cmg.CREATION_TIME as attestationTime,
cm.PAY_TIME,
cm.creation_time
FROM
cu_member cm
left join bd_awards awa on awa.pk_id= cm.PK_AWARDS
left join bd_grade gr on gr.pk_id=cm.PK_REGISTER_GRADE
left join bd_grade grr on grr.pk_id=cm.PK_REGISTER_GRADE
left join cu_member_bank cmb on cmb.PK_MEMBER=cm.PK_ID
left join CU_MEMBER_GIFT cmg on cmg.PK_MEMBER=cm.PK_ID
left join bd_area province on province.PK_ID=cmg.GIFT_PROVINCE
left join bd_area city on city.PK_ID=cmg.GIFT_CITY
left join bd_area county on county.PK_ID=cmg.GIFT_COUNTY
WHERE
cm.del_flag = 0
and cm.pk_settle_country=#{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.member_code=#{memberCode}
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name=#{memberName}
</if>
<if test="phone != null and phone != ''">
and cm.phone=#{phone}
</if>
<if test="pkRegisterGrade != null ">
and cm.pk_register_grade =#{pkRegisterGrade}
</if>
<if test="pkSettleGrade != null ">
and cm.PK_SETTLE_GRADE =#{pkSettleGrade}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="cardType != null">
and cm.CARD_TYPE=#{cardType}
</if>
<if test="birthDate != null">
and cm.BIRTH_DATE=#{birthDate}
</if>
<if test="giftProvince != null">
and cmg.GIFT_PROVINCE=#{giftProvince}
</if>
<if test="giftCity != null">
and cmg.GIFT_CITY=#{giftCity}
</if>
<if test="giftCounty != null">
and cmg.GIFT_COUNTY=#{giftCounty}
</if>
<if test="sex != null">
and cm.SEX=#{sex}
</if>
<if test="pkBdBank != null">
and cmb.PK_BD_BANK=#{pkBdBank}
</if>
<if test="subBankName != null and subBankName != ''">
and cmb.SUB_BANK_NAME=#{subBankName}
</if>
<if test="cardNumber != null and cardNumber != ''">
and cmb.CARD_NUMBER=#{cardNumber}
</if>
<if test="email != null and email != ''">
and cm.EMAIL=#{email}
</if>
<if test="wechat != null and wechat != ''">
and cm.WECHAT=#{wechat}
</if>
<if test="startDate != null and startDate !='' ">
and cm.CREATION_TIME &gt;= to_date(#{startDate}, 'yyyy-mm-dd')
</if>
<if test="endDate != null and endDate !='' ">
and cm.CREATION_TIME &lt;= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startDatePay != null and startDatePay != ''">
and cm.PAY_TIME &gt;= to_date(#{startDatePay}, 'yyyy-mm-dd')
</if>
<if test="endDatePay != null and endDatePay != ''">
and cm.PAY_TIME &lt;= to_date(#{endDatePay} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startAttestationTime != null">
and cmg.creation_time &gt;= to_date(#{startAttestationTime}, 'yyyy-mm-dd')
</if>
<if test="endAttestationTime != null">
and cmg.creation_time &lt;= to_date(#{endAttestationTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
</select>
<select id="findMemberByMembercodesAndPkcountry" resultMap="MemberResultMap">
select m.member_code,m.pk_id, m.member_name,m.pk_settle_country
from cu_member m
where m.del_flag = 0
and m.category = 0
and m.pay_status = 1
<if test="pkCountry != null">
and m.pk_settle_country = #{pkCountry}
</if>
and m.member_code in
<foreach collection="memberCodes" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="findMemberByMemberCodeList" resultMap="MemberResultMap">
select m.member_code,m.pk_id, m.member_name,m.pk_settle_country
from cu_member m
where m.del_flag = 0
and m.category = 0
and m.pay_status = 1
<if test="pkCountry != null">
and m.pk_settle_country = #{pkCountry}
</if>
<if test="memberCodeList != null and memberCodeList.size > 0">
and
m.member_code in
<foreach collection="memberCodeList" item="item" index="index" open="(" close=")">
<if test="index != 0">
<choose>
<when test="index % 999 == 0">) or m.member_code IN (</when>
<otherwise>,</otherwise>
</choose>
</if>
#{item}
</foreach>
</if>
</select>
<!-- 根据会员ID列表查询会员 -->
<select id="findMemberByMemberId" resultMap="MemberResultMap">
select cm.pk_id,
cm.member_code,
cm.MEMBER_NAME,
cm.phone,
cm.pk_settle_country
from cu_member cm
where cm.del_flag = 0
<if test="pkCountry != null">
and cm.pk_settle_country = #{pkCountry}
</if>
and cm.pk_id in
<foreach collection="pkMemberList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--特殊配置-修改会员编号列表-->
<select id="puCodeList" parameterType="com.hzs.member.base.vo.UpdateCodeVO"
resultType="com.hzs.member.base.vo.UpdateCodeVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PHONE as phone,
cm.PK_SETTLE_GRADE pkSettleGrade,
cm.PK_AWARDS pkAwards,
cmp.PK_ID as serviceLogId,
cmp.NEW_VALUE as newValue,
cmp.OLD_VALUE as oldValue,
cmp.changeNumber as changeNumber,
cmp.CREATION_TIME as creationTime,
cmp.APPROVE_STATUS as approveStatus,
cmp.BUSINESS_NO as businessNo,
cmp.SINGLE_AMOUNT as cost
from cu_member cm
INNER JOIN (
select b.PK_ID,b.pk_member,
b.OLD_VALUE,
b.NEW_VALUE,
b.creation_time,
b.APPROVE_STATUS,
b.BUSINESS_NO,
b.SINGLE_AMOUNT,
b.APPROVE_NUMBER changeNumber
from CU_MEMBER_SERVICE_LOG b where b.EDIT_TYPE=109
) cmp on cm.pk_ID=cmp.pk_member
where cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and(cm.member_code like #{memberCode} || '%'
or cmp.OLD_VALUE like #{memberCode} || '%'
or cmp.NEW_VALUE like #{memberCode} || '%')
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="businessNo != null and businessNo != ''">
and cmp.BUSINESS_NO=#{businessNo}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
<if test="approveStatus == null">
and cmp.APPROVE_STATUS=5
</if>
<if test="phone != null and phone != ''">
and cm.phone like #{phone} || '%'
</if>
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="pkSettleGrade != null">
and cm.PK_SETTLE_GRADE=#{pkSettleGrade}
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<!-- 查询会员有效期休止期-->
<select id="getMemberExpireStopList" parameterType="com.hzs.member.base.vo.UpdateExpireStopVO"
resultType="com.hzs.member.base.vo.UpdateExpireStopVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.phone,
cmp.PK_ID as serviceLogId,
cmp.NEW_VALUE as newValue,
cmp.OLD_VALUE as oldValue,
cmp.changeNumber as changeNumber,
cmp.CREATION_TIME as creationTime,
cmp.APPROVE_STATUS as approveStatus,
cmp.BUSINESS_NO as businessNo,
cmp.MODIFIED_TIME modifiedTime
from cu_member cm
INNER JOIN (
select b.PK_ID,b.pk_member,
b.OLD_VALUE,
b.NEW_VALUE,
b.creation_time,
b.MODIFIED_TIME,
b.APPROVE_STATUS,
b.BUSINESS_NO,
b.SINGLE_AMOUNT,
b.APPROVE_NUMBER changeNumber
from CU_MEMBER_SERVICE_LOG b where b.EDIT_TYPE=136
) cmp on cm.pk_ID=cmp.pk_member
where cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode} || '%'
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="businessNo != null and businessNo != ''">
and cmp.BUSINESS_NO=#{businessNo}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry}
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<!-- 零元撤单列表-->
<select id="zeroList" parameterType="com.hzs.member.base.vo.ZeroElementRevokeVO"
resultType="com.hzs.member.base.vo.ZeroElementRevokeVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PHONE as phone,
gr.PK_TRANSACTION pkSettleGrade,
awa.PK_TRANSACTION pkAwards,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName,
par.member_code parMemberCode,
par.member_name parMemberName,
place.member_code placeMemberCode,
place.member_name placeMemberName,
cm.CREATION_TIME creationTime
from cu_member cm
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
left join bd_vertex ver on ver.pk_id=cm.PK_VERTEX
left join bd_awards awa on awa.pk_id = cm.PK_AWARDS
left join bd_grade gr on gr.pk_id = cm.PK_REGISTER_GRADE
INNER join bd_grade grr on grr.pk_id=cm.PK_SETTLE_GRADE
INNER JOIN cu_member par ON par.pk_id = cm.pk_parent
INNER JOIN cu_member place ON place.pk_id = cm.pk_place_parent
where cm.del_flag = 0
and cm.CATEGORY=0
and awa.del_flag = 0
and ver.del_flag = 0
and cm.CONSUME_MONEY=0
and cm.CONSUME_ACHIEVE=0
and grr.GRADE_VALUE=20
<if test="memberCode != null and memberCode != ''">
and(cm.member_code like #{memberCode} || '%')
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="vertexId != null">
and cm.PK_VERTEX=#{vertexId}
</if>
<if test="teamId != null">
and cm.pk_team_code=#{teamId}
</if>
<if test="phone != null and phone != ''">
and cm.phone like #{phone} || '%'
</if>
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="placeMemberCode != null and placeMemberCode != ''">
and place.member_code like #{placeMemberCode} || '%'
</if>
<if test="placeMemberName != null and placeMemberName != ''">
and place.member_name like #{placeMemberName} || '%'
</if>
<if test="parMemberCode != null and parMemberCode != ''">
and par.member_code like #{parMemberCode} || '%'
</if>
<if test="parMemberName != null and parMemberName != ''">
and par.member_name like #{parMemberName} || '%'
</if>
<if test="pkRegisterGrade != null">
and cm.PK_REGISTER_GRADE=#{pkRegisterGrade}
</if>
ORDER BY cm.CREATION_TIME DESC
</select>
<!-- 查询全部修改过会员编号的会员记录-->
<select id="puCodeAllList" parameterType="com.hzs.member.base.vo.UpdateCodeVO"
resultType="com.hzs.member.base.vo.UpdateCodeVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PHONE as phone,
cm.PK_SETTLE_GRADE pkSettleGrade,
cm.PK_AWARDS pkAwards,
cmp.PK_ID as serviceLogId,
cmp.NEW_VALUE as newValue,
cmp.OLD_VALUE as oldValue,
cmp.changeNumber as changeNumber,
cmp.CREATION_TIME as creationTime,
cmp.APPROVE_STATUS as approveStatus,
cmp.BUSINESS_NO as businessNo,
cmp.SINGLE_AMOUNT as cost
from cu_member cm
INNER JOIN (
select b.PK_ID,b.pk_member,
b.OLD_VALUE,
b.NEW_VALUE,
b.creation_time,
b.APPROVE_STATUS,
b.BUSINESS_NO,
b.SINGLE_AMOUNT,
b.APPROVE_NUMBER changeNumber
from CU_MEMBER_SERVICE_LOG b where b.EDIT_TYPE=109
) cmp on cm.pk_ID=cmp.pk_member
where cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and(cm.member_code like #{memberCode} || '%'
or cmp.OLD_VALUE like #{memberCode} || '%'
or cmp.NEW_VALUE like #{memberCode} || '%')
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="businessNo != null and businessNo != ''">
and cmp.BUSINESS_NO=#{businessNo}
</if>
<if test="phone != null and phone != ''">
and cm.phone like #{phone} || '%'
</if>
<if test="pkCountry != null">
and cm.PK_COUNTRY=#{pkCountry}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
<if test="pkSettleGrade != null">
and cm.PK_SETTLE_GRADE=#{pkSettleGrade}
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<!--查询会员变更前信息-->
<select id="specialBusinessQuery" parameterType="com.hzs.member.base.vo.UpdateCodeVO"
resultType="com.hzs.member.base.vo.UpdateCodeVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PK_SETTLE_COUNTRY as pkSettleCountry,
bc.SHORT_NAME as shortName,
cm.PHONE as phone,
cm.PK_SETTLE_GRADE pkSettleGrade,
cm.PK_AWARDS pkAwards,
cm.PLACE_DEPT as placeDept,
par.member_code parMemberCode,
par.member_name parMemberName,
place.member_code placeMemberCode,
place.member_name placeMemberName
from cu_member cm
INNER JOIN cu_member par
ON par.pk_id = cm.pk_parent
left JOIN cu_member place
ON place.pk_id = cm.pk_place_parent
left JOIN BD_COUNTRY bc on bc.pk_id=cm.PK_SETTLE_COUNTRY
where cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and cm.member_code=#{memberCode}
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name=#{memberName}
</if>
<if test="pkCountry != null">
and cm.PK_COUNTRY=#{pkCountry}
</if>
</select>
<!-- 查询会员个人资料 -->
<select id="queryMemberData" resultType="com.hzs.member.base.vo.MemberDataVO">
select cm.*,
bgr.pk_transaction register_grade,
bgs.pk_transaction settle_grade,
ba.pk_transaction awards,
bam.pk_transaction max_awards,
bc.short_name country_name,
bc.pk_transaction pk_country_transaction,
bcs.short_name settle_country_name,
bcs.pk_transaction pk_settle_country_transaction,
cmau.id_card id_card_auth
from cu_member cm
left join BD_GRADE bgr
on bgr.pk_id = cm.pk_register_grade
and bgr.del_flag = 0
left join BD_GRADE bgs
on bgs.pk_id = cm.pk_settle_grade
and bgs.del_flag = 0
left join BD_AWARDS ba
on ba.pk_id = cm.pk_awards
and ba.del_flag = 0
left join BD_AWARDS bam
on bam.pk_id = cm.pk_max_awards
and bam.del_flag = 0
left join BD_COUNTRY bc
on bc.pk_id = cm.pk_country
left join BD_COUNTRY bcs
on bcs.pk_id = cm.pk_settle_country
left join CU_MEMBER_AUTHENTICATION cmau
on cmau.pk_member = cm.pk_id
and cmau.del_flag = 0
where cm.del_flag = 0
and cm.pk_id = #{memberId}
</select>
<update id="batchUpdateMemberNameAndMobileByPkmember">
MERGE INTO cu_member m
USING
(
<foreach collection="businessMemberList" item="item" index="index" separator="union">
select #{item.pkMember} pk_member,
<if test='businessType == "100"'>
#{item.newValue} member_name
</if>
<if test='businessType == "101"'>
#{item.newValue} phone
</if>
FROM DUAL
</foreach>
) t
ON ( t.pk_member=m.pk_id and m.pk_id in
<foreach collection="businessMemberList" item="item" open="(" close=")" separator=",">
#{item.pkMember}
</foreach>)
WHEN MATCHED THEN
UPDATE SET
<if test='businessType == "100"'>
m.member_name = t.member_name,
</if>
<if test='businessType == "101"'>
m.member_name = DECODE(m.system_type,1,t.phone,m.member_name),
m.phone = t.phone,
</if>
m.MODIFIED_TIME = sysdate,
m.pk_modified = #{updatePkMember}
</update>
<!-- 根据业务类型批量理新 -->
<update id="batchUpdateMemberByBusinessType" parameterType="com.hzs.member.handlebusiness.vo.HandleBusinessVO">
update cu_member
<set>
<foreach collection="handleBusinessList" item="item" index="index" separator=",">
<if test='item.businessType == "102"'>
<foreach collection="item.businessValueList" index="index" item="value">
is_real_name = #{value}
</foreach>
</if>
<if test='item.businessType == "103"'>
<foreach collection="item.businessValueList" index="index" item="value">
<if test='value == "3"'>
login_pwd = #{loginPwd},login_password = #{loginPassword},
pay_pwd = #{payPwd},pay_password = #{payPassword}
</if>
<if test='value == "1"'>
login_pwd = #{loginPwd},login_password = #{loginPassword}
</if>
<if test='value == "2"'>
pay_pwd = #{payPwd},pay_password = #{payPassword}
</if>
</foreach>
</if>
<if test='item.businessType == "106"'>
<foreach collection="item.businessValueList" index="index" item="value">
pk_register_grade = #{value}
</foreach>
</if>
<if test='item.businessType == "113"'>
<foreach collection="item.businessValueList" index="index" item="value">
pk_settle_grade = #{value}
</foreach>
</if>
<if test='item.businessType == "107"'>
<foreach collection="item.businessValueList" index="index" item="value">
pk_awards = #{value}
</foreach>
</if>
<if test='item.businessType == "115"'>
<foreach collection="item.businessValueList" index="index" item="value">
pk_country = #{value}
</foreach>
</if>
<if test='item.businessType == "116"'>
<foreach collection="item.businessValueList" index="index" item="value">
account_status = #{value}
</foreach>
</if>
<if test='item.businessType == "117"'>
<foreach collection="item.businessValueList" index="index" item="value">
income_status = #{value}
</foreach>
</if>
<if test='item.businessType == "119 "'>
<foreach collection="item.businessValueList" index="index" item="value" separator=",">
<if test='value == "1"'>
purchase_status = 0
</if>
<if test='value == "2"'>
share_status = 0
</if>
<if test='value == "3"'>
purchase_status = 1
</if>
<if test='value == "4"'>
share_status = 1
</if>
</foreach>
</if>
<if test='item.businessType == "120"'>
<foreach collection="item.businessValueList" index="index" item="value">
register_authority = #{value}
</foreach>
</if>
<if test='item.businessType == "122"'>
<foreach collection="item.businessValueList" index="index" item="value">
is_maker_space = #{value}
</foreach>
</if>
<if test='item.businessType == "142"'>
<foreach collection="item.businessValueList" index="index" item="value">
super_studio = #{value}
</foreach>
</if>
<if test='item.businessType == "143"'>
<foreach collection="item.businessValueList" index="index" item="value">
is_dealer = #{value}
</foreach>
</if>
<if test='item.businessType == "148"'>
<foreach collection="item.businessValueList" index="index" item="value">
LECTURER_LEVEL = #{value}
</foreach>
</if>
<if test='item.businessType == "149"'>
<foreach collection="item.businessValueList" index="index" item="value">
SYSTEM_LEVEL = #{value}
</foreach>
</if>
<if test='item.businessType == "166"'>
<foreach collection="item.businessValueList" index="index" item="value">
pk_max_awards = #{value}
</foreach>
</if>
</foreach>
,MODIFIED_TIME = sysdate,
PK_MODIFIED = #{updatePkMember}
</set>
where pk_id in
<foreach collection="businessMemberList" item="item" open="(" close=")" separator=",">
#{item.pkMember}
</foreach>
</update>
<select id="selectBiddingList" resultType="com.hzs.member.marketnews.vo.UserInvestmentVo">
select
cm.MEMBER_CODE memberCode,cm.MEMBER_NAME memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,cm.CREATION_TIME
creationTime,
cm.PK_PARENT pkParent,cm.PK_PLACE_PARENT pkPlaceParent,
(select nvl(sum(so.ORDER_AMOUNT),0) from SA_ORDER so where so.PK_MEMBER = cm.PK_ID
and so.ORDER_TYPE = 1
and so.ORDER_STATUS = 1
and so.DEL_FLAG = 0
) regMoney,
(select nvl(sum(so.ORDER_ACHIEVE),0) from SA_ORDER so where so.PK_MEMBER = cm.PK_ID
and so.ORDER_TYPE = 1
and so.ORDER_STATUS = 1
and so.DEL_FLAG = 0
) regPv,
(mbp.ROUND+1) round,
mbp.SECOND second,
so.ORDER_TYPE orderType,cm.PAY_TIME payTime,cm.PLACE_DEPT placeDept
from CU_MEMBER_BONUS_PUSH mbp
left join cu_member_bonus mb on mbp.PK_BONUS = mb.PK_ID
left join cu_member cm on cm.PK_ID = mb.PK_MEMBER
left join SA_ORDER so on so.PK_ID = mbp.PK_ORDER
where cm.DEL_FLAG = 0
and cm.PAY_STATUS = 1
<if test="memberInfo != null and memberInfo != ''">
and (cm.member_code=#{memberInfo} or cm.member_name=#{memberInfo})
</if>
<if test="memberCode != null and memberCode != ''">
and cm.member_code=#{memberCode}
</if>
<if test="pkCountry != null">
and cm.PK_COUNTRY=#{pkCountry}
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name=#{memberName}
</if>
<if test="startCreationTime != null">
and cm.creation_time >= #{startCreationTime}
</if>
<if test="endCreationTime != null">
and cm.creation_time &lt; #{endCreationTime}
</if>
order by mbp.ROUND asc ,mbp.SECOND asc
</select>
<!--特殊配置-修改结算国列表-->
<select id="upseCountryList" parameterType="com.hzs.member.base.vo.UpdateSettleCountryVO"
resultType="com.hzs.member.base.vo.UpdateSettleCountryVO">
select cm.pk_ID as pkId,
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cmp.PK_ID as serviceLogId,
cmp.APPROVE_NUMBER as changeNumber,
cmp.creation_time as creationTime,
cm.PK_SETTLE_COUNTRY as pkSettleCountry,
bc.SHORT_NAME as oldValue,
bcc.SHORT_NAME as newValue,
cmp.NEW_VALUE as newSettleCountry,
cmp.SINGLE_AMOUNT as cost
from cu_member cm
INNER JOIN (
select a.PK_ID,a.pk_member, a.NEW_VALUE, a.APPROVE_NUMBER,
a.creation_time,a.APPROVE_STATUS,a.BUSINESS_NO,
a.SINGLE_AMOUNT
from CU_MEMBER_SERVICE_LOG a
where a.EDIT_TYPE=124
<if test="businessNo != null and businessNo != ''">
and a.BUSINESS_NO=#{businessNo}
</if>
) cmp on cm.pk_ID=cmp.pk_member
LEFT JOIN BD_COUNTRY bc on bc.PK_ID=cm.PK_SETTLE_COUNTRY
LEFT JOIN BD_COUNTRY bcc on bcc.PK_ID=cmp.NEW_VALUE
where cm.del_flag = 0
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode} || '%'
</if>
<if test="pkCountry != null">
and cm.PK_COUNTRY=#{pkCountry}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<!--特殊配置 修改结算国列表-->
<select id="upsettleCountryList" parameterType="com.hzs.member.base.vo.UpdateSettleCountryVO"
resultType="com.hzs.member.base.vo.UpdateSettleCountryVO">
select
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PHONE phone,
cmp.PK_ID pkId,
cmp.PK_MEMBER pkMember,
cmp.APPROVE_NUMBER changeNumber,
cmp.CREATION_TIME creationTime,
cmp.APPROVE_STATUS approveStatus,
bc.SHORT_NAME as oldValue,
bcc.SHORT_NAME as newValue,
aw.PK_TRANSACTION pkAwards ,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName
from CU_MEMBER_SERVICE_LOG cmp
LEFT JOIN CU_SETTLE_COUNTRY_DETAILED b on cmp.PK_ID=b.PK_SERVICE_LOG
INNER JOIN cu_member cm on cm.pk_ID=cmp.pk_member
LEFT JOIN BD_COUNTRY bc on bc.PK_ID=cmp.OLD_VALUE
LEFT JOIN BD_COUNTRY bcc on bcc.PK_ID=cmp.NEW_VALUE
LEFT JOIN BD_AWARDS aw on aw.PK_ID=cm.PK_AWARDS
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
left join bd_vertex ver on ver.pk_id=ct.PK_BD_VERTEX
where cmp.EDIT_TYPE = 124 and cm.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode} || '%'
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="businessNo != null and businessNo != ''">
and cm.BUSINESS_NO=#{businessNo}
</if>
<if test="pkCountry != null and approveStatus==5">
and b.PK_COUNTRY=#{pkCountry}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<!--修改政策币列表-->
<select id="upPolicyCurrencyList" parameterType="com.hzs.member.base.vo.UpPolicyCurrencyVO"
resultType="com.hzs.member.base.vo.UpPolicyCurrencyVO">
select
cm.MEMBER_CODE as memberCode,
cm.member_name as memberName,
cm.PHONE phone,
cmp.PK_ID pkId,
cmp.PK_MEMBER pkMember,
cmp.APPROVE_NUMBER changeNumber,
cmp.CREATION_TIME creationTime,
cmp.OLD_VALUE oldValue,
cmp.NEW_VALUE newValue,
cmp.BUSINESS_SCOPE businessScope,
aw.PK_TRANSACTION pkAwards ,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName
from CU_MEMBER_SERVICE_LOG cmp
LEFT JOIN cu_member cm on cm.pk_ID=cmp.pk_member
LEFT JOIN BD_AWARDS aw on aw.PK_ID=cm.PK_AWARDS
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
left join bd_vertex ver on ver.pk_id=cm.pk_vertex
where cmp.EDIT_TYPE = 125 and cm.del_flag = 0
and cmp.del_flag = 0
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode} || '%'
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName} || '%'
</if>
<if test="businessNo != null and businessNo != ''">
and cm.BUSINESS_NO=#{businessNo}
</if>
<if test="pkBdVertex != null">
and cm.PK_VERTEX=#{pkBdVertex}
</if>
<if test="pkAwards != null">
and cm.PK_AWARDS=#{pkAwards}
</if>
<if test="pkTeamCode != null">
and cm.pk_team_code=#{pkTeamCode}
</if>
<if test="pkCountry != null">
and cmp.PK_COUNTRY=#{pkCountry}
</if>
<if test="approveStatus != null">
and cmp.APPROVE_STATUS=#{approveStatus}
</if>
<if test="startDate != null and endDate != null">
and cmp.creation_time between #{startDate, jdbcType=TIMESTAMP} and #{endDate, jdbcType=TIMESTAMP}
</if>
<if test="pkIdList != null and pkIdList.size > 0">
and cmp.pk_id in
<foreach collection="pkIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
ORDER BY cmp.CREATION_TIME DESC
</select>
<select id="checkCecharge" parameterType="java.lang.Long"
resultType="java.lang.Integer">
select count(1)
from cu_member_recharge
where APPROVE_STATE in (0, 1)
and PK_MEMBER = #{pkMember}
and DEL_FLAG = 0
</select>
<select id="checkWithdraw" parameterType="java.lang.Long"
resultType="java.lang.Integer">
select count(1)
from cu_member_withdraw
where PK_MEMBER = #{pkMember}
and APPROVE_STATE not in (4, 5, 6)
and STATUS = 0
and DEL_FLAG = 0
</select>
<select id="checkAccount" parameterType="java.lang.Long"
resultType="java.lang.Integer">
select count(1)
from cu_member_account
where (ACCOUNT1 > 0 or
ACCOUNT2 > 0 or
ACCOUNT3 > 0 or
ACCOUNT4 > 0 or
ACCOUNT5 > 0 or
ACCOUNT7 > 0 or
ACCOUNT8 > 0 or
ACCOUNT9 > 0 or
ACCOUNT10 > 0)
and PK_MEMBER = #{pkMember}
</select>
<!--查询会员是否存在未完成基础业务办理-->
<select id="checkmsLogCount"
resultType="java.lang.Integer">
select count(1)
from CU_MEMBER_SERVICE_LOG
where (APPROVE_STATUS = 1 or
APPROVE_STATUS = 2 or
APPROVE_STATUS = 3)
<if test="pkMember!= null ">
and PK_MEMBER = #{pkMember}
</if>
<if test="editType!= null ">
and EDIT_TYPE = #{editType}
</if>
</select>
<!--查询会员是否存在未完成注水业绩业务-->
<select id="checkMemberAchieveCount" parameterType="java.lang.Long"
resultType="java.lang.Integer">
select count(1)
from CU_MEMBER_ACHIEVE_LOG
where (APPROVE_STATUS = 1 or APPROVE_STATUS = 2 or APPROVE_STATUS = 3)
and PK_MEMBER = #{pkMember}
</select>
<!-- 查询选择会员列表 -->
<select id="queryMemberSelect" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.pk_id,
cm.member_code,
cm.member_name,
cm.phone,
cm.pk_register_grade,
bdr.pk_transaction register_grade_key,
cm.pk_settle_grade,
bds.pk_transaction settle_grade_key,
cm.pk_awards,
ba.pk_transaction awards_key
from cu_member cm
inner join bd_grade bdr
on bdr.pk_id = cm.pk_register_grade
inner join bd_grade bds
on bds.pk_id = cm.pk_settle_grade
inner join bd_awards ba
on ba.pk_id = cm.pk_awards
where cm.del_flag = 0
and cm.pk_settle_country = #{pkCountry}
<if test="param.memberCode != null and param.memberCode != ''">
and cm.member_code like #{param.memberCode} || '%'
</if>
<if test="param.memberName != null and param.memberName != ''">
and cm.member_name like #{param.memberName} || '%'
</if>
<if test="param.phone != null and param.phone != ''">
and cm.phone = #{param.phone}
</if>
<if test="param.pkRegisterGrade != null and param.pkRegisterGrade.size > 0">
and cm.pk_register_grade in
<foreach collection="param.pkRegisterGrade" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.pkSettleGrade != null and param.pkSettleGrade.size > 0">
and cm.pk_settle_grade in
<foreach collection="param.pkSettleGrade" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.pkAwards != null and param.pkAwards.size > 0">
and cm.pk_awards in
<foreach collection="param.pkAwards" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.memberCodeList != null and param.memberCodeList.size > 0">
and cm.member_code in
<foreach collection="param.memberCodeList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
order by cm.creation_time desc
</select>
<select id="queryCuMemberLastPlaceParent" resultMap="MemberResultMap">
select cu.place_dept,
cu.pk_id,
cu.member_code,
cu.member_name,
cu.phone,
cu.category,
cu.pk_settle_grade,
bg.grade_value,
nick_name,
service_code,
pk_vertex
from (
select *
from (select 1 place_dept,
t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.category,
t.pk_settle_grade,
level lev,
t.nick_name,
t.service_code,
t.pk_vertex
from (select *
from cu_member start with pk_id=#{pkMember}
connect by prior pk_id = pk_place_parent) t
where t.place_dept = 1
and t.del_flag = 0
start
with t.pk_id = (select u.pk_id
from cu_member u
where u.del_flag=0 and u.pk_place_parent=#{pkMember}
and place_dept = 1)
connect by prior
t.pk_id = (select u.pk_place_parent
from cu_member u
where u.del_flag=0
and u.pk_id = t.pk_id
and u.place_dept = 1)
order by lev desc) n
where rownum = 1
union
select *
from (
select 2 place_dept,
t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.category,
t.pk_settle_grade,
level lev,
t.nick_name,
t.service_code,
t.pk_vertex
from (select *
from cu_member start with pk_id=#{pkMember}
connect by prior pk_id = pk_place_parent) t
where t.place_dept = 1
and t.del_flag = 0
start
with t.pk_id = (select u.pk_id
from cu_member u
where u.del_flag=0 and u.pk_place_parent=#{pkMember}
and place_dept = 2)
connect by prior
t.pk_id = (select u.pk_place_parent
from cu_member u
where u.del_flag=0
and u.pk_id = t.pk_id
and u.place_dept = 1)
union
select t.place_dept, t.pk_id, t.member_code, t.member_name, t.phone, t.category, t.pk_settle_grade, 0 lev, t.nick_name, t.service_code, t.pk_vertex
from cu_member t
where t.place_dept = 2 and t.del_flag = 0 and t.pk_place_parent=#{pkMember}
union
select 2, t.pk_id, t.member_code, t.member_name, t.phone, t.category, t.pk_settle_grade, -1 lev, t.nick_name, t.service_code, t.pk_vertex
from cu_member t
where t.del_flag = 0 and t.pk_id=#{pkMember}
order by lev desc) n
where rownum = 1) cu
left join bd_grade bg
on cu.pk_settle_grade = bg.pk_id
</select>
<select id="selectByMemberRealInfo" resultType="com.hzs.member.base.vo.MemberRealInfoVO">
select
cm.MEMBER_CODE as memberCode,
cm.MEMBER_NAME memberName,
cm.PHONE phone,
bg.PK_TRANSACTION as pkRegisterGrade,
bgg.PK_TRANSACTION as pkSettleGrade,
ba.PK_TRANSACTION as pkAwards,
bamax.PK_TRANSACTION as pkMaxAwards,
ma.SEX as sex,
cm.birth_date birthDate,
ma.ID_TYPE idType,
ma.ID_CARD idCard,
ma.ID_FRONT idFront,
ma.ID_BACK idBack,
ma.PK_PROVINCE pkProvince,
ma.PK_CITY pkCity,
ma.PK_COUNTY pkCounty,
ma.ADDRESS address,
bb.BANK_NAME bankName,
ma.SUB_BANK_NAME subBankName,
ma.ACCOUNT_NAME accountName,
ma.PHONE reservedPhone,
ma.CARD_NUMBER cardNumber,
cm.EMAIL email,
ma.CREATION_TIME certificationTime,
cm.CREATION_TIME creationTime,
cm.PAY_TIME payTime,
cm.DIRECT_PUSH_NUMBER directPushNumber
from CU_MEMBER cm
left join CU_MEMBER_AUTHENTICATION ma on ma.PK_MEMBER = cm.PK_ID and ma.del_flag = 0
left join BD_BANK bb on bb.PK_ID = ma.pk_bank
left join BD_GRADE bg on bg.pk_id=cm.PK_REGISTER_GRADE
left join BD_GRADE bgg on bgg.pk_id=cm.PK_SETTLE_GRADE
left join BD_AWARDS ba on ba.pk_id=cm.PK_AWARDS
left join BD_AWARDS baMax on baMax.pk_id=cm.PK_MAX_AWARDS
left join bd_vertex ver on cm.pk_vertex = ver.pk_id
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
where cm.del_flag = 0 and PK_SETTLE_COUNTRY=#{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.MEMBER_CODE like #{memberCode} ||'%'
</if>
<if test="memberName != null and memberName != ''">
and cm.MEMBER_NAME like #{memberName} ||'%'
</if>
<if test="birthDate != null and birthDate != ''">
and ma.ID_CARD like '%' || #{birthDate} ||'%'
</if>
<if test="phone != null and phone != ''">
and cm.PHONE = #{phone}
</if>
<if test="pkRegisterGrade != null">
and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
</if>
<if test="pkAwards != null">
and cm.PK_AWARDS = #{pkAwards}
</if>
<if test="pkSettleGrade != null">
and cm.PK_SETTLE_GRADE = #{pkSettleGrade}
</if>
<if test="idType != null">
and ma.ID_TYPE = #{idType}
</if>
<if test="idCard != null and idCard != ''">
and ma.ID_CARD = #{idCard}
</if>
<if test="pkProvince != null">
and ma.PK_PROVINCE = #{pkProvince}
</if>
<if test="pkCity != null">
and ma.PK_CITY = #{pkCity}
</if>
<if test="pkCounty != null">
and ma.PK_COUNTY = #{pkCounty}
</if>
<if test="address != null and address != ''">
and ma.ADDRESS like #{address} ||'%'
</if>
<if test="sex != null">
and ma.SEX = #{sex}
</if>
<if test="bankName != null and bankName != ''">
and bb.BANK_NAME like #{bankName}||'%'
</if>
<if test="subBankName != null and subBankName != ''">
and ma.SUB_BANK_NAME like #{subBankName}||'%'
</if>
<if test="cardNumber != null and cardNumber != ''">
and ma.CARD_NUMBER like #{cardNumber}||'%'
</if>
<if test="email != null and email != ''">
and cm.EMAIL like #{email}||'%'
</if>
<if test="startCertificationTime != null">
and ma.CREATION_TIME &gt;= to_date(#{startCertificationTime}, 'yyyy-mm-dd')
</if>
<if test="endCertificationTime != null">
and ma.CREATION_TIME &lt;= to_date(#{endCertificationTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startCreationTime != null">
and cm.CREATION_TIME &gt;= to_date(#{startCreationTime}, 'yyyy-mm-dd')
</if>
<if test="endCreationTime != null">
and cm.CREATION_TIME &lt;= to_date(#{endCreationTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startPayTime != null">
and cm.PAY_TIME &gt;= to_date(#{startPayTime}, 'yyyy-mm-dd')
</if>
<if test="endPayTime != null">
and cm.PAY_TIME &lt;= to_date(#{endPayTime} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<!-- 体系权限处理 -->
<if test="vertexList != null and vertexList.size > 0">
and ver.pk_member in
<foreach collection="vertexList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<!--团队权限 -->
<if test="teamList != null and teamList.size > 0">
and ct.pk_member in
<foreach collection="teamList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
order by cm.CREATION_TIME desc
</select>
<select id="selectRegList" resultType="com.hzs.member.marketnews.vo.UserInvestmentVo">
select
cm.MEMBER_CODE memberCode,
cm.MEMBER_NAME memberName,
cm.PK_REGISTER_GRADE pkRegisterGrade,
cm.CREATION_TIME creationTime,
cm.PK_PARENT pkParent,
cm.PK_PLACE_PARENT pkPlaceParent,
nvl(a.regMoney, 0) regMoney,
nvl(a.regPv, 0) regPv,
cm.PAY_TIME payTime,
cm.PLACE_DEPT placeDept,
pm.MEMBER_NAME placeParentName,
pm.MEMBER_CODE placeParentCode,
pm.pk_vertex place_pk_vertex,
pm.service_code place_service_code,
pm.nick_name place_nick_name,
pp.MEMBER_NAME parentName,
pp.MEMBER_CODE parentCode,
pp.pk_vertex parent_pk_vertex,
pp.service_code parent_service_code,
pp.nick_name parent_nick_name,
cm.pk_vertex,
cm.service_code,
cm.nick_name
from cu_member cm
left join (
select nvl(sum(so.ORDER_AMOUNT),0) regMoney ,nvl(sum(so.ORDER_ACHIEVE),0) regPv,so.PK_MEMBER from SA_ORDER so
where
so.ORDER_TYPE in (1, 24)
and so.ORDER_STATUS = 1
and so.DEL_FLAG = 0
group by so.PK_MEMBER
)a on a.PK_MEMBER = cm.PK_ID
left join cu_member pm on pm.pk_id = cm.PK_PLACE_PARENT
left join cu_member pp on pp.pk_id = cm.PK_PARENT
where cm.DEL_FLAG = 0
and cm.PAY_STATUS = 1
and cm.CATEGORY = 0
<if test="memberInfo != null and memberInfo != ''">
and (cm.member_code=#{memberInfo} or cm.member_name=#{memberInfo})
</if>
<if test="memberCode != null and memberCode != ''">
and (cm.member_code=#{memberCode} or cm.SERVICE_CODE = #{memberCode})
</if>
<if test="memberName != null and memberName != ''">
and (cm.member_name=#{memberName} or cm.nick_name = #{memberName})
</if>
<if test="pkRegisterGrade != null">
and cm.PK_REGISTER_GRADE=#{pkRegisterGrade}
</if>
<if test="pkCountry != null">
and cm.PK_COUNTRY=#{pkCountry}
</if>
<if test="pkCreator != null">
and cm.PK_CREATOR=#{pkCreator}
</if>
<if test="startCreationTime != null">
and cm.creation_time >= #{startCreationTime}
</if>
<if test="endCreationTime != null">
and cm.creation_time &lt; #{endCreationTime}
</if>
order by cm.CREATION_TIME desc
</select>
<select id="findNoPayMember" resultType="string">
select m.member_code
from cu_member m
where m.del_flag = 0
and m.category = 0
and m.pay_status = 0
and m.pk_settle_country = #{pkCountry}
and m.member_code in
<foreach collection="memberCodes" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="queryMemberByCondition" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.pk_id,cm.member_code,cm.member_name,cm.phone,cm.pk_settle_country,cm.pk_parent,
cm.pk_place_parent,cm.place_dept,cm.pk_team_code,cm.pk_center_code,cm.category,cm.pk_settle_grade,
cm.pk_awards,cm.purchase_status,cm.order_source,cm.is_real_name,cm.is_bus_license,cm.is_maker_space,
cm.share_status,cm.pay_pwd,cm.register_authority,cm.nick_name,bg.grade_value,
cm.pk_vertex,
cm.service_code
from cu_member cm
left join bd_grade bg
on cm.pk_settle_grade = bg.pk_id
where cm.del_flag=0
<if test="pkSettleCountry != null">
and cm.pk_settle_country=#{pkSettleCountry}
</if>
<if test="pkId != null ">
and cm.pk_id = #{pkId}
</if>
<if test="memberCode != null and memberCode != ''">
and cm.member_code = #{memberCode}
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name = #{memberName}
</if>
<if test="phone != null and phone != ''">
and cm.phone = #{phone}
</if>
<if test="pkParent != null and pkParent != ''">
and cm.pk_parent = #{pkParent}
</if>
<if test="pkPlaceParent != null and pkPlaceParent != ''">
and cm.pk_place_parent = #{pkPlaceParent}
</if>
<if test="placeDept != null and placeDept != ''">
and cm.place_dept = #{placeDept}
</if>
</select>
<select id="parentList" resultType="com.hzs.member.base.vo.ParentMemberVo">
select a.* from ( select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code
memberCode,cm.member_name memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
cm.PK_SETTLE_GRADE pkSettleGrade,
cm.CREATION_TIME creationTime,
cm.pk_vertex,
cm.nick_name,
cm.service_code
from CU_MEMBER cm
where 1 = 1 and cm.DEL_FLAG = 0 and cm.pay_status=1 and cm.PK_SETTLE_GRADE != 1
<if test="memberInfo != null and memberInfo != ''">
and (cm.member_code=#{memberInfo} or cm.member_name=#{memberInfo})
</if>
<if test="pkParent != null">
and cm.PK_PARENT = #{pkParent}
</if>
<if test="memberCode != null and memberCode != ''">
and (cm.member_code = #{memberCode} or cm.SERVICE_CODE = #{memberCode})
</if>
<if test="memberName != null and memberName != ''">
and (cm.member_name = #{memberName} or cm.NICK_NAME = #{memberName})
</if>
<if test="startCreateTime != null">
and cm.CREATION_TIME >= #{startCreateTime}
</if>
<if test="endCreateTime != null">
and cm.CREATION_TIME &lt;= #{endCreateTime}
</if>
union all
select cm.CONSUME_MONEY consumeMoney,cm.CONSUME_ACHIEVE consumeAchieve,cm.member_code memberCode,cm.member_name
memberName,cm.PK_REGISTER_GRADE pkRegisterGrade,
cm.PK_SETTLE_GRADE pkSettleGrade,
cm.CREATION_TIME creationTime,
cm.pk_vertex,
cm.nick_name,
cm.service_code
from CU_MEMBER cm
where 1 = 1 and cm.DEL_FLAG = 0 and cm.pay_status=1 and cm.PK_SETTLE_GRADE = 1
and (
(select count(so.PK_ID) from sa_order so where so.PK_MEMBER = cm.pk_id and so.DEL_FLAG = 0 and so.ORDER_STATUS =
1) > 0
or
(select count(sto.PK_ID) from sa_t_order sto where sto.PK_MEMBER = cm.pk_id and sto.DEL_FLAG = 0 and
sto.ORDER_STATUS = 1) > 0
)
<if test="memberInfo != null and memberInfo != ''">
and (cm.member_code=#{memberInfo} or cm.member_name=#{memberInfo})
</if>
<if test="pkParent != null">
and cm.PK_PARENT = #{pkParent}
</if>
<if test="memberCode != null and memberCode != ''">
and (cm.member_code = #{memberCode} or cm.SERVICE_CODE = #{memberCode})
</if>
<if test="memberName != null and memberName != ''">
and (cm.member_name = #{memberName} or cm.NICK_NAME = #{memberName})
</if>
<if test="startCreateTime != null">
and cm.CREATION_TIME >= #{startCreateTime}
</if>
<if test="endCreateTime != null">
and cm.CREATION_TIME &lt;= #{endCreateTime}
</if>
) a order by a.creationTime desc
</select>
<!-- 校验是否血缘关系 -->
<select id="checkParent" resultType="int">
select count(1)
from cu_member cm
where cm.member_code = #{topCode} start
with cm.pk_id = #{pkMember}
connect by cm.pk_id = prior cm.pk_parent
</select>
<!-- 查询会员是否在血缘下 -->
<select id="checkMemberByParentList" resultMap="MemberResultMap">
<foreach collection="topCodeList" item="topCode" separator=" union ">
select cm.member_code
from cu_member cm
where cm.member_code = #{topCode}
start with cm.pk_id = #{userId}
connect by cm.pk_id = prior cm.pk_parent
</foreach>
</select>
<!-- 校验会员编号是否存在 -->
<select id="checkMemberCodeExist" resultType="com.hzs.member.base.dto.MemberCountDTO">
select tmp.member_code, count(tmp.member_code) member_count
from (
select cm.member_code
from cu_member cm
where cm.del_flag = 0
and (cm.member_code in ('0'
<foreach collection="codeList" item="item" close=")" index="index">
<choose>
<when test="index % 500 == 0">) or cm.member_code in (#{item}</when>
<otherwise>, #{item}</otherwise>
</choose>
</foreach>
)
<if test="checkEmpty != null and checkEmpty">
<!-- 需要校验批量空单数据 -->
union all
select cmed.member_code
from CU_MEMBER_EMPTY_DETAIL cmed
inner join CU_MEMBER_EMPTY cme
on cme.pk_id = cmed.pk_member_empty
and cme.status in (1, 2, 4)
and cme.del_flag = 0
where cmed.del_flag = 0
<if test="excludeMemberEmpty != null">
and cmed.pk_member_empty != #{excludeMemberEmpty}
</if>
and (cmed.member_code in ('0'
<foreach collection="codeList" item="item" close=")" index="index">
<choose>
<when test="index % 500 == 0">) or cmed.member_code in (#{item}</when>
<otherwise>, #{item}</otherwise>
</choose>
</foreach>
)
</if>
) tmp
group by tmp.member_code
</select>
<select id="queryCuMemberByMemberList" resultType="com.hzs.member.base.vo.CuMemberVO">
SELECT cm.PK_ID,
cm.member_code,
cm.NICK_NAME,
cm.PAY_TIME,
cm.CHANGE_NUMBER,
cm.CREATION_TIME,
cm.INCOME_STATUS,
cm.IS_REAL_NAME,
cm.ACCOUNT_STATUS,
cm.member_name,
cm.phone,
cm.customer_type,
cm.purchase_status,
cm.share_status,
cm.super_studio,
cm.LECTURER_LEVEL,
cm.SYSTEM_LEVEL,
cm.source,
cm.consume_achieve,
cm.pay_status,
cm.email,
cm.register_authority,
cm.order_source,
cm.is_bus_license,
cm.is_maker_space,
cm.edit_number,
cm.consume_money,
cm.CATEGORY as category,
cm.IS_DEALER,
cma.IS_TRANSFER as isTransfer,
cma.IS_WITHDRAW as isWithdraw,
cma.IS_CONSUME as isConsume,
cma.TRANSFER_STATUS as transferStatus,
ver.VERTEX_NAME as vertexName,
gr.PK_TRANSACTION as PK_REGISTER_GRADE,
grr.PK_TRANSACTION as PK_SETTLE_GRADE,
awa.PK_TRANSACTION as PK_AWARDS,
awMax.PK_TRANSACTION as pkMaxAwards,
ct.TEAM_NAME as teamName,
par.member_code par_member_code,
par.member_name par_member_name,
place.member_code place_member_code,
place.member_name place_member_name,
cm.place_dept,
center.member_code center_member_code,
center.member_name center_member_name,
cmat.AGENT_GRADE,
cms.STORE_LEVEL,
cm.DIRECT_PUSH_NUMBER,
cm.SERVICE_AGREEMENT,
cm.EXPIRE_DATE,
cm.STOP_DATE stopDate,
cm.IS_MAKER_GIFT isMakerGift,
cm.MAKER_GIFT_TIME makerGiftTime,
cm.EXPIRE_STATUS expireStatus,
cm.SYSTEM_TYPE systemType,
cmse.STORE_LEVEL storeType,
bha.AWARDS_NAME histroyAwardsName
FROM cu_member cm
left join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
left JOIN cu_member par
ON par.pk_id = cm.pk_parent
left JOIN cu_member place
ON place.pk_id = cm.pk_place_parent
LEFT JOIN cu_member_team ct
ON ct.pk_id = cm.pk_team_code
LEFT JOIN cu_member center
ON center.pk_id = cm.pk_center_code
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
left join bd_awards awMax
on awMax.pk_id = cm.PK_MAX_AWARDS
left join bd_grade gr
on gr.pk_id = cm.PK_REGISTER_GRADE
left join bd_grade grr
on grr.pk_id = cm.PK_SETTLE_GRADE
left join bd_vertex ver
on cm.pk_vertex = ver.pk_id
left join (select pk_member,bg.pk_transaction AGENT_GRADE from cu_member_agent ca
inner join bd_grade bg
on ca.agent_grade=bg.pk_id
where ca.del_flag = 0
and ca.agent_type = 1) cmat
on cm.pk_id =cmat.pk_member
left join (select PK_MEMBER,STORE_LEVEL from cu_maker_space
where STORE_TYPE = 1 and del_flag = 0
and APPROVE_STATUS = 5) cms
on cm.pk_id = cms.pk_member
left join CU_MAKER_SPACE cmse on cmse.PK_MEMBER=cm.pk_id and cmse.DEL_FLAG=0 and cmse.store_type = 1
and cmse.APPROVE_STATUS=5 and cmse.APPLY_STATUS=5
LEFT JOIN CU_MEMBER_HISTROY_AWARDS cmha ON cm.PK_ID = cmha.PK_MEMBER
LEFT JOIN BD_HISTROY_AWARDS bha ON bha.pk_id = cmha.PK_AWARDS and bha.DEL_FLAG=0
WHERE cm.del_flag = 0 and cm.pk_id in
<foreach collection="cuMemberVOList" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
<if test="memberParam.storeType != null ">
and cmse.STORE_LEVEL=#{memberParam.storeType}
</if>
order by cm.CREATION_TIME desc
</select>
<!--会员信息导出-->
<select id="queryCuMemberByMemberListExcel" resultType="com.hzs.member.base.vo.CuMemberVO">
SELECT cm.PK_ID,
cm.member_code,
cm.NICK_NAME,
cm.PAY_TIME,
cm.CHANGE_NUMBER,
cm.CREATION_TIME,
cm.INCOME_STATUS,
cm.IS_REAL_NAME,
cm.ACCOUNT_STATUS,
cm.member_name,
cm.phone,
cm.SYSTEM_TYPE systemType,
cm.customer_type,
cm.CATEGORY as category,
cm.purchase_status,
cm.share_status,
cm.super_studio,
cm.LECTURER_LEVEL,
cm.SYSTEM_LEVEL,
cm.source,
cm.consume_achieve,
cm.pay_status,
cm.email,
cm.register_authority,
cm.order_source,
cm.is_bus_license,
cm.is_maker_space,
cm.edit_number,
cm.consume_money,
cm.IS_DEALER,
cm.DIRECT_PUSH_NUMBER,
cma.IS_TRANSFER as isTransfer,
cma.IS_WITHDRAW as isWithdraw,
cma.IS_CONSUME as isConsume,
cma.TRANSFER_STATUS as transferStatus,
ver.VERTEX_NAME as vertexName,
ct.TEAM_NAME as teamName,
gr.PK_TRANSACTION as PK_REGISTER_GRADE,
grr.PK_TRANSACTION as PK_SETTLE_GRADE,
awa.PK_TRANSACTION as PK_AWARDS,
awMax.PK_TRANSACTION as pkMaxAwards,
par.member_code par_member_code,
par.member_name par_member_name,
place.member_code place_member_code,
place.member_name place_member_name,
cm.place_dept,
center.member_code center_member_code,
center.member_name center_member_name,
cmat.AGENT_GRADE,
cms.STORE_LEVEL,
cm.SERVICE_AGREEMENT,
cm.EXPIRE_DATE,
cm.STOP_DATE stopDate,
cm.EXPIRE_STATUS expireStatus,
cm.IS_MAKER_GIFT isMakerGift,
cm.MAKER_GIFT_TIME makerGiftTime,
cmse.STORE_LEVEL storeType,
bha.AWARDS_NAME histroyAwardsName
FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
INNER JOIN cu_member par
ON par.pk_id = cm.pk_parent
LEFT JOIN cu_member place
ON place.pk_id = cm.pk_place_parent
LEFT JOIN cu_member_team ct
ON ct.pk_id = cm.pk_team_code
LEFT JOIN CU_MAKER_SPACE cmse ON cmse.PK_MEMBER = cm.pk_id
AND cmse.DEL_FLAG = 0
AND cmse.store_type = 1
and cmse.APPROVE_STATUS=5
and cmse.APPLY_STATUS=5
LEFT JOIN cu_member center
ON center.pk_id = cm.pk_center_code
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
left join bd_awards awMax
on awMax.pk_id = cm.PK_MAX_AWARDS
left join bd_grade gr
on gr.pk_id = cm.PK_REGISTER_GRADE
left join bd_grade grr
on grr.pk_id = cm.PK_SETTLE_GRADE
left join bd_vertex ver
on cm.pk_vertex = ver.pk_id
left join (select pk_member,bg.pk_transaction AGENT_GRADE from cu_member_agent ca
inner join bd_grade bg
on ca.agent_grade=bg.pk_id
where ca.del_flag = 0
and ca.agent_type = 1) cmat
on cm.pk_id =cmat.pk_member
LEFT JOIN CU_MEMBER_HISTROY_AWARDS cmha ON cm.PK_ID = cmha.PK_MEMBER
LEFT JOIN BD_HISTROY_AWARDS bha ON bha.pk_id = cmha.PK_AWARDS and bha.DEL_FLAG=0
left join (select PK_MEMBER,STORE_LEVEL from cu_maker_space
where STORE_TYPE = 1 and del_flag = 0
and APPROVE_STATUS = 5) cms
on cm.pk_id = cms.pk_member
WHERE cm.del_flag = 0 and cm.pk_id in
(
SELECT cm.PK_ID
FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
INNER JOIN cu_member par
ON par.pk_id = cm.pk_parent
LEFT JOIN cu_member place
ON place.pk_id = cm.pk_place_parent
LEFT JOIN cu_member_team ct
ON ct.pk_id = cm.pk_team_code
LEFT JOIN cu_member center
ON center.pk_id = cm.pk_center_code
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
left join bd_grade gr
on gr.pk_id = cm.PK_REGISTER_GRADE
left join bd_grade grr
on grr.pk_id = cm.PK_SETTLE_GRADE
left join bd_vertex ver
on cm.pk_vertex = ver.pk_id
left join (select pk_member,bg.pk_transaction AGENT_GRADE from cu_member_agent ca
inner join bd_grade bg
on ca.agent_grade=bg.pk_id
where ca.del_flag = 0
and ca.agent_type = 1) cmat
on cm.pk_id =cmat.pk_member
WHERE cm.del_flag = 0
and cm.pk_settle_country=#{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode}||'%'
</if>
<if test="memberCodeList != null and memberCodeList.size > 0">
and
(cm.member_code in
<foreach collection="memberCodeList" item="item" index="index" open="(" close=")">
<if test="index != 0">
<choose>
<when test="index % 500 == 0">) or cm.member_code IN (</when>
<otherwise>,</otherwise>
</choose>
</if>
#{item}
</foreach>
)
</if>
<if test="storeType != null ">
and cmse.STORE_LEVEL=#{storeType}
</if>
<if test="expireStatus != null ">
and cm.EXPIRE_STATUS=#{expireStatus}
</if>
<if test="lecturerLevel != null">
and cm.LECTURER_LEVEL=#{lecturerLevel}
</if>
<if test="isMakerGift != null">
and cm.IS_MAKER_GIFT=#{isMakerGift}
</if>
<if test="changeNumber != null">
and cm.CHANGE_NUMBER=#{changeNumber}
</if>
<if test="superStudio != null">
and cm.super_studio=#{superStudio}
</if>
<if test="agentGrade != null">
and cmat.agent_grade=#{agentGrade}
</if>
<if test="isTransfer != null">
and cma.IS_TRANSFER=#{isTransfer}
</if>
<if test="walletStatus != null">
and cma.IS_WITHDRAW=#{walletStatus}
</if>
<if test="isConsume != null">
and cma.IS_CONSUME=#{isConsume}
</if>
<if test="transferStatus != null">
and cma.TRANSFER_STATUS=#{transferStatus}
</if>
<if test="vertexId != null">
and ver.PK_ID=#{vertexId}
</if>
<if test="teamId != null">
and ct.PK_ID=#{teamId}
</if>
<if test="registerAuthority != null">
and cm.REGISTER_AUTHORITY=#{registerAuthority}
</if>
<if test="isDealer != null">
and cm.IS_DEALER=#{isDealer}
</if>
<if test="accountStatus != null">
and cm.ACCOUNT_STATUS=#{accountStatus}
</if>
<if test="isRealName != null">
and cm.IS_REAL_NAME=#{isRealName}
</if>
<if test="serviceAgreement != null">
and cm.SERVICE_AGREEMENT=#{serviceAgreement}
</if>
<if test="isBusLicense != null">
and cm.is_bus_license=#{isBusLicense}
</if>
<if test="isMakerSpace != null">
and cm.IS_MAKER_SPACE=#{isMakerSpace}
</if>
<if test="orderSource != null">
and cm.order_source=#{orderSource}
</if>
<if test="centerMemberCode != null and centerMemberCode != ''">
and center.member_code like #{centerMemberCode}||'%'
</if>
<if test="centerMemberName != null and centerMemberName != ''">
and center.member_name like #{centerMemberName}||'%'
</if>
<if test="parMemberCode != null and parMemberCode != ''">
and par.member_code like #{parMemberCode}||'%'
</if>
<if test="parMemberName != null and parMemberName != ''">
and par.member_name like #{parMemberName}||'%'
</if>
<if test="placeMemberCode != null and placeMemberCode != ''">
and place.member_code like #{placeMemberCode}||'%'
</if>
<if test="placeMemberName != null and placeMemberName != ''">
and place.member_name like #{placeMemberName}||'%'
</if>
<if test="memberName != null and memberName != ''">
and cm.member_name like #{memberName}||'%'
</if>
<if test="phone != null and phone != ''">
and cm.phone=#{phone}
</if>
<if test="pkRegisterGrade != null ">
and cm.pk_register_grade =#{pkRegisterGrade}
</if>
<if test="pkSettleGrade != null ">
and cm.PK_SETTLE_GRADE =#{pkSettleGrade}
</if>
<if test="pkAwards != null">
and cm.pk_awards=#{pkAwards}
</if>
<if test="directPushNumber != null">
and cm.DIRECT_PUSH_NUMBER=#{directPushNumber}
</if>
<if test="systemLevel != null">
and cm.SYSTEM_LEVEL=#{systemLevel}
</if>
<if test="placeDept != null ">
and cm.place_dept=#{placeDept}
</if>
<if test="teamName != null and teamName !=''">
and ct.team_name like #{teamName}||'%'
</if>
<if test="startDate != null and startDate !='' ">
and cm.CREATION_TIME &gt;= to_date(#{startDate}, 'yyyy-mm-dd')
</if>
<if test="endDate != null and endDate !='' ">
and cm.CREATION_TIME &lt;= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startDatePay != null and startDatePay != ''">
and cm.PAY_TIME &gt;= to_date(#{startDatePay}, 'yyyy-mm-dd')
</if>
<if test="endDatePay != null and endDatePay != ''">
and cm.PAY_TIME &lt;= to_date(#{endDatePay} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="startExpireDate != null and startExpireDate != ''">
and cm.EXPIRE_DATE &gt;= to_date(#{startExpireDate}, 'yyyy-mm-dd')
</if>
<if test="endExpireDate != null and endExpireDate != ''">
and cm.EXPIRE_DATE &lt;= to_date(#{endExpireDate}, 'yyyy-mm-dd')
</if>
<if test="isTransfer != null ">
and cma.IS_TRANSFER=#{isTransfer}
</if>
<if test="isWithdraw != null ">
and cma.IS_WITHDRAW=#{isWithdraw}
</if>
<if test="isConsume != null ">
and cma.IS_CONSUME=#{isConsume}
</if>
<if test="systemType != null ">
and cm.SYSTEM_TYPE=#{systemType}
</if>
<!-- 体系权限处理 -->
<if test="vertexList != null and vertexList.size > 0">
and ver.pk_member in
<foreach collection="vertexList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<!--团队权限 -->
<if test="teamList != null and teamList.size > 0">
and ct.pk_member in
<foreach collection="teamList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
)
order by cm.CREATION_TIME desc
</select>
<select id="findAll" resultMap="MemberResultMap">
select *
from cu_member
</select>
<select id="selectByDeptNumberCount" resultType="long">
select count(t.pk_id)
from CU_MEMBER t
where t.CATEGORY = 0
and t.del_flag = 0
start
with t.PK_PLACE_PARENT = #{pkMember} and t.PLACE_DEPT = #{placeDept}
connect by t.PK_PLACE_PARENT = prior t.PK_ID
</select>
<select id="selectPlaceSponsorUnderUmbrellaByCode" resultMap="MemberResultMap">
select *
from (select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT,
t.service_code
from cu_member t
where t.del_flag = 0 start
with t.pk_place_parent = #{memberId}
connect by t.pk_place_parent = prior t.pk_id) a
where (a.member_code = #{placeParentCode} or a.service_code = #{placeParentCode})
</select>
<!--根据用户编号、用户用户名查询用户信息-->
<select id="selectMemberByMemberCode" resultMap="MemberResultMap">
select m.member_code, m.member_name
from cu_member m
where m.del_flag = 0
and m.category = 0
and m.pk_settle_country = #{pkCountry}
<if test="memberCode != null and memberCode != ''">
and m.member_code=#{memberCode}
</if>
<if test="memberName != null and memberName != ''">
and m.member_name=#{memberName}
</if>
ORDER BY m.CREATION_TIME DESC
</select>
<!-- 查询最末安置人(根据会员编号) -->
<select id="queryLastPlaceByMemberCode" resultMap="MemberResultMap">
select *
from (select level, cm.*
from cu_member cm
where cm.del_flag = 0
and cm.place_dept = 1
start
with (cm.pk_place_parent =
(select pk_id
from cu_member
where member_code = #{memberCode}) and
cm.place_dept = #{placeDept})
connect by cm.pk_place_parent = prior cm.pk_id
order by level desc) tmp
where rownum = 1
</select>
<!-- 查询指定数量会员SEQ -->
<select id="querySeqList" resultType="long">
SELECT CU_MEMBER_SEQ.nextval
FROM (select level from dual connect by #{param} >= level)
</select>
<!-- 根据会员编号批量查询会员信息 -->
<select id="queryMemberListByCode" resultType="com.hzs.common.domain.member.base.CuMember">
select cm.*
from cu_member cm
where cm.del_flag = 0
and (cm.member_code in (''
<foreach collection="memberCodeList" item="item" close=")" index="index">
<choose>
<when test="index % 500 == 0">) or cm.member_code in (#{item}</when>
<otherwise>, #{item}</otherwise>
</choose>
</foreach>
)
order by cm.pk_id
</select>
<select id="checkPlaceSponsorUnderUmbrella" resultType="long">
select count(1)
from cu_member t
where t.del_flag = 0
and t.member_code = #{memberCode} start
with t.pk_place_parent = #{pkMember}
connect by t.pk_place_parent = prior t.pk_id
order by level
</select>
<!-- 校验是否安置关系 -->
<select id="checkPlaceParent" resultType="int">
select count(1)
from cu_member cm
where cm.member_code = #{topCode} start
with cm.pk_id = #{pkMember}
connect by cm.pk_id = prior cm.pk_place_parent
</select>
<select id="selectBloodKinshipUnderUmbrellaByMemberIds" resultType="com.hzs.member.base.vo.MemberTeamInfoVo">
<foreach collection="memberIds" item="memberId" separator="union">
select count(t.pk_id) numberCount, sum(t.CONSUME_ACHIEVE) numberAchieve,#{memberId} pkMember
from cu_member t
where t.del_flag = 0 start
with t.pk_id = #{memberId}
connect by t.pk_parent = prior t.pk_id
</foreach>
</select>
<select id="queryMemberLeftRightCount" resultType="com.hzs.common.domain.member.base.CuMember">
select 1 placeDept, count(t.pk_id) pkId
from cu_member t
where t.del_flag = 0 start
with t.pk_place_parent = #{pkMember} and place_dept=1
connect by t.pk_place_parent = prior t.pk_id
union
select 2 placeDept, count(t.pk_id) pkId
from cu_member t
where t.del_flag = 0 start
with t.pk_place_parent = #{pkMember} and place_dept=2
connect by t.pk_place_parent = prior t.pk_id
order by placeDept
</select>
<update id="updateParentById">
update CU_MEMBER
set PK_PARENT = #{pkParent},
DIRECT_PUSH_NUMBER = #{directPushNumber}
where PK_ID = #{pkMember}
</update>
<update id="updatePlaceParentAndPlaceDeptById">
update CU_MEMBER
set PK_PLACE_PARENT = #{pkPlaceParent},
PLACE_DEPT = #{placeDept}
where PK_ID = #{pkMember}
</update>
<!-- 校验会员编号是否存在 -->
<select id="checkCodeExist" resultType="string">
select member_code
from cu_member cm
where 1 = 1
and (cm.member_code in ('0'
<foreach collection="memberCodeList" item="item" close=")" index="index">
<choose>
<when test="index % 500 == 0">) or cm.member_code in (#{item}</when>
<otherwise>, #{item}</otherwise>
</choose>
</foreach>
)
union
select member_code
from cu_member_empty_code cmec
where cmec.del_flag = 0
and (cmec.member_code in ('0'
<foreach collection="memberCodeList" item="item" close=")" index="index">
<choose>
<when test="index % 500 == 0">) or cmec.member_code in (#{item}</when>
<otherwise>, #{item}</otherwise>
</choose>
</foreach>
)
</select>
<!-- 查询海粉订单 -->
<select id="queryFansOrder" resultMap="MemberResultMap">
select cm.member_code,
cm.member_name,
cm.phone,
cm.login_password,
cm.pay_password
from sa_order so
inner join cu_member cm
on cm.pk_id = so.pk_creator
where so.del_flag = 0
and so.order_type = 7
and so.order_code = #{orderCode}
</select>
<!-- 查询注册订单信息 -->
<select id="queryRegisterOrder" resultMap="MemberResultMap">
select cm.member_code,
cm.member_name,
cm.phone,
cm.login_password,
cm.pay_password
from sa_order so
inner join cu_member cm
on cm.pk_id = so.pk_member
where so.del_flag = 0
and so.order_type in (1, 7, 24)
and so.order_code = #{orderCode}
and so.pk_creator = #{pkMember}
</select>
<select id="queryDateBySummary" resultType="com.hzs.member.base.vo.MemberMeritsSummaryVo">
select sa.ORDER_TYPE orderType,
sum(sa.order_amount-nvl(sa.CONSUME_AMOUNT,0)) amount,
sum(sa.order_achieve) achieve
from SA_ORDER sa
inner join cu_member cm on sa.pk_member=cm.pk_id and cm.DEL_FLAG = 0 and cm.CATEGORY=0
where sa.ORDER_STATUS = 1
and sa.DEL_FLAG = 0
and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
and sa.PK_COUNTRY = #{pkCountry}
<if test="pkVertex!=null and pkVertex.size> 0 ">
and cm.PK_VERTEX in
<foreach collection="pkVertex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by sa.ORDER_TYPE
union all
select 99 orderType,
sum(sa.ORDER_AMOUNT) amount,
sum(sa.ORDER_ACHIEVE) achieve
from SA_T_ORDER sa
inner join cu_member cm on sa.pk_member=cm.pk_id and cm.DEL_FLAG = 0 and cm.CATEGORY=0
where sa.ORDER_STATUS = 1
and sa.del_flag = 0
and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
and sa.PK_COUNTRY = #{pkCountry}
<if test="pkVertex!=null and pkVertex.size> 0 ">
and cm.PK_VERTEX in
<foreach collection="pkVertex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by sa.ORDER_TYPE
</select>
<select id="selectPlaceErrorCode" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select m.pk_place_parent pkPlaceParent,
m.place_dept placeDept,
count(1) times
from cu_member m
where m.del_flag = 0
and m.pay_status = 1
and m.pk_place_parent is not null
and m.pk_settle_country = 1
group by m.pk_place_parent, m.place_dept
having count(1) > 1
</select>
<select id="queryCuMemberUnderUmbrella" resultType="com.hzs.common.domain.member.base.CuMember">
select *
from (
select pk_id
from cu_member start with pk_id=83999
connect by pk_parent = prior pk_id)
where pk_id = #{pkMember}
</select>
<!-- 校验会员是否存在三方订单-->
<select id="checkThreeOrder" resultType="java.lang.Integer">
select count(1)
from SA_T_ORDER
where pk_member = #{pkMember}
</select>
<select id="checkPlaceDeptAndMemberCode" resultType="java.lang.Long">
select count(c.pk_id)
from cu_member c
where c.PLACE_DEPT = #{placeDept}
and c.del_flag = 0
and c.PK_PLACE_PARENT =
(select cm.pk_id from cu_member cm where cm.MEMBER_CODE = #{placeDeptMemberCode} and cm.del_flag = 0)
</select>
<select id="checkMemberVertex" resultMap="MemberResultMap">
select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT
from cu_member t
where t.del_flag = 0
and t.MEMBER_CODE = #{memberCode}
start
with t.pk_place_parent in (select bv.PK_MEMBER
from BD_VERTEX bv
where bv.pk_id in
<foreach collection="vertexIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
)
connect by t.pk_place_parent = prior t.pk_id
union all
select t.pk_id,
t.member_code,
t.member_name,
t.phone,
t.pk_place_parent,
t.pk_parent,
t.pk_center_code,
t.PLACE_DEPT
from cu_member t
where t.del_flag = 0
and t.MEMBER_CODE = #{memberCode}
and t.pk_id in (select bv.PK_MEMBER
from BD_VERTEX bv
where bv.pk_id in
<foreach collection="vertexIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
)
</select>
<select id="checkMemberParent" resultType="long">
select count(t.pk_id)
from cu_member t
where t.del_flag = 0
and t.member_code = #{memberCode} start
with t.pk_id = #{pkMember}
connect by t.pk_parent = prior t.pk_id
</select>
<update id="updateMemberEditNumber">
update cu_member m
set m.change_number = nvl(m.change_number,0) + 1,
m.modified_time = sysdate,
m.pk_modified = #{updatePkMember}
where m.pk_id in
<foreach collection="pkMemberList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<select id="checkMemberPlaceParent" resultMap="MemberResultMap">
select t.PK_ID, t.MEMBER_NAME, t.MEMBER_CODE, t.PK_PLACE_PARENT, level
from cu_member t
start
with t.PK_ID = #{pkMember}
connect by t.PK_ID = prior t.PK_PLACE_PARENT
order by level
</select>
<select id="checkPlaceMemberList" resultType="long">
select count(t.PK_ID)
from cu_member t
where t.member_code = #{editNewPlaceMemberCode} start
with t.PK_ID = #{pkMember}
connect by t.PK_PLACE_PARENT = prior t.pk_id
</select>
<!-- 查询安置会员列表 -->
<select id="queryPlaceMemberList" resultMap="MemberResultMap">
select cm.*
from cu_member cm
where cm.del_flag = 0
and cm.pk_settle_country = #{pkCountry}
and cm.pk_place_parent =
(select cm.pk_id
from cu_member cm
where cm.member_code = #{memberCode})
order by cm.pk_id
</select>
<!-- 查询血缘上所属体系 -->
<select id="queryParentVertex" resultMap="MemberResultMap">
select *
from (select cm.*
from cu_member cm
where cm.pk_vertex is not null
and cm.del_flag = 0
start
with cm.pk_id = #{pkMember}
connect by cm.pk_id = prior cm.pk_parent
order by level)
where rownum = 1
</select>
<update id="updateMemberExpireDate">
UPDATE cu_member m
SET m.modified_time = SYSDATE,
m.pk_modified = 100000000,
m.expire_date = add_months(m.expire_date, 12),
m.stop_date = add_months(m.stop_date, 12)
WHERE m.expire_date &lt;= add_months(trunc(SYSDATE), 4)
AND m.pk_id IN (SELECT rw.pk_member
FROM bd_agreement_renewal_white rw
WHERE rw.del_flag = 0
AND rw.type = 1)
</update>
<select id="getMemberConsumptionStat" resultType="com.hzs.member.base.vo.MemberConsumptionStatVo">
select
cm.MEMBER_CODE memberCode,
cm.MEMBER_NAME memberName,
so.orderAmount orderAmount ,
so.orderAchieve orderAchieve
from cu_member cm
left join (
select so.PK_CREATOR,
nvl(sum(oi.PRICE * oi.QUANTITY),0) orderAmount,
nvl(sum(oi.ACHIEVEMENT * oi.QUANTITY),0) orderAchieve
from SA_ORDER_ITEMS oi
left join sa_order so on so.PK_ID = oi.PK_ORDER
left join BD_WARES bw on bw.PK_ID = oi.PK_WARES
where so.del_flag = 0
and oi.del_flag = 0
and so.ORDER_STATUS = 1
<if test="specialArea != null">
and bw.SPECIAL_AREA = #{specialArea}
</if>
<if test="pkProductList != null and pkProductList.size > 0">
and oi.pk_wares in
<foreach collection="pkProductList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="startPayTime != null">
and so.PAY_TIME &gt;= #{startPayTime}
</if>
<if test="endPayTime != null">
and so.PAY_TIME &lt;= #{endPayTime}
</if>
group by so.PK_CREATOR
)so on so.PK_CREATOR = cm.PK_ID
where cm.DEL_FLAG = 0
and cm.PAY_STATUS = 1
and so.orderAmount > 0
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
<if test="memberCode != null and memberCode != ''">
and cm.member_code=#{memberCode}
</if>
group by cm.MEMBER_CODE ,cm.MEMBER_NAME ,orderAmount ,orderAchieve
order by orderAmount desc
</select>
<!-- 查询表是否存在-->
<select id="selectExistTable" resultType="Integer">
select count(1)
from user_tables t
where t.table_name = upper('${achieveTable}')
</select>
<select id="queryBloodKinshipUnderUmbrella" resultType="long">
<foreach collection="paramList" item="item" separator=" union ">
<!--
select ${item.pkMember}
from cu_member t
where t.del_flag = 0
and t.pk_id = #{item.loginMember}
start with t.pk_id = #{item.pkMember}
connect by t.pk_parent = prior t.pk_id
-->
select ${item.pkMember}
from cu_member cm
where cm.del_flag = 0
and cm.pk_id = #{item.pkMember}
start with cm.pk_id = #{item.loginMember}
connect by cm.pk_id = prior cm.pk_parent
</foreach>
<!-- <foreach collection="waresAuthorityParentParamList" item="item" separator="union all">-->
<!-- select t.PK_ID pkMember , count(t.PK_ID) memberCount-->
<!-- from cu_member t-->
<!-- where t.del_flag = 0-->
<!-- and t.PK_ID = #{item.loginMember} start-->
<!-- with t.pk_id = #{item.pkMember}-->
<!-- connect by t.pk_parent = prior t.pk_id-->
<!-- group by t.PK_ID-->
<!-- </foreach>-->
</select>
<select id="queryPlaceSponsorUnderUmbrella" resultType="long">
<foreach collection="paramList" item="item" separator=" union ">
<!--
select ${item.pkMember}
from cu_member t
where t.del_flag = 0
and t.pk_id = #{item.loginMember}
start with t.pk_id = #{item.pkMember}
connect by t.pk_place_parent = prior t.pk_id
-->
select ${item.pkMember}
from cu_member cm
where cm.del_flag = 0
and cm.pk_id = #{item.pkMember}
start with cm.pk_id = #{item.loginMember}
connect by cm.pk_id = prior cm.pk_place_parent
</foreach>
<!-- <foreach collection="waresAuthorityParentParamList" item="item" separator="union all">-->
<!-- select *-->
<!-- from (select t.pk_id,-->
<!-- t.member_code,-->
<!-- t.member_name,-->
<!-- t.phone,-->
<!-- t.pk_place_parent,-->
<!-- t.pk_parent,-->
<!-- t.pk_center_code,-->
<!-- t.PLACE_DEPT-->
<!-- from cu_member t-->
<!-- where t.del_flag = 0 start-->
<!-- with t.pk_place_parent = #{item.pkMember}-->
<!-- connect by t.pk_place_parent = prior t.pk_id) a-->
<!-- where a.member_code = #{item.loginMemberCode}-->
<!-- </foreach>-->
</select>
<!-- 查询同姓名、同手机号,奖衔最高的人 -->
<select id="querySameMemberByAwards" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.*
from (select cm.*, ba.awards_value, rownum
from cu_member cm
inner join bd_awards ba
on ba.pk_id = cm.pk_max_awards
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
order by ba.awards_value desc) cm
where rownum = 1
</select>
<!-- 重置【有效期】【休止期】 -->
<update id="resetExpireAndStopDate">
update cu_member cm
set cm.expire_date = #{expireDate},
cm.stop_date = #{stopDate},
cm.modified_time = sysdate
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
</update>
<!-- 批量更新【有效期】【休止期】 -->
<update id="updateExpireAndStopDate">
update cu_member cm
set (cm.expire_date, cm.stop_date) =
(select cm.expire_date, add_months(cm.expire_date, ${stopMonth}) stop_date
from cu_member cm
where cm.pk_id = #{pkMember}),
cm.pk_modified = #{pkMember},
cm.modified_time = sysdate
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
<if test="expireDate != null">
and #{expireDate} >= cm.expire_date
</if>
</update>
<!-- 批量更新【休止期】 -->
<update id="updateStopDate">
update cu_member cm
set cm.stop_date = add_months(cm.expire_date, ${stopMonth}),
cm.modified_time = sysdate,
cm.pk_modified = #{pkMember}
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
and cm.stop_date != add_months(cm.expire_date, ${stopMonth})
</update>
<!-- 变更户籍更新【有效期】【休止期】 -->
<update id="updateExpireAndStopDateByChange">
update cu_member cm
set (cm.expire_date, cm.stop_date) =
(select max(cm.expire_date) expire_date,
add_months(max(cm.expire_date), ${stopMonth}) stop_date
from cu_member cm
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}),
cm.pk_modified = #{pkMember},
cm.modified_time = sysdate
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
</update>
<!-- 更新有效状态 -->
<update id="updateExpireStatus">
update cu_member cm
set cm.expire_status = (case
when cm.expire_date >= TRUNC(sysdate) then
1
when TRUNC(sysdate) > cm.expire_date and
cm.stop_date >= TRUNC(sysdate) then
2
end)
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
<if test="pkMember != null">
and cm.pk_id = #{pkMember}
</if>
</update>
<!-- 批量更新会员休止期时间 -->
<update id="flushStopDateBatch">
merge into cu_member cm
using (select cm.member_name, cm.phone, max(cm.pk_max_awards)
from cu_member cm
where cm.del_flag = 0
and cm.pk_settle_country = #{pkCountry}
and cm.category = 0
and cm.pk_max_awards != 1
group by cm.member_name, cm.phone) tmp
on (cm.member_name = tmp.member_name and cm.phone = tmp.phone and cm.del_flag = 0 and
cm.pk_settle_country = #{pkCountry} and cm.category = 0)
WHEN MATCHED THEN
update set cm.stop_date = add_months(cm.expire_date, 12),
cm.modified_time = sysdate
</update>
<!-- 批量刷新会员【休止期】状态 -->
<update id="flushExpireStatusBatch">
update cu_member cm
set cm.expire_status = 2,
cm.modified_time = sysdate
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and TRUNC(sysdate) > cm.expire_date
and cm.stop_date >= TRUNC(sysdate)
</update>
<!-- 批量刷新会员【已终止】状态 -->
<update id="flushStopStatusBatch">
update cu_member cm
set cm.expire_status = 3,
cm.category = 2,
cm.modified_time = sysdate
where cm.del_flag = 0
and cm.category = 0
and cm.pk_settle_country = #{pkCountry}
and TRUNC(sysdate) > cm.stop_date
</update>
<!-- 查询菜单用户 -->
<select id="getMenuMember" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.*,
case
when tmp1.pk_member is null then
1
else
0
end experience_center_show,
case
when tmp2.pk_member is null then
1
else
0
end special_registration,
case
when tmp10.store_level = 2 then
0
else
1
end wholesale_show,
case
when tmp10.store_level = 1 or tmp10.store_level = 0 then
0
else
1
end maker_space_show
from cu_member cm
left join (select distinct cmsc.pk_member
from cu_authority_control cmsc
where cmsc.pk_member = #{pkMember}
and cmsc.control_type = 1
and cmsc.del_flag = 0) tmp1
on tmp1.pk_member = cm.pk_id
left join (select distinct cmsc.pk_member
from cu_authority_control cmsc
where cmsc.pk_member = #{pkMember}
and cmsc.control_type = 2
and cmsc.del_flag = 0) tmp2
on tmp2.pk_member = cm.pk_id
left join (select cms.pk_member, cms.store_level
from cu_maker_space cms
where cms.del_flag = 0
and cms.store_type = 1
and cms.pk_member = #{pkMember}
and cms.APPROVE_STATUS = 5
and cms.APPLY_STATUS = 5) tmp10
on tmp10.pk_member = cm.pk_id
where cm.pk_id = #{pkMember}
and cm.del_flag = 0
</select>
<select id="queryMemberServiceCodeList" resultType="com.hzs.member.base.vo.MemberServiceCodeVo">
select cm.SERVICE_CODE serviceCode,cm.MEMBER_CODE memberCode,cm.MEMBER_NAME memberName,cm.NICK_NAME nickName,
bg.GRADE_NAME gradeName ,ba.AWARDS_NAME awardsName,bv.VERTEX_NAME vertexName,cm.CREATION_TIME creationTime
from CU_MEMBER cm
left join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
left join bd_awards ba on ba.pk_id = cm.PK_AWARDS
left join bd_vertex bv
on bv.pk_id = cm.PK_VERTEX
where cm.del_flag = 0 and cm.SERVICE_CODE is not null
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
<if test="serviceCode != null and serviceCode != ''">
and cm.SERVICE_CODE = #{serviceCode}
</if>
<if test="memberCode != null and memberCode != ''">
and cm.MEMBER_CODE = #{memberCode}
</if>
<if test="startDate != null and startDate !='' ">
and cm.CREATION_TIME &gt;= to_date(#{startDate}, 'yyyy-mm-dd')
</if>
<if test="endDate != null and endDate !='' ">
and cm.CREATION_TIME &lt;= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
order by cm.SERVICE_CODE desc
</select>
<update id="updateMemberCodeByServiceCodeBlack">
update CU_MEMBER
set SERVICE_CODE = null
where MEMBER_CODE = #{memberCode}
</update>
<select id="getMaxServiceCode" resultType="java.lang.String">
select max(t.SERVICE_CODE)
from CU_MEMBER t
where t.PK_COUNTRY = #{pkCountry}
</select>
<!-- 根据会员编号获取推荐人信息 -->
<select id="getParentMember" resultType="com.hzs.common.domain.member.base.CuMember">
select cmp.*
from cu_member cm
left join cu_member cmp
on cmp.pk_id = cm.pk_parent
where cm.member_code = #{memberCode}
</select>
<!-- 查询会员奖衔列表 -->
<select id="listMemberAwards" resultType="com.hzs.member.base.vo.MemberAwardsQueryVO">
select cm.member_code,
cm.member_name,
cm.phone,
cmsa.pk_awards,
ba.awards_name,
cm.pk_max_awards,
bam.awards_name max_awards_name,
bha.awards_name history_awards_name,
bv.vertex_name,
bg.grade_name,
cmsa.new_pv,
cmsp.settle_date
from cu_member_settle_awards cmsa
left join cu_member cm
on cmsa.pk_member = cm.pk_id
left join cu_member_histroy_awards cmha
on cmha.pk_member = cm.pk_id
left join bd_histroy_awards bha
on bha.pk_id = cmha.pk_awards
left join bd_awards ba
on ba.pk_id = cmsa.pk_awards
left join bd_awards bam
on bam.pk_id = cm.pk_max_awards
left join bd_vertex bv
on bv.pk_id = cm.pk_vertex
left join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
left join CU_MEMBER_SETTLE_PERIOD cmsp
on cmsp.pk_id = cmsa.period
where cm.del_flag = 0
and cm.pk_settle_country = #{pkCountry}
and cm.category = 0
<if test="param.memberCode != null and param.memberCode != ''">
and cm.member_code like #{param.memberCode} || '%'
</if>
<if test="param.pkGrade != null">
and cm.pk_settle_grade = #{param.pkGrade}
</if>
<if test="param.pkAwards != null">
and cmsa.pk_awards = #{param.pkAwards}
</if>
<if test="param.pkVertex != null">
and cm.pk_vertex = #{param.pkVertex}
</if>
<if test="param.startDate != null">
and cmsp.settle_date >= #{param.startDate}
</if>
<if test="param.endDate != null">
and #{param.endDate} >= cmsp.settle_date
</if>
order by cmsp.settle_date desc
<!--
select cm.PK_ID pkId,cm.MEMBER_CODE memberCode,cm.MEMBER_NAME memberName,cm.PK_COUNTRY pkCountry,cm.PK_AWARDS pkAwards,cm.PK_MAX_AWARDS pkMaxAwards from CU_MEMBER cm where 1 = 1
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
<if test="memberCode != null and memberCode != ''">
and cm.MEMBER_CODE = #{memberCode}
</if>
-->
</select>
<!-- 查询同姓名同手机号指定等级会员数量 -->
<select id="countGradeMemberPoint" resultType="int">
select count(1)
from cu_member cm
where cm.del_flag = 0
and cm.pk_country = #{pkCountry}
and cm.category = 0
and cm.pk_settle_grade = #{pkGrade}
and cm.member_name = #{memberName}
and cm.phone = #{phone}
</select>
<select id="querySponsorOnUmbrella" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select * from(
<foreach collection="memberCodeList" item="item" index="index" separator="union">
select t.pk_id, t.member_code, t.member_name, t.phone, t.pk_place_parent,level num
from cu_member t
where t.del_flag = 0 and member_code = #{item}
start with t.pk_id = #{memberId}
connect by t.pk_id = prior t.pk_place_parent
</foreach>)
order by num desc
</select>
</mapper>