272 lines
11 KiB
XML
272 lines
11 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.TicketVoMapper">
|
|
|
|
<resultMap type = "CinemaTicketVo" id = "TicketResult">
|
|
<result property = "id" column = "id"/>
|
|
<result property = "ticketId" column = "ticket_id"/>
|
|
<result property = "movieId" column = "movie_id"/>
|
|
<result property = "movieName" column = "movie_name"/>
|
|
<result property = "movieLength" column = "movie_length"/>
|
|
<result property = "movieCategory" column = "movie_category"/>
|
|
<collection property = "venueList" javaType = "java.util.List" column = "movie_id" ofType = "VenueVo" select = "selectVenueList"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "VenueVo" id = "VenueResult">
|
|
<result property = "venueId" column = "venue_id"/>
|
|
<result property = "venueBeginDate" column = "venue_begin_date"/>
|
|
<result property = "venueEndDate" column = "venue_end_date"/>
|
|
<result property = "venueWeek" column = "venue_week"/>
|
|
<result property = "venueRest" column = "venue_rest"/>
|
|
<collection property = "itemList" javaType = "java.util.List" column = "venue_id" ofType = "ItemVo" select = "selectItemList"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "ItemVo" id = "ItemResult">
|
|
<result property = "itemId" column = "item_id"/>
|
|
<result property = "hallId" column = "hall_id"/>
|
|
<result property = "hallName" column = "hallName"/>
|
|
<result property = "seatNumsRow" column = "seat_nums_row"/>
|
|
<result property = "rowStart" column = "row_start"/>
|
|
<result property = "itemBeginTime" column = "item_begin_time"/>
|
|
<result property = "itemEndTime" column = "item_end_time"/>
|
|
<result property = "itemName" column = "item_name"/>
|
|
<result property = "itemRest" column = "item_rest"/>
|
|
<result property = "venueSeats" column = "venue_seats"/>
|
|
<result property = "seatNums" column = "seat_nums"/>
|
|
<result property = "saleNums" column = "sale_nums"/>
|
|
<collection property = "zoneList" column = "{hallId=hall_id,itemId=item_id}" ofType = "ZoneVo" select = "selectZoneList"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "ZoneVo" id = "ZoneResult">
|
|
<result property = "zoneId" column = "zone_id"/>
|
|
<result property = "zoneName" column = "zone_name"/>
|
|
<result property = "seatSet" column = "seat_set"/>
|
|
<association property = "price" javaType = "PriceVo" column = "{zoneId=zone_id,itemId=item_id}" select = "selectPriceInfo"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "PriceVo" id = "selectPriceResult">
|
|
<result property = "id" column = "id"/>
|
|
<result property = "price" column = "price"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "WindowHallVo" id = "WindowHallVoResult">
|
|
<result property = "itemId" column = "item_id"/>
|
|
<result property = "hallId" column = "hall_id"/>
|
|
<result property = "venueSeats" column = "venue_seats"/>
|
|
<result property = "seatNums" column = "seat_nums"/>
|
|
<result property = "saleNums" column = "sale_nums"/>
|
|
<result property = "seatNumsRow" column = "seat_nums_row"/>
|
|
<result property = "rowStart" column = "row_start"/>
|
|
<collection property = "saleList"
|
|
column = "{hallId=hall_id,itemId=item_id}"
|
|
ofType = "ZdyCinemaSaleTemp"
|
|
select = "selectTempList"/>
|
|
<collection property = "zoneList" javaType = "java.util.List" resultMap = "ZoneResult"/>
|
|
</resultMap>
|
|
|
|
<resultMap type = "ZdyCinemaSaleTemp" id = "ZdyCinemaSaleTempResult">
|
|
<result property = "id" column = "id"/>
|
|
<result property = "tikcetId" column = "tikcet_id"/>
|
|
<result property = "movieId" column = "movie_id"/>
|
|
<result property = "venueId" column = "venue_id"/>
|
|
<result property = "itemId" column = "item_id"/>
|
|
<result property = "hallId" column = "hall_id"/>
|
|
<result property = "zoneId" column = "zone_id"/>
|
|
<result property = "priceId" column = "price_id"/>
|
|
<result property = "salePrice" column = "sale_price"/>
|
|
<result property = "rowNum" column = "row_num"/>
|
|
<result property = "seatNum" column = "seat_num"/>
|
|
<result property = "seatState" column = "seat_state"/>
|
|
<result property = "lockSeat" column = "lock_seat"/>
|
|
<result property = "saleTime" column = "sale_time"/>
|
|
</resultMap>
|
|
|
|
<sql id = "ticketSql">
|
|
SELECT a.id,
|
|
a.ticket_id,
|
|
a.movie_id,
|
|
movie.movie_name,
|
|
movie.movie_length,
|
|
movie.movie_category
|
|
FROM zdy_cinema_ticket a
|
|
LEFT JOIN zdy_cinema_movie movie ON a.movie_id = movie.movie_id
|
|
</sql>
|
|
|
|
<select id = "selectTicketVoList" parameterType = "CinemaTicketVo" resultMap = "TicketResult">
|
|
<include refid = "ticketSql"/>
|
|
<where>
|
|
<if test = "movieId != null ">and movie_id = #{movieId}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id = "selectVenueList" parameterType = "Long" resultMap = "VenueResult">
|
|
select venue_id,
|
|
venue_begin_date,
|
|
venue_end_date,
|
|
venue_week,
|
|
venue_rest
|
|
from zdy_cinema_movie_venue
|
|
where movie_id = #{movieId}
|
|
ORDER BY venue_begin_date
|
|
</select>
|
|
|
|
<select id = "selectItemList" parameterType = "Long" resultMap = "ItemResult">
|
|
SELECT b.item_id,
|
|
b.hall_id,
|
|
b.item_begin_time,
|
|
b.item_end_time,
|
|
b.item_name,
|
|
b.item_rest,
|
|
b.venue_seats,
|
|
b.seat_nums,
|
|
b.sale_nums,
|
|
hall.seat_nums_row,
|
|
hall.row_start,
|
|
hall.hall_name AS hallName
|
|
FROM zdy_cinema_movie_venue_item b
|
|
LEFT JOIN zdy_cinema_hall hall ON b.hall_id = hall.hall_id
|
|
where b.venue_id = #{venueId}
|
|
ORDER BY b.item_begin_time
|
|
</select>
|
|
|
|
<select id = "selectZoneList" resultMap = "ZoneResult">
|
|
select a.zone_id,
|
|
a.hall_id,
|
|
a.zone_name,
|
|
a.seat_set,
|
|
zcmvi.item_id
|
|
from zdy_cinema_hall_zone a
|
|
left join zdy_cinema_movie_venue_item zcmvi on a.hall_id = zcmvi.hall_id
|
|
where a.hall_id = #{hallId}
|
|
and zcmvi.item_id = #{itemId}
|
|
</select>
|
|
|
|
<select id = "selectTempList" resultMap = "ZdyCinemaSaleTempResult">
|
|
select id,
|
|
tikcet_id,
|
|
movie_id,
|
|
venue_id,
|
|
item_id,
|
|
hall_id,
|
|
zone_id,
|
|
price_id,
|
|
sale_price,
|
|
row_num,
|
|
seat_num,
|
|
seat_state,
|
|
sale_time,
|
|
lock_seat
|
|
from zdy_cinema_sale_temp
|
|
where hall_id = #{hallId}
|
|
and item_id = #{itemId}
|
|
order by row_num, id
|
|
</select>
|
|
|
|
|
|
<select id = "selectPriceInfo" parameterType = "java.util.Map" resultMap = "selectPriceResult">
|
|
select id,
|
|
zone_id,
|
|
item_id,
|
|
price
|
|
from zdy_cinema_ticket_price
|
|
where zone_id = #{zoneId}
|
|
and item_id = #{itemId}
|
|
</select>
|
|
|
|
<select id = "selectTicketVoInfo" parameterType = "Long" resultMap = "TicketResult">
|
|
<include refid = "ticketSql"/>
|
|
where a.ticket_id = #{ticketId}
|
|
</select>
|
|
|
|
<select id = "checkMovieInTicket" parameterType = "Long" resultType = "Integer">
|
|
select count(id)
|
|
from zdy_cinema_ticket
|
|
where movie_id = #{movieId}
|
|
</select>
|
|
|
|
<select id = "selectItemInfo" parameterType = "ZdyCinemaSaleTemp" resultMap = "WindowHallVoResult">
|
|
SELECT b.item_id,
|
|
b.hall_id,
|
|
b.item_begin_time,
|
|
b.item_end_time,
|
|
b.item_name,
|
|
b.item_rest,
|
|
b.venue_seats,
|
|
b.seat_nums,
|
|
b.sale_nums,
|
|
hall.hall_name AS hallName,
|
|
hall.seat_nums_row,
|
|
hall.row_start,
|
|
a.zone_id,
|
|
a.hall_id,
|
|
a.zone_name,
|
|
a.seat_set
|
|
FROM zdy_cinema_movie_venue_item b
|
|
LEFT JOIN zdy_cinema_hall hall ON b.hall_id = hall.hall_id
|
|
LEFT JOIN zdy_cinema_hall_zone a ON a.hall_id = hall.hall_id
|
|
where b.hall_id = #{hallId}
|
|
and b.item_id = #{itemId}
|
|
</select>
|
|
|
|
<select id="existsByGroundingFlagAndMovieId" resultType="java.lang.Boolean">
|
|
select exists(
|
|
SELECT 1
|
|
FROM zdy_cinema_ticket zct
|
|
LEFT JOIN zdy_ticket zt on zct.ticket_id = zt.id
|
|
WHERE zct.movie_id = #{movieId}
|
|
AND zt.grounding_flag = #{groundingFlag})
|
|
</select>
|
|
|
|
<select id="existsByGroundingFlagAndMovieIds" resultType="java.lang.Boolean">
|
|
select exists(
|
|
SELECT 1
|
|
FROM zdy_cinema_ticket zct
|
|
LEFT JOIN zdy_ticket zt on zct.ticket_id = zt.id
|
|
WHERE zct.movie_id in
|
|
<foreach item="movieId" collection="movieIds" open="(" separator="," close=")">
|
|
#{movieId}
|
|
</foreach>
|
|
AND zt.grounding_flag = #{groundingFlag})
|
|
</select>
|
|
|
|
<select id="existsByGroundingFlagAndHallId" resultType="java.lang.Boolean">
|
|
select exists(SELECT 1
|
|
FROM zdy_cinema_movie_venue_item zcmvi
|
|
LEFT JOIN zdy_cinema_movie_venue zcmv ON zcmv.venue_id = zcmvi.venue_id
|
|
LEFT JOIN zdy_cinema_ticket zct ON zct.movie_id = zcmv.movie_id
|
|
LEFT JOIN zdy_ticket zt ON zct.ticket_id = zt.id
|
|
WHERE zcmvi.hall_id = #{hallId}
|
|
AND zt.grounding_flag = #{groundingFlag})
|
|
</select>
|
|
|
|
<select id="existsByHallIds" resultType="java.lang.Boolean">
|
|
select exists(
|
|
SELECT
|
|
1
|
|
FROM
|
|
zdy_cinema_movie_venue_item zcmvi
|
|
LEFT JOIN zdy_cinema_movie_venue zcmv ON zcmv.venue_id = zcmvi.venue_id
|
|
LEFT JOIN zdy_cinema_movie zcm on zcm.movie_id = zcmv.movie_id
|
|
LEFT JOIN zdy_cinema_ticket zct ON zct.movie_id = zcmv.movie_id
|
|
LEFT JOIN zdy_ticket zt ON zct.ticket_id = zt.id
|
|
WHERE
|
|
zcm.del_state = 0
|
|
AND zcmvi.hall_id in
|
|
<foreach item="hallId" collection="hallIds" open="(" separator="," close=")">
|
|
#{hallId}
|
|
</foreach>
|
|
)
|
|
</select>
|
|
|
|
<select id="existsByHallId" parameterType="java.lang.Long" resultType="java.lang.Boolean">
|
|
select exists(SELECT 1
|
|
FROM zdy_cinema_movie_venue_item zcmvi
|
|
LEFT JOIN zdy_cinema_movie_venue zcmv ON zcmv.venue_id = zcmvi.venue_id
|
|
LEFT JOIN zdy_cinema_movie zcm on zcm.movie_id = zcmv.movie_id
|
|
LEFT JOIN zdy_cinema_ticket zct ON zct.movie_id = zcmv.movie_id
|
|
LEFT JOIN zdy_ticket zt ON zct.ticket_id = zt.id
|
|
WHERE
|
|
zcm.del_state = 0
|
|
AND zcmvi.hall_id = #{hallId})
|
|
</select>
|
|
</mapper> |