<?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.tcm.training.admin.points.mapper.PointsExchangeOrderItemMapper">
|
|
<sql id="PointsExchangeItemColumns">
|
i.id,
|
i.order_id AS orderId,
|
i.order_no AS orderNo,
|
i.app_user_id AS appUserId,
|
i.user_nickname AS buyerNickname,
|
i.user_phone AS buyerPhone,
|
i.clinic_name AS clinicName,
|
i.settled_points AS settledPoints,
|
o.gift_name AS giftName,
|
o.required_points AS requiredPoints,
|
o.receiver_name AS receiverName,
|
o.receiver_phone AS receiverPhone,
|
o.receiver_address AS receiverAddress,
|
i.status,
|
i.tracking_no AS trackingNo,
|
i.shipped_at AS shippedAt,
|
i.created_at AS createdAt,
|
o.gift_cover AS giftCover,
|
o.activity_start_at AS activityStartAt,
|
o.activity_end_at AS activityEndAt
|
</sql>
|
|
<sql id="PointsExchangeItemDetailExtraColumns">
|
,
|
i.completed_at AS completedAt,
|
i.cancelled_at AS cancelledAt,
|
u.created_at AS buyerCreatedAt
|
</sql>
|
|
<sql id="PointsExchangeItemWhere">
|
WHERE i.deleted = 0
|
<if test="orderId != null">
|
AND i.order_id = #{orderId}
|
</if>
|
<if test="orderNo != null and orderNo.trim() != ''">
|
AND i.order_no LIKE CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="buyerPhone != null and buyerPhone.trim() != ''">
|
AND i.user_phone LIKE CONCAT('%', #{buyerPhone}, '%')
|
</if>
|
<if test="giftName != null and giftName.trim() != ''">
|
AND o.gift_name LIKE CONCAT('%', #{giftName}, '%')
|
</if>
|
<if test="receiverPhone != null and receiverPhone.trim() != ''">
|
AND o.receiver_phone LIKE CONCAT('%', #{receiverPhone}, '%')
|
</if>
|
<if test="status != null">
|
AND i.status = #{status}
|
</if>
|
<if test="createdFrom != null">
|
AND i.created_at <![CDATA[>=]]> #{createdFrom}
|
</if>
|
<if test="createdTo != null">
|
AND i.created_at <![CDATA[<=]]> #{createdTo}
|
</if>
|
</sql>
|
|
<select id="selectItemPage" resultType="com.tcm.training.admin.points.row.PointsExchangeItemRow">
|
SELECT
|
<include refid="PointsExchangeItemColumns"/>
|
FROM tcm_points_exchange_order_item i
|
LEFT JOIN tcm_points_exchange_order o ON o.id = i.order_id AND o.deleted = 0
|
<include refid="PointsExchangeItemWhere"/>
|
ORDER BY i.id DESC
|
</select>
|
|
<select id="selectItemList" resultType="com.tcm.training.admin.points.row.PointsExchangeItemRow">
|
SELECT
|
<include refid="PointsExchangeItemColumns"/>
|
FROM tcm_points_exchange_order_item i
|
LEFT JOIN tcm_points_exchange_order o ON o.id = i.order_id AND o.deleted = 0
|
<include refid="PointsExchangeItemWhere"/>
|
ORDER BY i.id DESC
|
</select>
|
|
<select id="selectItemDetail" resultType="com.tcm.training.admin.points.row.PointsExchangeItemRow">
|
SELECT
|
<include refid="PointsExchangeItemColumns"/>
|
<include refid="PointsExchangeItemDetailExtraColumns"/>
|
FROM tcm_points_exchange_order_item i
|
LEFT JOIN tcm_points_exchange_order o ON o.id = i.order_id AND o.deleted = 0
|
LEFT JOIN tcm_app_user u ON u.id = i.app_user_id AND u.deleted = 0
|
WHERE i.deleted = 0
|
AND i.id = #{id}
|
LIMIT 1
|
</select>
|
|
<select id="selectAppItemPage" resultType="com.tcm.training.admin.points.row.PointsExchangeItemRow">
|
SELECT
|
<include refid="PointsExchangeItemColumns"/>
|
<include refid="PointsExchangeItemDetailExtraColumns"/>
|
FROM tcm_points_exchange_order_item i
|
LEFT JOIN tcm_points_exchange_order o ON o.id = i.order_id AND o.deleted = 0
|
LEFT JOIN tcm_app_user u ON u.id = i.app_user_id AND u.deleted = 0
|
WHERE i.deleted = 0
|
AND i.app_user_id = #{appUserId}
|
<if test="status != null">
|
AND i.status = #{status}
|
</if>
|
ORDER BY i.id DESC
|
</select>
|
|
<select id="selectAppItemDetail" resultType="com.tcm.training.admin.points.row.PointsExchangeItemRow">
|
SELECT
|
<include refid="PointsExchangeItemColumns"/>
|
<include refid="PointsExchangeItemDetailExtraColumns"/>
|
FROM tcm_points_exchange_order_item i
|
LEFT JOIN tcm_points_exchange_order o ON o.id = i.order_id AND o.deleted = 0
|
LEFT JOIN tcm_app_user u ON u.id = i.app_user_id AND u.deleted = 0
|
WHERE i.deleted = 0
|
AND i.id = #{id}
|
AND i.app_user_id = #{appUserId}
|
LIMIT 1
|
</select>
|
|
</mapper>
|