62 lines
2.8 KiB
XML
62 lines
2.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.GaoOrderFulfillmentMapper">
|
|
<select id="selectByRequestNo" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `store_id` = #{storeId} AND `request_no` = #{requestNo}
|
|
LIMIT 1
|
|
</select>
|
|
<select id="selectById" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `id` = #{id}
|
|
</select>
|
|
<select id="selectByIdList" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `id` IN
|
|
<foreach collection="idList" item="id" open="(" separator="," close=")">#{id}</foreach>
|
|
</select>
|
|
<select id="selectForUpdate" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `id` = #{id}
|
|
FOR UPDATE
|
|
</select>
|
|
<select id="selectBySalesOrderId" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `sales_order_id` = #{salesOrderId}
|
|
ORDER BY `created_at`
|
|
</select>
|
|
<select id="selectBySourceFulfillmentId" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE `source_fulfillment_id` = #{sourceFulfillmentId}
|
|
LIMIT 1
|
|
</select>
|
|
<select id="countPendingBySalesOrderId" resultType="long">
|
|
SELECT COUNT(1) FROM `gao_order_fulfillment`
|
|
WHERE `sales_order_id` = #{salesOrderId} AND `status` IN ('WAITING_STOCK', 'PENDING')
|
|
</select>
|
|
<sql id="queryWhere">
|
|
1 = 1
|
|
<if test="storeId != null and storeId != ''">AND `store_id` = #{storeId}</if>
|
|
<if test="salesOrderId != null and salesOrderId != ''">AND `sales_order_id` = #{salesOrderId}</if>
|
|
<if test="customerId != null and customerId != ''">AND `customer_id` = #{customerId}</if>
|
|
<if test="status != null">AND `status` = #{status}</if>
|
|
<if test="beginAt != null">AND `delivered_at` >= #{beginAt}</if>
|
|
<if test="endAt != null">AND `delivered_at` <= #{endAt}</if>
|
|
</sql>
|
|
<select id="countByQuery" resultType="long">
|
|
SELECT COUNT(1) FROM `gao_order_fulfillment` WHERE <include refid="queryWhere"/>
|
|
</select>
|
|
<select id="selectByQuery" resultType="com.imyeyu.api.modules.gao.entity.GaoOrderFulfillment">
|
|
SELECT * FROM `gao_order_fulfillment`
|
|
WHERE <include refid="queryWhere"/>
|
|
ORDER BY `delivered_at` DESC, `created_at` DESC
|
|
LIMIT #{offset}, #{limit}
|
|
</select>
|
|
<update id="updateStatus">
|
|
UPDATE `gao_order_fulfillment`
|
|
SET `status` = #{status}, `verifier_user_id` = #{verifierUserId}, `verified_at` = #{verifiedAt},
|
|
`reason` = #{reason}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000)
|
|
WHERE `id` = #{id}
|
|
</update>
|
|
</mapper>
|