Service
void insertBatch(List<TFinanceQuantumMemberAccountItem> userList);
ServiceImpl
@Override
@Transactional
public void insertBatch(List<TFinanceQuantumMemberAccountItem> list) {
diytAccountItemMapper.insertBatch(list);
for (TFinanceQuantumMemberAccountItem bean : list) {
String money;
Map<String,Object> map = new HashMap<>();
map.put("auroraCode",bean.getAuroraCode());
if (bean.getMemberMoney() ==null){
money="0";
}else {
money = String.valueOf(bean.getMemberMoney());
}
map.put("money",money);
diytMemberAccountInfoMapper.updateMemberAccountInfo(map);
}
}
mapper
void insertBatch(List<TFinanceQuantumMemberAccountItem> list);
/**
* 减去账户余额
* @param map
*/
void updateMemberAccountInfo(Map<String, Object> map);
XML
<insert id="insertBatch" parameterType="java.util.List" >
insert into t_finance_quantum_member_account_item (id, aurora_code, member_money,net_money,
edit_type, create_time, update_time,is_valid,create_user_id)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id,jdbcType=VARCHAR},
#{item.auroraCode,jdbcType=VARCHAR},
#{item.memberMoney,jdbcType=VARCHAR},
#{item.netMoney,jdbcType=VARCHAR},
#{item.editType,jdbcType=VARCHAR},
#{item.createTime,jdbcType=VARCHAR},
#{item.updateTime,jdbcType=VARCHAR},
#{item.isValid,jdbcType=VARCHAR},
#{item.createUserId,jdbcType=VARCHAR}
)
</foreach>
</insert>
UPDATE t_finance_quantum_member_account_info ai
SET ai.member_account_money = ai.member_account_money - #{money}
WHERE
ai.aurora_code = #{auroraCode}