|  |  |  | 
|---|
|  |  |  | update member_wallet_coin | 
|---|
|  |  |  | <set> | 
|---|
|  |  |  | <if test="availableBalance != null"> | 
|---|
|  |  |  | available_balance = IFNULL(available_balance, 0) + #{availableBalance}, | 
|---|
|  |  |  | available_balance = ( | 
|---|
|  |  |  | case when  IFNULL(available_balance, 0) + #{availableBalance}>0 then  IFNULL(available_balance, 0) + #{availableBalance} else 0 end | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="totalBalance != null"> | 
|---|
|  |  |  | total_balance = IFNULL(total_balance, 0) + #{totalBalance}, | 
|---|
|  |  |  | total_balance = ( | 
|---|
|  |  |  | case when  IFNULL(total_balance, 0) + #{totalBalance}>0 then  IFNULL(total_balance, 0) + #{totalBalance} else 0 end | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="frozenBalance != null"> | 
|---|
|  |  |  | frozen_balance = IFNULL(frozen_balance, 0) + #{frozenBalance}, | 
|---|
|  |  |  | frozen_balance = ( | 
|---|
|  |  |  | case when  IFNULL(frozen_balance, 0) + #{frozenBalance}>0 then  IFNULL(frozen_balance, 0) + #{frozenBalance} else 0 end | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </set> | 
|---|
|  |  |  | where id=#{id} | 
|---|