blob: a79ee9b25648eb37c879b8c09ec1d963e3a90e0b [file] [log] [blame]
<?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.ruoyi.web.controller.post.mapper.PostFavoriteMapper">
<resultMap type="PostFavorite" id="PostFavoriteResult">
<id property="favoriteId" column="favorite_id" />
<result property="postId" column="post_id" />
<result property="userId" column="user_id" />
<result property="postTitle" column="post_title" />
<result property="postCover" column="post_cover" />
<result property="status" column="status" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectPostFavoriteVo">
select favorite_id, post_id, user_id, post_title, post_cover, status,
create_by, create_time, update_by, update_time, remark
from post_favorite
</sql>
<select id="selectPostFavoriteList" parameterType="PostFavorite" resultMap="PostFavoriteResult">
<include refid="selectPostFavoriteVo"/>
<where>
<if test="postId != null">
AND post_id = #{postId}
</if>
<if test="userId != null">
AND user_id = #{userId}
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
</where>
order by create_time desc
</select>
<select id="selectPostFavoriteById" parameterType="Long" resultMap="PostFavoriteResult">
<include refid="selectPostFavoriteVo"/>
where favorite_id = #{favoriteId}
</select>
<select id="selectPostFavoriteByPostIdAndUserId" resultMap="PostFavoriteResult">
<include refid="selectPostFavoriteVo"/>
where post_id = #{postId} and user_id = #{userId}
</select>
<insert id="insertPostFavorite" parameterType="PostFavorite" useGeneratedKeys="true" keyProperty="favoriteId">
insert into post_favorite (
post_id,
user_id,
post_title,
post_cover,
status,
create_by,
create_time,
update_by,
update_time,
remark
) values (
#{postId},
#{userId},
#{postTitle},
#{postCover},
#{status},
#{createBy},
now(),
#{updateBy},
now(),
#{remark}
)
</insert>
<update id="updatePostFavorite" parameterType="PostFavorite">
update post_favorite
<set>
<if test="status != null and status != ''">status = #{status},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = now(),
<if test="remark != null">remark = #{remark},</if>
</set>
where favorite_id = #{favoriteId}
</update>
<delete id="deletePostFavoriteById" parameterType="Long">
delete from post_favorite where favorite_id = #{favoriteId}
</delete>
<delete id="deletePostFavoriteByIds" parameterType="Long">
delete from post_favorite where favorite_id in
<foreach collection="array" item="favoriteId" open="(" separator="," close=")">
#{favoriteId}
</foreach>
</delete>
<delete id="deletePostFavoriteByPostId" parameterType="Long">
delete from post_favorite where post_id = #{postId}
</delete>
<update id="cancelPostFavorite">
update post_favorite set status = '1', update_time = now()
where post_id = #{postId} and user_id = #{userId}
</update>
</mapper>