eden-basic/src/main/resources/mapper/room/RoomBusinessInfoMapper.xml
2025-04-25 09:12:09 +08:00

141 lines
6.0 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.eden.room.mapper.RoomBusinessInfoMapper">
<resultMap type="RoomBusinessInfo" id="RoomBusinessInfoResult">
<result property="id" column="id"/>
<result property="tenantId" column="tenant_id"/>
<result property="roomId" column="room_id"/>
<result property="rentalStatus" column="rental_status"/>
<result property="businessStatus" column="business_status"/>
<result property="availableDate" column="available_date"/>
<result property="decorationStatus" column="decoration_status"/>
<result property="price" column="price"/>
<result property="priceUnit" column="price_unit"/>
<result property="floorPrice" column="floor_price"/>
<result property="floorPriceUnit" column="floor_price_unit"/>
<result property="businessNumber" column="business_number"/>
<result property="businessCondition" column="business_condition"/>
<result property="createTime" column="create_time"/>
<result property="lastModTime" column="last_mod_time"/>
<result property="createUserId" column="create_user_id"/>
<result property="lastModUserId" column="last_mod_user_id"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<sql id="selectRoomBusinessInfoVo">
select id, tenant_id, room_id, rental_status, business_status,
available_date, decoration_status, price, price_unit, floor_price,
floor_price_unit, business_number, business_condition,
create_time, last_mod_time, create_user_id, last_mod_user_id,
del_flag, remark
from TB_RES_ROOM_BUSINESS_INFO
</sql>
<select id="selectRoomBusinessInfoList" parameterType="RoomBusinessInfo" resultMap="RoomBusinessInfoResult">
<include refid="selectRoomBusinessInfoVo"/>
<where>
<if test="roomId != null and roomId != ''">
AND room_id = #{roomId}
</if>
<if test="rentalStatus != null and rentalStatus != ''">
AND rental_status = #{rentalStatus}
</if>
<if test="businessStatus != null and businessStatus != ''">
AND business_status = #{businessStatus}
</if>
<if test="decorationStatus != null and decorationStatus != ''">
AND decoration_status = #{decorationStatus}
</if>
AND del_flag = '0'
</where>
</select>
<select id="selectRoomBusinessInfoById" parameterType="Long" resultMap="RoomBusinessInfoResult">
<include refid="selectRoomBusinessInfoVo"/>
where id = #{id} and del_flag = '0'
</select>
<select id="selectRoomBusinessInfoByRoomId" parameterType="Long" resultMap="RoomBusinessInfoResult">
<include refid="selectRoomBusinessInfoVo"/>
where room_id = #{roomId} and del_flag = '0'
</select>
<insert id="batchInsertBusinessInfos" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into TB_RES_ROOM_BUSINESS_INFO
(
id,
room_id,
rental_status,
business_status,
available_date,
decoration_status,
price,
price_unit,
floor_price,
floor_price_unit,
business_number,
business_condition,
create_user_id,
last_mod_user_id,
del_flag,
remark,
create_time,
last_mod_time
)
values
<foreach collection="list" item="item" separator=",">
(
nextval('SEQ_ROOM_BUSINESS_INFO_1'), <!-- 直接调用序列生成 ID -->
#{item.roomId},
#{item.rentalStatus},
#{item.businessStatus},
#{item.availableDate},
#{item.decorationStatus},
#{item.price},
#{item.priceUnit},
#{item.floorPrice},
#{item.floorPriceUnit},
#{item.businessNumber},
#{item.businessCondition},
#{item.createUserId},
#{item.lastModUserId},
#{item.delFlag},
#{item.remark},
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP
)
</foreach>
</insert>
<update id="updateRoomBusinessInfo" parameterType="RoomBusinessInfo">
update TB_RES_ROOM_BUSINESS_INFO
<trim prefix="SET" suffixOverrides=",">
<if test="rentalStatus != null">rental_status = #{rentalStatus},</if>
<if test="businessStatus != null">business_status = #{businessStatus},</if>
<if test="availableDate != null">available_date = #{availableDate},</if>
<if test="decorationStatus != null">decoration_status = #{decorationStatus},</if>
<if test="price != null">price = #{price},</if>
<if test="priceUnit != null">price_unit = #{priceUnit},</if>
<if test="floorPrice != null">floor_price = #{floorPrice},</if>
<if test="floorPriceUnit != null">floor_price_unit = #{floorPriceUnit},</if>
<if test="businessNumber != null">business_number = #{businessNumber},</if>
<if test="businessCondition != null">business_condition = #{businessCondition},</if>
<if test="lastModUserId != null">last_mod_user_id = #{lastModUserId},</if>
<if test="remark != null">remark = #{remark},</if>
last_mod_time = CURRENT_TIMESTAMP
</trim>
where room_id = #{roomId} and del_flag = '0'
</update>
<update id="deleteRoomBusinessInfoById" parameterType="Long">
update TB_RES_ROOM_BUSINESS_INFO set del_flag = '1' where id = #{id} and del_flag = '0'
</update>
<update id="deleteRoomBusinessInfoByRoomId" parameterType="Long">
update TB_RES_ROOM_BUSINESS_INFO set del_flag = '1' where room_id = #{roomId} and del_flag = '0'
</update>
</mapper>