<?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.PointsExchangeOrderMapper">
|
|
<sql id="PointsExchangeOrderWhere">
|
WHERE o.deleted = 0
|
<if test="giftName != null and giftName.trim() != ''">
|
AND o.gift_name LIKE CONCAT('%', #{giftName}, '%')
|
</if>
|
<if test="receiverPhone != null and receiverPhone.trim() != ''">
|
AND (
|
au.phone LIKE CONCAT('%', #{receiverPhone}, '%')
|
OR (o.clinic_app_user_id IS NULL AND o.receiver_phone LIKE CONCAT('%', #{receiverPhone}, '%'))
|
)
|
</if>
|
<if test="status != null">
|
AND o.status = #{status}
|
</if>
|
<if test="createdFrom != null">
|
AND o.created_at <![CDATA[>=]]> #{createdFrom}
|
</if>
|
<if test="createdTo != null">
|
AND o.created_at <![CDATA[<=]]> #{createdTo}
|
</if>
|
</sql>
|
|
<select id="selectOrderPage" resultType="com.tcm.training.admin.points.row.PointsExchangeOrderRow">
|
SELECT
|
o.id,
|
o.order_no AS orderNo,
|
o.gift_name AS giftName,
|
o.required_points AS requiredPoints,
|
o.activity_start_at AS activityStartAt,
|
o.activity_end_at AS activityEndAt,
|
COALESCE(c.name, o.clinic_name) AS clinicName,
|
COALESCE(c.name, o.receiver_name) AS receiverClinicName,
|
COALESCE(au.phone, o.receiver_phone) AS receiverPhone,
|
COALESCE(c.address, o.receiver_address) AS receiverAddress,
|
o.item_count AS itemCount,
|
o.total_points AS totalPoints,
|
o.status,
|
o.tracking_no AS trackingNo,
|
o.shipped_at AS shippedAt,
|
o.created_at AS createdAt
|
FROM tcm_points_exchange_order o
|
LEFT JOIN tcm_app_user au ON au.id = o.clinic_app_user_id AND au.deleted = 0
|
LEFT JOIN tcm_clinic c ON c.id = au.clinic_id AND c.deleted = 0
|
<include refid="PointsExchangeOrderWhere"/>
|
ORDER BY o.id DESC
|
</select>
|
|
<select id="selectOrderList" resultType="com.tcm.training.admin.points.row.PointsExchangeOrderRow">
|
SELECT
|
o.id,
|
o.order_no AS orderNo,
|
o.gift_name AS giftName,
|
o.required_points AS requiredPoints,
|
o.activity_start_at AS activityStartAt,
|
o.activity_end_at AS activityEndAt,
|
COALESCE(c.name, o.clinic_name) AS clinicName,
|
COALESCE(c.name, o.receiver_name) AS receiverClinicName,
|
COALESCE(au.phone, o.receiver_phone) AS receiverPhone,
|
COALESCE(c.address, o.receiver_address) AS receiverAddress,
|
o.item_count AS itemCount,
|
o.total_points AS totalPoints,
|
o.status,
|
o.tracking_no AS trackingNo,
|
o.shipped_at AS shippedAt,
|
o.created_at AS createdAt
|
FROM tcm_points_exchange_order o
|
LEFT JOIN tcm_app_user au ON au.id = o.clinic_app_user_id AND au.deleted = 0
|
LEFT JOIN tcm_clinic c ON c.id = au.clinic_id AND c.deleted = 0
|
<include refid="PointsExchangeOrderWhere"/>
|
ORDER BY o.id DESC
|
</select>
|
|
</mapper>
|