Files
TimiServerAPI/src/main/resources/mapper/timi-server/gao/GaoSalesOrderItemMapper.xml
T

36 lines
1.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imyeyu.api.modules.gao.mapper.GaoSalesOrderItemMapper">
<select id="selectBySalesOrderId" resultType="com.imyeyu.api.modules.gao.entity.GaoSalesOrderItem">
SELECT * FROM `gao_sales_order_item`
WHERE `sales_order_id` = #{salesOrderId} AND `deleted_at` IS NULL
ORDER BY `sort`, `created_at`
</select>
<select id="selectBySalesOrderIdList" resultType="com.imyeyu.api.modules.gao.entity.GaoSalesOrderItem">
SELECT * FROM `gao_sales_order_item`
WHERE `sales_order_id` IN
<foreach collection="salesOrderIdList" item="salesOrderId" separator="," open="(" close=")">
#{salesOrderId}
</foreach>
AND `deleted_at` IS NULL
ORDER BY `sales_order_id`, `sort`, `created_at`
</select>
<select id="selectForUpdate" resultType="com.imyeyu.api.modules.gao.entity.GaoSalesOrderItem">
SELECT * FROM `gao_sales_order_item`
WHERE `id` = #{id} AND `deleted_at` IS NULL
FOR UPDATE
</select>
<update id="updateReservedBaseQuantity">
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} &gt;= 0
AND `fulfilled_base_quantity` + `reserved_base_quantity` + #{delta} &lt;= `base_quantity`
</update>
<update id="updateFulfilledBaseQuantity">
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} &gt;= 0
AND `fulfilled_base_quantity` + #{delta} &lt;= `base_quantity`
</update>
</mapper>