update cu_member_account cma set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} where cma.pk_member in (select cm.pk_id from cu_member cm where cm.member_code = #{memberCode}) UPDATE CU_MEMBER_ACCOUNT SET account1 = account1 + #{account1}, account2 = account2 + #{account2}, account3 = account3 + #{account3}, account4 = account4 + #{account4}, account5 = account5 + #{account5}, account6 = account6 + #{account6}, account7 = account7 + #{account7}, account8 = account8 + #{account8}, account9 = account9 + #{account9}, account10 = account10 + #{account10}, account11 = account11 + #{account11}, account12 = account12 + #{account12}, account13 = account13 + #{account13}, account14 = account14 + #{account14}, account15 = account15 + #{account15}, account16 = account16 + #{account16}, account17 = account17 + #{account17}, account18 = account18 + #{account18}, account19 = account19 + #{account19}, account20 = account20 + #{account20}, lock_account1 = #{lockAccount1}, lock_account2 = #{lockAccount2}, lock_account4 = #{lockAccount4}, withdraw_account4 = withdraw_account4 + #{withdrawAccount4}, consume_account4 = consume_account4 + #{consumeAccount4}, lock_account13 = #{lockAccount13}, pk_modified = #{pkModified}, modified_time = sysdate WHERE pk_member = #{pkMember} and pk_country = #{pkCountry} and del_flag=0 and account2 + #{account2} >= 0 and account4 + #{account4} >= 0 MERGE INTO cu_member_account m USING (select * from (select a.field_value, r.recharge_amount, pk_member, r.recharge_method from cu_member_recharge r left join bd_account a on r.pk_account = a.pk_id where r.del_flag = 0 and r.batch = #{batch}) tt pivot(sum(recharge_amount) for field_value in('1' as account1, '2' as account2, '3' as account3, '4' as account4, '5' as account5, '6' as account6, '7' as account7, '8' as account8, '9' as account9, '10' as account10, '12' as account12, '13' as account13, '14' as account14, '15' as account15 ))) t ON (m.pk_member = t.pk_member) WHEN MATCHED THEN update set m.account1 = NVL(t.account1, 0) + m.account1, m.account2 = NVL(t.account2, 0) + m.account2, m.account3 = NVL(t.account3, 0) + m.account3, m.account4 = NVL(t.account4, 0) + m.account4, m.WITHDRAW_ACCOUNT4 = case when NVL(t.account4, 0) < 0 and m.WITHDRAW_ACCOUNT4 + NVL(t.account4, 0) >= 0 then NVL(t.account4, 0) + m.WITHDRAW_ACCOUNT4 when NVL(t.account4, 0) < 0 and m.WITHDRAW_ACCOUNT4 + NVL(t.account4, 0) < 0 then 0 else m.WITHDRAW_ACCOUNT4 end, m.CONSUME_ACCOUNT4 = case when NVL(t.account4, 0) < 0 and m.WITHDRAW_ACCOUNT4 + NVL(t.account4, 0) < 0 then m.WITHDRAW_ACCOUNT4 + t.account4 + m.CONSUME_ACCOUNT4 else NVL(t.account4, 0) + m.CONSUME_ACCOUNT4 end, m.account5 = NVL(t.account5, 0) + m.account5, m.account6 = NVL(t.account6, 0) + m.account6, m.account7 = NVL(t.account7, 0) + m.account7, m.account8 = NVL(t.account8, 0) + m.account8, m.account9 = NVL(t.account9, 0) + m.account9, m.account10 = NVL(t.account10, 0) + m.account10, m.account12 = NVL(t.account12, 0) + m.account12, m.account13 = NVL(t.account13, 0) + m.account13, m.account14 = NVL(t.account14, 0) + m.account14, m.account15 = NVL(t.account15, 0) + m.account15, m.MODIFIED_TIME = sysdate, m.PK_MODIFIED = #{pkModified} with t1 as (select u.member_code, u.member_name, u.pk_id, u.pk_vertex vertex_id, u.pk_team_code team_id, v.vertex_name, v.pk_member, u.pk_place_parent, u.pk_parent, t.team_name from cu_member u left join bd_vertex v on u.pk_vertex = v.pk_id and v.del_flag = 0 left join cu_member_team t on u.pk_team_code = t.pk_id and t.del_flag = 0 where u.del_flag = 0 and u.pk_settle_country = #{pkCountry}) select ss.memberCode, ss.memberName, ss.pk_id pkId, ss.vertexId, ss.teamId, ss.vertexName, ss.pk_member, ss.pk_place_parent, ss.pk_parent, ss.teamName, ss.slevel, pp.plevel, account1, lock_account1, lock_transfer_account1, account2, lock_account2, lock_transfer_account2, account3, lock_account3, lock_transfer_account3, account4, lock_account4, lock_transfer_account4, lock_withdraw_account4, withdraw_account4, consume_account4, account5, lock_account5, lock_transfer_account5, account6, lock_account6, lock_transfer_account6, account7, lock_account7, lock_transfer_account7, account8, lock_account8, lock_transfer_account8, account9, lock_account9, lock_transfer_account9, account10, lock_account10, account11, lock_transfer_account10, account12, account13, lock_account13, account14, account15 from (select member_code memberCode, member_name memberName, pk_id, vertex_id vertexId, team_id teamId, vertex_name vertexName, pk_member, pk_place_parent, pk_parent, team_name teamName, level slevel from t1 start with pk_id = (select cm.pk_id from cu_member cm where cm.member_code = #{memberCode}) pk_member connect by prior pk_id = pk_place_parent) ss, (select pk_id, level plevel from t1 start with pk_id = (select cm.pk_id from cu_member cm where cm.member_code = #{memberCode}) pk_member connect by prior pk_id = pk_parent) pp, cu_member_account a 1=1 and member_name like #{memberName} || '%' and vertex_name like #{memberName} || '%' and team_name like #{teamName} || '%' and team_id = #{teamId} and vertex_id = #{vertexId} and level <= #{slevel} 1=1 and member_name like #{memberName} || '%' and vertex_name like #{memberName} || '%' and team_name like #{teamName} || '%' and team_id = #{teamId} and vertex_id = #{vertexId} and level <= #{plevel} ss.pk_id = pp.pk_id and ss.pk_id = a.pk_member and a.del_flag = 0 and a.pk_country = #{pkCountry} ss.pk_id = pp.pk_id and ss.pk_id = a.pk_member and a.del_flag = 0 and a.pk_country = #{pkCountry} and ss.pk_id in #{item} select u.member_code, u.member_name, u.pk_id pkId, u.pk_vertex vertex_id, u.pk_team_code team_id, v.vertex_name, v.pk_member, u.pk_place_parent, u.pk_parent, t.team_name, 1 slevel, 1 plevel, a.account1, a.lock_account1, a.lock_transfer_account1, a.account2, a.lock_account2, a.lock_transfer_account2, a.account3, a.lock_account3, a.lock_transfer_account3, a.account4, a.lock_account4, a.lock_transfer_account4, a.lock_withdraw_account4, a.withdraw_account4, a.consume_account4, a.account5, a.lock_account5, a.lock_transfer_account5, a.account6, a.lock_account6, a.lock_transfer_account6, a.account7, a.lock_account7, a.lock_transfer_account7, a.account8, a.lock_account8, a.lock_transfer_account8, a.account9, a.lock_account9, a.lock_transfer_account9, a.account10, a.lock_account10, a.account11, a.lock_transfer_account10, a.account12, a.account13, a.lock_account13, a.account14, a.account15 from cu_member_account a, cu_member u left join bd_vertex v on u.pk_vertex = v.pk_id and v.del_flag = 0 left join cu_member_team t on u.pk_team_code = t.pk_id and t.del_flag = 0 a.pk_member = u.pk_id and u.del_flag = 0 and u.pk_settle_country = #{pkCountry} and u.member_name like #{memberName} || '%' and u.member_code like #{memberCode} || '%' and u.pk_team_code = #{teamId} and u.pk_vertex = #{vertexId} a.pk_member = u.pk_id and u.del_flag = 0 and u.pk_settle_country = #{pkCountry} and u.pk_id in #{item} update cu_member_account a set a.lock_account1 = #{lockAccount1}, a.lock_transfer_account1 = #{lockTransferAccount1}, a.account1_remarks = #{account1Remarks}, a.lock_account2 = #{lockAccount2}, a.lock_transfer_account2 = #{lockTransferAccount2}, a.account2_remarks = #{account2Remarks}, a.lock_account3 = #{lockAccount3}, a.lock_transfer_account3 = #{lockTransferAccount3}, a.account3_remarks = #{account3Remarks}, a.lock_account4 = #{lockAccount4}, a.lock_transfer_account4 = #{lockTransferAccount4}, a.lock_withdraw_account4 = #{lockWithdrawAccount4}, a.account4_remarks = #{account4Remarks}, a.lock_account5 = #{lockAccount5}, a.lock_transfer_account5 = #{lockTransferAccount5}, a.account5_remarks = #{account5Remarks}, a.lock_account6 = #{lockAccount6}, a.lock_transfer_account6 = #{lockTransferAccount6}, a.account6_remarks = #{account6Remarks}, a.lock_account7 = #{lockAccount7}, a.lock_transfer_account7 = #{lockTransferAccount7}, a.account7_remarks = #{account7Remarks}, a.lock_account8 = #{lockAccount8}, a.lock_transfer_account8 = #{lockTransferAccount8}, a.account8_remarks = #{account8Remarks}, a.lock_account9 = #{lockAccount9}, a.lock_transfer_account9 = #{lockTransferAccount9}, a.account9_remarks = #{account9Remarks}, a.lock_account10 = #{lockAccount10}, a.lock_transfer_account10 = #{lockTransferAccount10}, a.account10_remarks = #{account10Remarks}, a.pk_modified = #{pkModified}, a.modified_time = sysdate WHERE a.pk_member in #{item} MERGE INTO cu_member_account m USING ( select #{item.pkMember} pk_member, #{item.withdrawBalance} withdrawBalance, 0 withdrawBalance, #{item.consumeBalance} consumeBalance, 0 consumeBalance, #{item.tradeAmount} account1 #{item.tradeAmount} account2 #{item.tradeAmount} account4 FROM DUAL ) t ON ( t.pk_member=m.pk_member and m.pk_member in #{item.pkMember} ) WHEN MATCHED THEN UPDATE SET m.account1 = NVL(t.account1, 0) + m.account1, m.account2 = NVL(t.account2, 0) + m.account2, m.account4 = NVL(t.account4, 0) + m.account4, m.withdraw_account4 = NVL(t.withdrawBalance, 0) + m.withdraw_account4, m.CONSUME_ACCOUNT4 = NVL(t.consumeBalance, 0) + m.CONSUME_ACCOUNT4, m.MODIFIED_TIME = sysdate MERGE INTO cu_member_account m USING ( select #{item.pkMember} pk_member, #{item.tradeAmount} account1,0 account2,0 account4,0 account14 0 account1,#{item.tradeAmount} account2,0 account4,0 account14 0 account1,0 account2,#{item.tradeAmount} account4,0 account14 0 account1,0 account2,0 account4,#{item.tradeAmount} account14 FROM DUAL ) t ON ( t.pk_member=m.pk_member and m.pk_member in #{item.pkMember} ) WHEN MATCHED THEN UPDATE SET m.account1 = NVL(t.account1, 0) + m.account1, m.account2 = NVL(t.account2, 0) + m.account2, m.account4 = NVL(t.account4, 0) + m.account4, m.account14 = NVL(t.account14, 0) + m.account14, m.withdraw_account4 = NVL(t.account4, 0) + m.withdraw_account4, m.MODIFIED_TIME = sysdate update cu_member_account a is_transfer = 0,is_consume = 0,is_withdraw = 0,transfer_status = 0, is_transfer = 1, is_consume = 1, is_withdraw = 1, transfer_status =1, a.MODIFIED_TIME = sysdate, a.pk_modified = #{updatePkMember} where a.pk_member in #{item.pkMember} INSERT ALL into CU_MEMBER_ACCOUNT ( PK_ID, PK_MEMBER, ACCOUNT4, PK_CREATOR, CREATION_TIME, PK_COUNTRY ) values ( #{item.pkId}, #{item.pkMember}, #{item.account4, jdbcType=NUMERIC}, #{item.pkCreator}, #{item.creationTime}, #{item.pkCountry} ) SELECT 1 FROM dual