add:新增知识库功能
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?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.boge.modules.knowledge.service.dao.CommentMapper">
|
||||
|
||||
<!-- 评论VO结果映射 -->
|
||||
<resultMap id="commentVOMap" type="com.boge.modules.knowledge.service.dto.CommentVO">
|
||||
<id column="id" property="id"/>
|
||||
<result column="knowledge_id" property="knowledgeId"/>
|
||||
<result column="user_id" property="userId"/>
|
||||
<result column="username" property="username"/>
|
||||
<result column="nickname" property="nickname"/>
|
||||
<result column="user_avatar" property="userAvatar"/>
|
||||
<result column="parent_id" property="parentId"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="like_count" property="likeCount"/>
|
||||
<result column="status" property="status"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询评论列表 -->
|
||||
<select id="queryPage" resultMap="commentVOMap">
|
||||
SELECT
|
||||
c.id,
|
||||
c.knowledge_id,
|
||||
c.user_id,
|
||||
u.username,
|
||||
u.nickname,
|
||||
u.img AS user_avatar,
|
||||
c.parent_id,
|
||||
c.content,
|
||||
c.like_count,
|
||||
c.status,
|
||||
c.create_time
|
||||
FROM comment c
|
||||
LEFT JOIN sys_user u ON c.user_id = u.user_id
|
||||
<where>
|
||||
c.status = 1
|
||||
<if test="knowledgeId != null">
|
||||
AND c.knowledge_id = #{knowledgeId}
|
||||
</if>
|
||||
<if test="parentId != null">
|
||||
AND c.parent_id = #{parentId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY c.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 增加评论点赞数 -->
|
||||
<update id="increaseLikeCount">
|
||||
UPDATE comment
|
||||
SET like_count = like_count + 1
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!-- 减少评论点赞数 -->
|
||||
<update id="decreaseLikeCount">
|
||||
UPDATE comment
|
||||
SET like_count = CASE WHEN like_count > 0 THEN like_count - 1 ELSE 0 END
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,149 @@
|
||||
<?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.boge.modules.knowledge.service.dao.KnowledgeMapper">
|
||||
|
||||
<!-- 知识文档VO结果映射 -->
|
||||
<resultMap id="knowledgeVOMap" type="com.boge.modules.knowledge.service.dto.KnowledgeVO">
|
||||
<id column="id" property="id"/>
|
||||
<result column="title" property="title"/>
|
||||
<result column="subtitle" property="subtitle"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="summary" property="summary"/>
|
||||
<result column="category_id" property="categoryId"/>
|
||||
<result column="author_id" property="authorId"/>
|
||||
<result column="author_name" property="authorName"/>
|
||||
<result column="cover_image" property="coverImage"/>
|
||||
<result column="view_count" property="viewCount"/>
|
||||
<result column="like_count" property="likeCount"/>
|
||||
<result column="collect_count" property="collectCount"/>
|
||||
<result column="version" property="version"/>
|
||||
<result column="status" property="status"/>
|
||||
<result column="publish_time" property="publishTime"/>
|
||||
<result column="expire_time" property="expireTime"/>
|
||||
<result column="is_top" property="isTop"/>
|
||||
<result column="tags" property="tags"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询知识文档列表 -->
|
||||
<select id="queryPage" resultMap="knowledgeVOMap">
|
||||
SELECT
|
||||
k.id,
|
||||
k.title,
|
||||
k.subtitle,
|
||||
k.summary,
|
||||
k.category_id,
|
||||
k.author_id,
|
||||
u.username AS author_name,
|
||||
k.cover_image,
|
||||
k.view_count,
|
||||
k.like_count,
|
||||
k.collect_count,
|
||||
k.version,
|
||||
k.status,
|
||||
k.publish_time,
|
||||
k.expire_time,
|
||||
k.is_top,
|
||||
k.tags,
|
||||
k.create_time,
|
||||
k.update_time
|
||||
FROM knowledge k
|
||||
LEFT JOIN sys_user u ON k.author_id = u.user_id
|
||||
<where>
|
||||
<if test="query.title != null and query.title != ''">
|
||||
AND k.title LIKE CONCAT('%', #{query.title}, '%')
|
||||
</if>
|
||||
<if test="query.categoryId != null">
|
||||
AND k.category_id = #{query.categoryId}
|
||||
</if>
|
||||
<if test="query.authorId != null">
|
||||
AND k.author_id = #{query.authorId}
|
||||
</if>
|
||||
<if test="query.status != null and query.status != ''">
|
||||
AND k.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.tag != null and query.tag != ''">
|
||||
AND FIND_IN_SET(#{query.tag}, k.tags)
|
||||
</if>
|
||||
<if test="query.isTop != null">
|
||||
AND k.is_top = #{query.isTop}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="query.orderBy == 'view_count'">
|
||||
k.view_count
|
||||
</when>
|
||||
<when test="query.orderBy == 'like_count'">
|
||||
k.like_count
|
||||
</when>
|
||||
<when test="query.orderBy == 'publish_time'">
|
||||
k.publish_time
|
||||
</when>
|
||||
<otherwise>
|
||||
k.create_time
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="query.order == 'asc'">
|
||||
ASC
|
||||
</when>
|
||||
<otherwise>
|
||||
DESC
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<!-- 根据ID查询知识文档详情 -->
|
||||
<select id="getKnowledgeDetail" resultMap="knowledgeVOMap">
|
||||
SELECT
|
||||
k.id,
|
||||
k.title,
|
||||
k.subtitle,
|
||||
k.content,
|
||||
k.plain_content,
|
||||
k.summary,
|
||||
k.category_id,
|
||||
k.author_id,
|
||||
u.username AS author_name,
|
||||
k.cover_image,
|
||||
k.view_count,
|
||||
k.like_count,
|
||||
k.collect_count,
|
||||
k.version,
|
||||
k.status,
|
||||
k.publish_time,
|
||||
k.expire_time,
|
||||
k.is_top,
|
||||
k.tags,
|
||||
k.create_time,
|
||||
k.update_time
|
||||
FROM knowledge k
|
||||
LEFT JOIN sys_user u ON k.author_id = u.user_id
|
||||
WHERE k.id = #{id}
|
||||
</select>
|
||||
|
||||
<!-- 增加浏览量 -->
|
||||
<update id="increaseViewCount">
|
||||
UPDATE knowledge
|
||||
SET view_count = view_count + 1
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!-- 增加点赞数 -->
|
||||
<update id="increaseLikeCount">
|
||||
UPDATE knowledge
|
||||
SET like_count = like_count + 1
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<!-- 减少点赞数 -->
|
||||
<update id="decreaseLikeCount">
|
||||
UPDATE knowledge
|
||||
SET like_count = CASE WHEN like_count > 0 THEN like_count - 1 ELSE 0 END
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user