114 lines
5.8 KiB
XML
114 lines
5.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.zhwl.cinema.mapper.CinemaOrderVerificationMapper">
|
|
|
|
<resultMap type="ZdyTicketOrderDetail" id="detailResult">
|
|
<result property="id" column="detail_id"/>
|
|
<result property="orderItemId" column="detail_order_item_id"/>
|
|
<result property="userTouristId" column="detail_user_tourist_id"/>
|
|
<result property="identityCard" column="detail_identityCard"/>
|
|
<result property="userName" column="detail_userName"/>
|
|
<result property="mobilePhone" column="detail_mobilePhone"/>
|
|
<result property="paymentType" column="detail_payment_type"/>
|
|
<result property="verificationCode" column="detail_verification_code"/>
|
|
<result property="availableStartTime" column="detail_available_start_time"/>
|
|
<result property="availableEndTime" column="detail_available_end_time"/>
|
|
<result property="verificationType" column="detail_verification_type"/>
|
|
<result property="refundStatus" column="detail_refund_status"/>
|
|
<result property="verificationMun" column="detail_verification_mun"/>
|
|
<result property="canVerificationMun" column="detail_can_verification_mun"/>
|
|
<result property="activationStatus" column="detail_activation_status"/>
|
|
<result property="activationTime" column="detail_activation_time"/>
|
|
<result property="orderTime" column="detail_order_time"/>
|
|
<result property="paymentTime" column="detail_payment_time"/>
|
|
<result property="ticketPrice" column="detail_ticket_price"/>
|
|
<association property="orderDetailChildList" javaType="java.util.List" resultMap="childResult"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="ZdyTicketOrderDetailChildVo" id="childResult">
|
|
<result property="id" column="child_id"/>
|
|
<result property="orderDetailId" column="child_order_detail_id"/>
|
|
<result property="verificationCode" column="child_verification_code"/>
|
|
<result property="ticketId" column="child_ticket_id"/>
|
|
<result property="verificationType" column="child_verification_type"/>
|
|
<result property="verificationNum" column="child_verification_num"/>
|
|
<result property="canVerificationNum" column="child_can_verification_num"/>
|
|
<result property="dayVerificationNum" column="child_day_verification_num"/>
|
|
<result property="monthVerificationNum" column="child_month_verification_num"/>
|
|
</resultMap>
|
|
|
|
<sql id="selectVerification">
|
|
SELECT detail.id AS detail_id,
|
|
detail.order_item_id AS detail_order_item_id,
|
|
detail.user_tourist_id As detail_user_tourist_id,
|
|
detail.identity_card AS detail_identityCard,
|
|
detail.user_name AS detail_userName,
|
|
detail.payment_type AS detail_payment_type,
|
|
detail.verification_code AS detail_verification_code,
|
|
detail.available_start_time AS detail_available_start_time,
|
|
detail.available_end_time AS detail_available_end_time,
|
|
detail.verification_type AS detail_verification_type,
|
|
detail.refund_status AS detail_refund_status,
|
|
detail.verification_mun AS detail_verification_mun,
|
|
detail.can_verification_mun AS detail_can_verification_mun,
|
|
detail.order_time AS detail_order_time,
|
|
detail.payment_time AS detail_payment_time,
|
|
detail.ticket_price AS detail_ticket_price,
|
|
child.id as child_id,
|
|
child.ticket_id as child_ticket_id,
|
|
child.verification_type as child_verification_type,
|
|
child.verification_time as child_verification_time,
|
|
child.verification_num as child_verification_num,
|
|
child.can_verification_num as child_can_verification_num
|
|
FROM zdy_ticket_order_detail detail
|
|
LEFT JOIN zdy_ticket_order_detail_child child on detail.id = child.order_detail_id
|
|
|
|
</sql>
|
|
|
|
<select id="selectCinemaVerificationInfo" resultMap="detailResult">
|
|
<include refid="selectVerification"/>
|
|
<where>
|
|
detail.del_flag = '0'
|
|
AND detail.payment_type = 200
|
|
AND detail.refund_status IN (0, 100, 3)
|
|
AND detail.verification_type = 0
|
|
AND detail.available_start_time IS NOT NULL
|
|
and detail.can_verification_mun > detail.verification_mun
|
|
AND (NOW() BETWEEN detail.available_start_time AND detail.available_end_time)
|
|
<if test="detailId != null and detailId != '' ">
|
|
AND detail.id = #{detailId}
|
|
</if>
|
|
<if test="childId != null and childId != '' ">
|
|
AND child.id = #{childId}
|
|
</if>
|
|
<if test="verificationCode != null and verificationCode != '' and type == 2">
|
|
AND (detail.verification_code = #{verificationCode} or item.order_code = #{verificationCode})
|
|
</if>
|
|
<if test="identityCard != null and identityCard != '' and type == 1">
|
|
AND detail.identity_card = #{identityCard}
|
|
</if>
|
|
<if test="userName != null and userName != '' and type == 1">
|
|
AND detail.user_name = #{userName}
|
|
</if>
|
|
<if test="ticketIdList != null">
|
|
and (detail.ticket_id in
|
|
<foreach item="ticketId" collection="ticketIdList" open="(" separator="," close=")">
|
|
#{ticketId}
|
|
</foreach>
|
|
or child.ticket_id in
|
|
<foreach item="ticketId" collection="ticketIdList" open="(" separator="," close=")">
|
|
#{ticketId}
|
|
</foreach>
|
|
)
|
|
</if>
|
|
|
|
</where>
|
|
order by detail.available_end_time ASC, detail.payment_time desc
|
|
limit 1
|
|
</select>
|
|
|
|
|
|
</mapper>
|