backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java
@@ -23,7 +23,7 @@ "WHERE id = #{guideId} AND deleted = 0 AND balance >= #{amount}") int decreaseBalance(@Param("guideId") Long guideId, @Param("amount") BigDecimal amount); @Update("UPDATE guide_user SET balance = GREATEST(balance - #{amount}, 0), updated_at = NOW() " + @Update("UPDATE guide_user SET balance = COALESCE(balance, 0) - #{amount}, updated_at = NOW() " + "WHERE id = #{guideId} AND deleted = 0") int decreaseBalanceForRefund(@Param("guideId") Long guideId, @Param("amount") BigDecimal amount);