新增模板相关功能
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.zyplayer.doc.data.repository.manage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("wiki_page_template")
|
||||
public class WikiPageTemplate implements Serializable {
|
||||
@TableId(value = "id" , type = IdType.AUTO)
|
||||
private Long id;
|
||||
private Long spaceId;
|
||||
private Long pageId;
|
||||
private String tagName;
|
||||
private Boolean shareStatus;
|
||||
private Date created;
|
||||
private Long createUserId;
|
||||
private String createUser;
|
||||
private Integer yn;
|
||||
}
|
||||
@@ -2,10 +2,14 @@ package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
@@ -24,6 +28,9 @@ public interface WikiPageMapper extends BaseMapper<WikiPage> {
|
||||
|
||||
@Select("select max(seq_no) from wiki_page where space_id = #{spaceId} and parent_id=#{parentId} and del_flag=0")
|
||||
Integer getLastSeq(@Param("spaceId") Long spaceId, @Param("parentId") Long parentId);
|
||||
|
||||
|
||||
@Select("SELECT a.*,b.tag_name AS tags,b.share_status as shareStatus from wiki_page a left join wiki_page_template b on a.space_id =b.space_id and a.id = b.page_id where a.del_flag = 0 and a.space_id =#{spaceId}")
|
||||
List<WikiPageTemplateInfoVo> getWikiPageTemplateInfos(@Param("spaceId") Long spaceId);
|
||||
|
||||
void updateChildrenSeq(@Param("spaceId") Long spaceId, @Param("parentId") Long parentId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.zyplayer.doc.data.repository.manage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-03-09
|
||||
*/
|
||||
public interface WikiPageTemplateMapper extends BaseMapper<WikiPageTemplate> {
|
||||
|
||||
List<WikiPageTemplateInfoVo> getAllTemplate(@Param("user") Long user, @Param("name") String name, @Param("share") boolean share, @Param("tags") List tags, @Param("pageNum") Long pageNum);
|
||||
|
||||
List<WikiTemplateTagVo> getAllTags(@Param("user") Long user,@Param("open") boolean open);
|
||||
|
||||
Long getAllTemplateCount(@Param("user") Long user, @Param("name") String name, @Param("share") boolean share, @Param("tags") List tags);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.zyplayer.doc.data.repository.manage.vo;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class WikiPageTemplateInfoVo{
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 空间ID
|
||||
*/
|
||||
private Long spaceId;
|
||||
|
||||
/**
|
||||
* 名字
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 父ID
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 节点类型 0=有子节点 1=终节点
|
||||
*/
|
||||
private Integer nodeType;
|
||||
|
||||
/**
|
||||
* 赞的数量
|
||||
*/
|
||||
private Integer zanNum;
|
||||
|
||||
/**
|
||||
* 编辑类型 0=可编辑 1=不允许编辑
|
||||
*/
|
||||
private Integer editType;
|
||||
|
||||
/**
|
||||
* 是否收藏 0=否 1=是
|
||||
*/
|
||||
private Integer favorite;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建人名字
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改人ID
|
||||
*/
|
||||
private Long updateUserId;
|
||||
|
||||
/**
|
||||
* 修改人名字
|
||||
*/
|
||||
private String updateUserName;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 0=有效 1=删除
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 阅读数
|
||||
*/
|
||||
private Integer viewNum;
|
||||
|
||||
/**
|
||||
* 顺序
|
||||
*/
|
||||
private Integer seqNo;
|
||||
|
||||
/**
|
||||
* 编辑框类型 1=HTML 2=Markdown
|
||||
*/
|
||||
private Integer editorType;
|
||||
|
||||
/**
|
||||
* 模板分享状态 0=个人模板 1=共享模板
|
||||
*/
|
||||
private Integer shareStatus;
|
||||
|
||||
/**
|
||||
* 模板ID
|
||||
*/
|
||||
private Integer templateId;
|
||||
|
||||
/**
|
||||
* 标签
|
||||
*/
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 模板的内容
|
||||
*/
|
||||
private String content;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.zyplayer.doc.data.repository.manage.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class WikiTemplateTagVo {
|
||||
|
||||
/**
|
||||
* 是否展示
|
||||
*/
|
||||
private boolean show = true;
|
||||
|
||||
/**
|
||||
* 标签名
|
||||
*/
|
||||
private String tagName;
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -16,4 +19,6 @@ public interface WikiPageService extends IService<WikiPage> {
|
||||
void changeParent(WikiPage wikiPage, Integer beforeSeq, Integer afterSeq);
|
||||
|
||||
void deletePage(WikiPage wikiPage);
|
||||
|
||||
public List<WikiPageTemplateInfoVo> wikiPageTemplateInfos(Long spaceId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.zyplayer.doc.data.service.manage;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 暮光:城中城
|
||||
* @since 2019-03-09
|
||||
*/
|
||||
public interface WikiPageTemplateService extends IService<WikiPageTemplate> {
|
||||
public List<WikiTemplateTagVo> getAllTags( Long user, boolean open);
|
||||
|
||||
WikiPageTemplate getWikiPageTemplateBySpaceAndPage(Long spaceId, Long pageId);
|
||||
|
||||
List<WikiPageTemplateInfoVo> filterAll(Long user, String name, boolean open, List<String> tags, Long pageNum);
|
||||
|
||||
Long total(Long user, String name, boolean open, List<String> tags);
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserMessage;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocSysType;
|
||||
import com.zyplayer.doc.data.repository.support.consts.UserMsgType;
|
||||
import com.zyplayer.doc.data.service.manage.UserMessageService;
|
||||
@@ -91,4 +92,8 @@ public class WikiPageServiceImpl extends ServiceImpl<WikiPageMapper, WikiPage> i
|
||||
this.deletePageAndSon(wikiPage);
|
||||
}
|
||||
}
|
||||
|
||||
public List<WikiPageTemplateInfoVo> wikiPageTemplateInfos(Long spaceId){
|
||||
return wikiPageMapper.getWikiPageTemplateInfos(spaceId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.zyplayer.doc.data.service.manage.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPageTemplate;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageTemplateMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo;
|
||||
import com.zyplayer.doc.data.service.manage.WikiPageTemplateService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class WikiPageTemplateServiceImpl extends ServiceImpl<WikiPageTemplateMapper, WikiPageTemplate> implements WikiPageTemplateService {
|
||||
@Override
|
||||
public List<WikiTemplateTagVo> getAllTags(Long user, boolean open) {
|
||||
List<WikiTemplateTagVo> all = getBaseMapper().getAllTags(user,open);
|
||||
return all;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WikiPageTemplate getWikiPageTemplateBySpaceAndPage(Long spaceId, Long pageId) {
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("space_id", spaceId);
|
||||
queryWrapper.eq("page_id", pageId);
|
||||
WikiPageTemplate template = getBaseMapper().selectOne(queryWrapper);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WikiPageTemplateInfoVo> filterAll(Long user, String name, boolean open, List<String> tags, Long pageNum) {
|
||||
Long offset = 0L;
|
||||
if (null != pageNum && pageNum != 0L) {
|
||||
offset = (pageNum - 1) * 8;
|
||||
}
|
||||
List<WikiPageTemplateInfoVo> all = getBaseMapper().getAllTemplate(user, StringUtils.isBlank(name) ? null : "%" + name + "%", open, tags, offset);
|
||||
return all;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long total(Long user, String name, boolean open, List<String> tags) {
|
||||
Long num = getBaseMapper().getAllTemplateCount(user, name, open, tags);
|
||||
return num;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?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.zyplayer.doc.data.repository.manage.mapper.WikiPageTemplateMapper">
|
||||
<select id="getAllTemplate" resultType="com.zyplayer.doc.data.repository.manage.vo.WikiPageTemplateInfoVo">
|
||||
SELECT a.*,b.tag_name As tags,b.share_status as shareStatus,c.content,b.id as templateId from wiki_page a
|
||||
left join wiki_page_template b on a.space_id = b.space_id and a.id = b.page_id
|
||||
left join wiki_page_content c on a.id = c.page_id
|
||||
<include refid="queryTemplateByCondition"></include>
|
||||
order by b.id
|
||||
limit 8 offset #{pageNum}
|
||||
</select>
|
||||
<select id="getAllTemplateCount" resultType="java.lang.Long">
|
||||
SELECT count(*) from wiki_page a
|
||||
LEFT JOIN wiki_page_template b on a.space_id = b.space_id and a.id = b.page_id
|
||||
left join wiki_page_content c on a.id = c.page_id
|
||||
<include refid="queryTemplateByCondition"></include>
|
||||
</select>
|
||||
<select id="getAllTags" resultType="com.zyplayer.doc.data.repository.manage.vo.WikiTemplateTagVo">
|
||||
select DISTINCT tag_name
|
||||
from wiki_page_template
|
||||
where tag_name is not null
|
||||
and tag_name != ''
|
||||
and share_status = #{open}
|
||||
<if test="!open">
|
||||
and create_user_id = #{user}
|
||||
</if>
|
||||
</select>
|
||||
<sql id="queryTemplateByCondition">
|
||||
where del_flag = 0 and b.id is not null
|
||||
and b.share_status = #{share}
|
||||
<if test="!share">
|
||||
and b.create_user_id = #{user}
|
||||
</if>
|
||||
<if test="name != null and name != ''">
|
||||
and a.name like #{name}
|
||||
</if>
|
||||
<if test="tags != null and tags.size >0 ">
|
||||
and b.tag_name in
|
||||
<foreach collection="tags" open="(" close=")" item="item" separator=",">#{item}</foreach>
|
||||
</if>
|
||||
</sql>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user