update cu_member_register
set customer_type = 1,
pk_modified = #{pkModified},
modified_time=sysdate
where pk_member = #{pkMember}
and pk_country = #{pkCountry}
and del_flag = 0
insert into CU_MEMBER_REGISTER (
PK_ID,
MEMBER_CODE,
MEMBER_NAME,
CUSTOMER_TYPE,
PHONE,
PK_COUNTRY,
PK_SETTLE_COUNTRY,
PLACE_DEPT,
SOURCE,
PK_REGISTER_GRADE,
CONSUME_ACHIEVE,
PAY_TIME,
CREATION_TIME,
PK_CREATOR,
PK_PARENT,
PK_PLACE_PARENT,
PK_TEAM_CODE,
PK_VERTEX,
PK_MEMBER
)
select CU_MEMBER_REGISTER_SEQ.NEXTVAL, t.*
from (
select
#{item.memberCode} memberCode,
#{item.memberName} memberName,
#{item.customerType} customerType,
#{item.phone} phone,
#{item.pkCountry} pkCountry,
#{item.pkSettleCountry} pkSettleCountry,
#{item.placeDept} placeDept,
#{item.source} source,
#{item.pkRegisterGrade} pkRegisterGrade,
#{item.consumeAchieve} consumeAchieve,
#{item.payTime} payTime,
#{item.creationTime} creationTime,
#{item.pkCreator} pkCreator,
#{item.pkParent} pkParent,
#{item.pkPlaceParent} pkPlaceParent,
#{item.pkTeamCode, jdbcType=NUMERIC} pkTeamCode,
#{item.pkVertex, jdbcType=NUMERIC} pkVertex,
#{item.pkMember} pkMember
from dual
) t
update cu_member_register cmr
set cmr.del_flag = 1
where cmr.pk_member in (select so.pk_member
from cu_member cm
left join sa_order so
on so.pk_member = cm.pk_id
and so.del_flag = 0
and so.order_status = 1
where cm.del_flag = 0
and cm.pk_settle_grade = 1
and cm.pay_status = 0
and cm.pay_time is null
and sysdate - 8 > cm.creation_time
group by so.pk_member
having count(so.pk_member) = 0);