UPDATE user_salary_account_balance
SET earn_points = earn_points + #{amount} / 100,
balance = balance + #{amount} / 100,
available_balance = available_balance + #{amount} / 100
WHERE user_id = #{userId}
AND salary_type = #{salaryType}
UPDATE user_salary_account_balance
SET consumption_points = consumption_points + #{amount} / 100,
balance = balance - #{amount} / 100,
available_balance = available_balance - #{amount} / 100
WHERE user_id = #{userId}
AND salary_type = #{salaryType}
AND available_balance >= #{amount} / 100
UPDATE user_salary_account_balance
SET frozen_amount = frozen_amount + #{amount} / 100,
available_balance = available_balance - #{amount} / 100,
version = version + 1
WHERE user_id = #{userId}
AND salary_type = #{salaryType}
AND version = #{version}
AND available_balance >= #{amount} / 100
UPDATE user_salary_account_balance
SET frozen_amount = frozen_amount - #{amount} / 100,
available_balance = available_balance + #{amount} / 100,
version = version + 1
WHERE user_id = #{userId}
AND salary_type = #{salaryType}
AND version = #{version}
AND frozen_amount >= #{amount} / 100