zhwl/zhwl-business/zhwl-ticket/target/classes/mapper/ticket/ZdyTicketChildMapper.xml
2025-07-01 17:54:58 +08:00

182 lines
8.9 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.ticket.mapper.ZdyTicketChildMapper">
<resultMap type = "ZdyTicketChild" id = "ZdyTicketChildResult">
<result property = "ticketId" column = "ticket_id"/>
<result property = "childTicketId" column = "child_ticket_id"/>
<result property = "childTicketName" column = "child_ticket_name"/>
<result property = "canVerificationNum" column = "can_verification_num"/>
<result property = "dayVerificationNum" column = "day_verification_num"/>
<result property = "monthVerificationNum" column = "month_verification_num"/>
<result property = "isUnlimited" column = "is_unlimited"/>
<result property = "childScenicId" column = "child_scenic_id"/>
<result property = "settlementPrice" column = "settlement_price"/>
<result property = "rights" column = "rights"/>
<result property = "salesRice" column = "sales_rice"/>
<result property = "price" column = "price"/>
<result property = "image11" column = "image11"/>
<result property = "childScenicName" column = "child_scenic_name"/>
<association property="zdyScenic" javaType="ZdyScenic" resultMap="ZdyScenicResult"/>
</resultMap>
<resultMap type = "ZdyScenic" id = "ZdyScenicResult">
<result property = "id" column = "child_scenic_id"/>
<result property = "scenicName" column = "child_scenic_name"/>
<result property = "scenicLevel" column = "child_scenic_level"/>
<result property = "imagePage" column = "child_image_page"/>
<result property = "scenicLevelName" column = "child_scenic_level_name"/>
<collection property = "tagList" javaType = "java.util.List" ofType = "ZdyScenicTags"
select = "selectZdyScenicTagsByScenicId" column = "child_scenic_id"/>
</resultMap>
<resultMap type = "ZdyScenicTags" id = "ZdyScenicTagsResult">
<result property = "id" column = "tag_id"/>
<result property = "name" column = "tag_name"/>
<result property = "scenicId" column = "tag_scenic_id"/>
</resultMap>
<select id = "selectZdyScenicTagsByScenicId" parameterType = "Long" resultMap = "ZdyScenicTagsResult">
select id as tag_id, name as tag_name, scenic_id as tag_scenic_id
from zdy_scenic_tags
where scenic_id = #{child_scenic_id}
</select>
<sql id = "selectZdyTicketChildVo">
select child.ticket_id,
child.child_ticket_id,
child.child_ticket_name,
child.can_verification_num,
child.day_verification_num,
child.month_verification_num,
child.is_unlimited,
child.child_scenic_id,
child.settlement_price,
child.rights,
ticket.sales_rice,
ticket.price,
ticket.image11,
sc.scenic_name as child_scenic_name,
sc.scenic_level as child_scenic_level,
sc.id as child_scenic_id,
sc.image_page as child_image_page,
sdd.dict_label as child_scenic_level_name
from zdy_ticket_child child
left join zdy_scenic sc on child.child_scenic_id = sc.id
left join zdy_ticket ticket on child.child_ticket_id = ticket.id
left join sys_dict_data sdd on sdd.dict_value = sc.scenic_level and sdd.dict_type='scenic_level'
</sql>
<select id = "selectZdyTicketChildList" parameterType = "ZdyTicketChild" resultMap = "ZdyTicketChildResult">
<include refid = "selectZdyTicketChildVo"/>
<where>
<choose>
<when test = "childTicketIds != null and childTicketIds.length != 0">
and child.child_ticket_id in
<foreach item = "item" collection = "childTicketIds" open = "(" separator = "," close = ")">
#{item}
</foreach>
</when>
<otherwise>
<if test = "childTicketId != null ">
and child.child_ticket_id = #{childTicketId}
</if>
</otherwise>
</choose>
<if test = "ticketId != null ">
and child.ticket_id = #{ticketId}
</if>
<if test = "childTicketName != null and childTicketName != ''">
and child.child_ticket_name like concat('%', #{childTicketName}, '%')
</if>
</where>
</select>
<select id = "selectZdyTicketChildByTicketId" parameterType = "Long" resultMap = "ZdyTicketChildResult">
<include refid = "selectZdyTicketChildVo"/>
where child.ticket_id = #{ticketId}
</select>
<insert id = "insertZdyTicketChild" parameterType = "ZdyTicketChild">
insert into zdy_ticket_child
<trim prefix = "(" suffix = ")" suffixOverrides = ",">
<if test = "ticketId != null">ticket_id,</if>
<if test = "childTicketId != null">child_ticket_id,</if>
<if test = "childTicketName != null">child_ticket_name,</if>
<if test = "canVerificationNum != null">can_verification_num,</if>
<if test = "dayVerificationNum != null">day_verification_num,</if>
<if test = "monthVerificationNum != null">month_verification_num,</if>
<if test = "isUnlimited != null">is_unlimited,</if>
<if test = "childScenicId != null">child_scenic_id,</if>
<if test = "settlementPrice != null">settlement_price,</if>
<if test = "rights != null">rights,</if>
</trim>
<trim prefix = "values (" suffix = ")" suffixOverrides = ",">
<if test = "ticketId != null">#{ticketId},</if>
<if test = "childTicketId != null">#{childTicketId},</if>
<if test = "childTicketName != null">#{childTicketName},</if>
<if test = "canVerificationNum != null">#{canVerificationNum},</if>
<if test = "dayVerificationNum != null">#{dayVerificationNum},</if>
<if test = "monthVerificationNum != null">#{monthVerificationNum},</if>
<if test = "isUnlimited != null">#{isUnlimited},</if>
<if test = "childScenicId != null">#{childScenicId},</if>
<if test = "settlementPrice != null">#{settlementPrice},</if>
<if test = "rights != null">#{rights},</if>
</trim>
</insert>
<update id = "updateZdyTicketChild" parameterType = "ZdyTicketChild">
update zdy_ticket_child
<trim prefix = "SET" suffixOverrides = ",">
<if test = "childTicketId != null">child_ticket_id = #{childTicketId},</if>
<if test = "childTicketName != null">child_ticket_name = #{childTicketName},</if>
<if test = "canVerificationNum != null">can_verification_num = #{canVerificationNum},</if>
<if test = "dayVerificationNum != null">day_verification_num = #{dayVerificationNum},</if>
<if test = "monthVerificationNum != null">month_verification_num = #{monthVerificationNum},</if>
<if test = "isUnlimited != null">is_unlimited = #{isUnlimited},</if>
<if test = "childScenicId != null">child_scenic_id = #{childScenicId},</if>
<if test = "settlementPrice != null">settlement_price = #{settlementPrice},</if>
<if test = "rights != null">rights = #{rights},</if>
</trim>
where ticket_id = #{ticketId}
</update>
<delete id = "deleteZdyTicketChildByTicketId" parameterType = "Long">
delete
from zdy_ticket_child
where ticket_id = #{ticketId}
</delete>
<delete id = "deleteZdyTicketChildByTicketIds" parameterType = "String">
delete from zdy_ticket_child where ticket_id in
<foreach item = "ticketId" collection = "array" open = "(" separator = "," close = ")">
#{ticketId}
</foreach>
</delete>
<select id = "selectZdyTicketChildByTicketIdAndChild" resultMap = "ZdyTicketChildResult">
<include refid = "selectZdyTicketChildVo"/>
where child.ticket_id = #{ticketId} and child.child_ticket_id = #{childTicketId} limit 1
</select>
<select id="selectTicketIdByChildId" resultType="java.util.Map">
select c.ticket_id as ticketId ,GROUP_CONCAT( c.child_ticket_id ) as childTicketIds from zdy_ticket_child c
left join zdy_ticket t on t.id=c.ticket_id
where t.classify='8' and t.del_flag='0'
<choose>
<when test="list!=null and list.size() > 0">
and c.child_ticket_id in
<foreach collection="list" item="childTicketId" open="(" close=")" separator=",">
#{childTicketId}
</foreach>
</when>
<otherwise>
and 0=1
</otherwise>
</choose>
GROUP BY c.ticket_id
</select>
</mapper>