support split fulfillment by base unit
This commit is contained in:
@@ -20,16 +20,16 @@
|
||||
WHERE `id` = #{id} AND `deleted_at` IS NULL
|
||||
FOR UPDATE
|
||||
</select>
|
||||
<update id="updateReservedQuantity">
|
||||
<update id="updateReservedBaseQuantity">
|
||||
UPDATE `gao_sales_order_item`
|
||||
SET `reserved_quantity` = `reserved_quantity` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000)
|
||||
WHERE `id` = #{id} AND `reserved_quantity` + #{delta} >= 0
|
||||
AND `fulfilled_quantity` + `reserved_quantity` + #{delta} <= `quantity`
|
||||
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>
|
||||
<update id="updateFulfilledQuantity">
|
||||
<update id="updateFulfilledBaseQuantity">
|
||||
UPDATE `gao_sales_order_item`
|
||||
SET `fulfilled_quantity` = `fulfilled_quantity` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000)
|
||||
WHERE `id` = #{id} AND `fulfilled_quantity` + #{delta} >= 0
|
||||
AND `fulfilled_quantity` + #{delta} <= `quantity`
|
||||
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`
|
||||
</update>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user