UPDATE `gao_sales_order_item`
SET `reserved_base_quantity` = `reserved_base_quantity` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000)
WHERE `id` = #{id} AND `reserved_base_quantity` + #{delta} >= 0
AND `fulfilled_base_quantity` + `reserved_base_quantity` + #{delta} <= `base_quantity`
UPDATE `gao_sales_order_item`
SET `fulfilled_base_quantity` = `fulfilled_base_quantity` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000)
WHERE `id` = #{id} AND `fulfilled_base_quantity` + #{delta} >= 0
AND `fulfilled_base_quantity` + #{delta} <= `base_quantity`