wiki评论点赞

This commit is contained in:
暮光:城中城
2019-03-06 22:17:57 +08:00
parent 7d8fa1ff82
commit 3c29cac2d7
15 changed files with 184 additions and 84 deletions

6
upgrade.properties Normal file
View File

@@ -0,0 +1,6 @@
# <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD>õ<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
lastVersion=1.0.1
upgradeContent=1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wiki<EFBFBD>ĵ<EFBFBD>ģ<EFBFBD><EFBFBD>;2<><32>dubbo<62>ĵ<EFBFBD>֧<EFBFBD><D6A7>ʹ<EFBFBD><CAB9>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ֵ;3<><33><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4>IJ<EFBFBD><C4B2><EFBFBD>;4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ;5<><35>ϸ<EFBFBD><CFB8><EFBFBD>Ż<EFBFBD>;
upgradeUrl=
nextStep=

View File

@@ -12,7 +12,7 @@ import java.util.Date;
* </p>
*
* @author 暮光:城中城
* @since 2019-02-24
* @since 2019-03-06
*/
public class WikiPageFile implements Serializable {
@@ -39,6 +39,11 @@ public class WikiPageFile implements Serializable {
*/
private String fileUrl;
/**
* 文件UUID
*/
private String uuid;
/**
* 创建人ID
*/
@@ -102,6 +107,13 @@ public class WikiPageFile implements Serializable {
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public Long getCreateUserId() {
return createUserId;
}
@@ -159,6 +171,7 @@ public class WikiPageFile implements Serializable {
", pageId=" + pageId +
", fileName=" + fileName +
", fileUrl=" + fileUrl +
", uuid=" + uuid +
", createUserId=" + createUserId +
", createUserName=" + createUserName +
", createTime=" + createTime +

View File

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author 暮光:城中城
* @since 2019-02-24
* @since 2019-03-06
*/
public interface WikiPageFileMapper extends BaseMapper<WikiPageFile> {

View File

@@ -19,7 +19,7 @@ public class CodeGenerator {
final String moduleName = "manage";
// final String[] tableName = { "zyplayer_storage", "auth_info", "user_auth", "user_info" };
// final String[] tableName = { "wiki_space", "wiki_page", "wiki_page_content", "wiki_page_file", "wiki_page_comment", "wiki_page_zan" };
final String[] tableName = { "wiki_page" };
final String[] tableName = { "wiki_page_file" };
// 代码生成器
AutoGenerator mpg = new AutoGenerator();

View File

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* </p>
*
* @author 暮光:城中城
* @since 2019-02-24
* @since 2019-03-06
*/
public interface WikiPageFileService extends IService<WikiPageFile> {

View File

@@ -12,7 +12,7 @@ import org.springframework.stereotype.Service;
* </p>
*
* @author 暮光:城中城
* @since 2019-02-24
* @since 2019-03-06
*/
@Service
public class WikiPageFileServiceImpl extends ServiceImpl<WikiPageFileMapper, WikiPageFile> implements WikiPageFileService {

View File

@@ -47,6 +47,7 @@ public class WikiPageZanServiceImpl extends ServiceImpl<WikiPageZanMapper, WikiP
} else {
wikiPageZan.setCreateTime(new Date());
wikiPageZan.setCreateUserId(currentUser.getUserId());
wikiPageZan.setCreateUserName(currentUser.getUsername());
this.save(wikiPageZan);
}
int numAdd = wikiPageZan.getYn() == 1 ? 1 : -1;

View File

@@ -51,7 +51,7 @@ public class DocDetailsServiceImpl implements UserDetailsService {
});
}
//String pwdMd5 = DigestUtils.md5DigestAsHex(userInfo.getPassword().getBytes());
DocUserDetails userDetails = new DocUserDetails(userInfo.getId(), userInfo.getUserNo(), userInfo.getPassword(), true, authorities);
DocUserDetails userDetails = new DocUserDetails(userInfo.getId(), userInfo.getUserName(), userInfo.getPassword(), true, authorities);
return userDetails;
}

View File

@@ -11,7 +11,7 @@
Target Server Version : 50724
File Encoding : 65001
Date: 24/02/2019 18:13:04
Date: 06/03/2019 19:00:24
*/
SET NAMES utf8mb4;
@@ -95,7 +95,6 @@ CREATE TABLE `user_info` (
-- ----------------------------
INSERT INTO `user_info` VALUES (1, 'zyplayer', 'e10adc3949ba59abbe56e057f20f883e', '暮光:城中城', '806783409@qq.com', NULL, 0, '2018-12-01 11:37:39', NULL, '2018-12-15 20:32:08');
INSERT INTO `user_info` VALUES (2, '1', 'e10adc3949ba59abbe56e057f20f883e', '1111', NULL, NULL, 0, '2018-12-15 20:16:10', 1, '2018-12-15 20:19:50');
INSERT INTO `user_info` VALUES (3, '2', NULL, '11', '11', NULL, 0, '2018-12-15 20:21:24', 1, NULL);
-- ----------------------------
-- Table structure for wiki_page
@@ -107,32 +106,27 @@ CREATE TABLE `wiki_page` (
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名字',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父ID',
`node_type` tinyint(4) NULL DEFAULT 0 COMMENT '节点类型 0=有子节点 1=终节点',
`zan_num` int(11) NOT NULL DEFAULT 0 COMMENT '赞的数量',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_user_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人ID',
`update_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '修改人名字',
`update_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人名字',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '0=有效 1=删除',
`del_flag` tinyint(4) NOT NULL DEFAULT 0 COMMENT '0=有效 1=删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of wiki_page
-- ----------------------------
INSERT INTO `wiki_page` VALUES (1, 1, '规范', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (2, 1, '流程', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (3, 1, '分享', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (4, 1, '精品收藏', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (5, 1, '数据库规范', 1, 1, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (6, 1, 'JAVA开发规范', 1, 1, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (7, 1, '测试1', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (8, 1, '测试2', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (9, 1, '测试3', 7, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (10, 1, '测试4', 7, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (11, 1, '测试5', 9, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (12, 1, '测试6', 7, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (14, 1, '测试7', NULL, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (7, 1, '测试1', NULL, 0, 1, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (8, 1, '测试2', NULL, 0, 3, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-03-06 09:25:29', 0);
INSERT INTO `wiki_page` VALUES (9, 1, '测试3', 7, 0, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (10, 1, '测试4', 7, 0, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (11, 1, '测试5', 9, 0, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (12, 1, '测试6', 7, 0, 0, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
INSERT INTO `wiki_page` VALUES (14, 1, '测试7', NULL, 0, 1, 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56', 0);
-- ----------------------------
-- Table structure for wiki_page_comment
@@ -143,12 +137,13 @@ CREATE TABLE `wiki_page_comment` (
`page_id` bigint(20) NULL DEFAULT NULL COMMENT '页面ID',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父评论ID',
`content` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评论内容',
`zan_num` int(11) NOT NULL DEFAULT 0 COMMENT '赞的数量',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '0=有效 1=删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for wiki_page_content
@@ -159,25 +154,25 @@ CREATE TABLE `wiki_page_content` (
`page_id` bigint(20) NULL DEFAULT NULL COMMENT '页面ID',
`content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_user_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人ID',
`update_user_name` varchar(0) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '修改人名字',
`update_user_name` varchar(0) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人名字',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_page_id`(`page_id`) USING BTREE COMMENT '页面ID'
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of wiki_page_content
-- ----------------------------
INSERT INTO `wiki_page_content` VALUES (1, 7, '<p>测试1测试1测试1测试1测试1</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (2, 8, '<p>测试2测试2测试2测试2</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (2, 8, '<p>测试2测试2测试2测试2fasfafafdsafasfxxxxxxxxxxxxdsadsadsadasdasd</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-03-06 09:25:29');
INSERT INTO `wiki_page_content` VALUES (3, 9, '<p>测试3测试3测试3测试3测试3</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (4, 10, '<p>测试4测试4测试4测试4测试4</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (5, 11, '<p>测试5测试5测试5测试5</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (6, 12, '<p>测试6测试6测试6测试6测试6</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (7, 13, '<p>欢迎使用 wangEditor 富文本编辑器</p><p>测试7</p>', 1, NULL, '2019-02-24 17:51:56', NULL, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (7, 13, '<p>测试7测试7测试7测试7</p>', 1, NULL, '2019-02-24 17:51:56', NULL, NULL, '2019-02-24 17:51:56');
INSERT INTO `wiki_page_content` VALUES (8, 14, '<p>测试7 测试7测试7测试7&nbsp;</p>', 1, NULL, '2019-02-24 17:51:56', 1, NULL, '2019-02-24 17:51:56');
-- ----------------------------
@@ -189,6 +184,7 @@ CREATE TABLE `wiki_page_file` (
`page_id` bigint(20) NULL DEFAULT NULL COMMENT '页面ID',
`file_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名',
`file_url` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件URL',
`uuid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件UUID',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
@@ -196,13 +192,9 @@ CREATE TABLE `wiki_page_file` (
`update_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人名字',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '0=有效 1=删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of wiki_page_file
-- ----------------------------
INSERT INTO `wiki_page_file` VALUES (1, 7, '开发规范.doc', 'http://www.baidu.com', 1, '暮光:城中城', '2019-02-24 17:51:56', NULL, NULL, NULL, 0);
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_uuid`(`uuid`) USING BTREE COMMENT '文件ID'
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for wiki_page_zan
@@ -213,10 +205,11 @@ CREATE TABLE `wiki_page_zan` (
`page_id` bigint(20) NULL DEFAULT NULL COMMENT '页面ID',
`comment_id` bigint(20) NULL DEFAULT NULL COMMENT '评论ID',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`yn` tinyint(4) NULL DEFAULT NULL COMMENT '是否有效 0=无效 1=有效',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for wiki_space
@@ -228,10 +221,10 @@ CREATE TABLE `wiki_space` (
`type` tinyint(4) NULL DEFAULT 1 COMMENT '空间类型 1=公司 2=个人 3=私人',
`explain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人ID',
`create_user_name` varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名字',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of wiki_space
@@ -250,9 +243,10 @@ CREATE TABLE `zyplayer_storage` (
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `key`(`doc_key`) USING BTREE COMMENT 'key唯一索引'
) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '存储网页上相关的数据' ROW_FORMAT = Compact;
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '存储网页上相关的数据' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of zyplayer_storage
-- ----------------------------
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -2,12 +2,14 @@ package com.zyplayer.doc.wiki.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageFile;
import com.zyplayer.doc.data.service.manage.WikiPageFileService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@@ -43,7 +45,6 @@ public class WikiCommonController {
@PostMapping("/upload")
public ResponseJson<Object> upload(WikiPageFile wikiPageFile, @RequestParam("files") MultipartFile file) {
//通过CommonsMultipartFile的方法直接写文件注意这个时候
String fileName = file.getOriginalFilename();
String fileSuffix = "";
if (fileName != null && fileName.lastIndexOf(".") >= 0) {
@@ -55,7 +56,8 @@ public class WikiCommonController {
if (!newFile.exists() && !newFile.mkdir()) {
return DocResponseJson.warn("创建文件夹失败");
}
path += RandomUtil.simpleUUID() + fileSuffix;
String simpleUUID = RandomUtil.simpleUUID();
path += simpleUUID + fileSuffix;
newFile = new File(path);
try {
file.transferTo(newFile);
@@ -63,6 +65,7 @@ public class WikiCommonController {
e.printStackTrace();
return DocResponseJson.warn("保存文件失败");
}
wikiPageFile.setUuid(simpleUUID);
wikiPageFile.setFileUrl(path);
wikiPageFile.setFileName(fileName);
wikiPageFile.setCreateTime(new Date());
@@ -70,16 +73,18 @@ public class WikiCommonController {
wikiPageFile.setCreateUserName(currentUser.getUsername());
wikiPageFile.setDelFlag(0);
wikiPageFileService.save(wikiPageFile);
wikiPageFile.setFileUrl("zyplayer-doc-wiki/common/file?fileId=" + wikiPageFile.getId());
wikiPageFile.setFileUrl("zyplayer-doc-wiki/common/file?uuid=" + wikiPageFile.getUuid());
return DocResponseJson.ok(wikiPageFile);
}
@GetMapping("/file")
public ResponseJson<Object> file(Long fileId, HttpServletResponse response) {
if (fileId == null || fileId <= 0) {
public ResponseJson<Object> file(String uuid, HttpServletResponse response) {
if (StringUtils.isBlank(uuid)) {
return DocResponseJson.warn("请指定文件ID");
}
WikiPageFile pageFile = wikiPageFileService.getById(fileId);
UpdateWrapper<WikiPageFile> wrapperFile = new UpdateWrapper<>();
wrapperFile.eq("uuid", uuid);
WikiPageFile pageFile = wikiPageFileService.getOne(wrapperFile);
if (pageFile == null) {
return DocResponseJson.warn("未找到指定文件");
}

View File

@@ -49,9 +49,10 @@ public class WikiPageCommentController {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
pageComment.setCreateTime(new Date());
pageComment.setCreateUserId(currentUser.getUserId());
pageComment.setCreateUserName(currentUser.getUsername());
wikiPageCommentService.save(pageComment);
}
return DocResponseJson.ok();
return DocResponseJson.ok(pageComment);
}
}

View File

@@ -71,7 +71,7 @@ public class WikiPageController {
wrapperFile.eq("del_flag", 0);
List<WikiPageFile> pageFiles = wikiPageFileService.list(wrapperFile);
for (WikiPageFile pageFile : pageFiles) {
pageFile.setFileUrl("zyplayer-doc-wiki/common/file?fileId=" + pageFile.getId());
pageFile.setFileUrl("zyplayer-doc-wiki/common/file?uuid=" + pageFile.getUuid());
}
UpdateWrapper<WikiPageZan> wrapperZan = new UpdateWrapper<>();
wrapperZan.eq("page_id", wikiPage.getId());

View File

@@ -1,12 +1,19 @@
package com.zyplayer.doc.wiki.controller;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.config.security.DocUserDetails;
import com.zyplayer.doc.data.config.security.DocUserUtil;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageFile;
import com.zyplayer.doc.data.service.manage.WikiPageFileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
/**
* 文档控制器
@@ -30,23 +37,27 @@ public class WikiPageFileController {
// wrapper.eq("page_id", wikiPageFile.getPageId());
// List<WikiPageFile> fileList = wikiPageFileService.list(wrapper);
// for (WikiPageFile pageFile : fileList) {
// pageFile.setFileUrl("zyplayer-doc-wiki/common/file?fileId=" + pageFile.getId());
// pageFile.setFileUrl("zyplayer-doc-wiki/common/file?uuid=" + pageFile.getUuid());
// }
// return DocResponseJson.ok(fileList);
// }
//
// @PostMapping("/update")
// public ResponseJson<Object> update(WikiPageFile wikiPageFile) {
// Long id = wikiPageFile.getId();
// if (id != null && id > 0) {
// wikiPageFileService.updateById(wikiPageFile);
// } else {
// DocUserDetails currentUser = DocUserUtil.getCurrentUser();
// wikiPageFile.setCreateTime(new Date());
// wikiPageFile.setCreateUserId(currentUser.getUserId());
// wikiPageFileService.save(wikiPageFile);
// }
// return DocResponseJson.ok();
// }
@PostMapping("/update")
public ResponseJson<Object> update(WikiPageFile wikiPageFile) {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
Long id = wikiPageFile.getId();
if (id != null && id > 0) {
wikiPageFile.setUpdateUserId(currentUser.getUserId());
wikiPageFile.setUpdateUserName(currentUser.getUsername());
wikiPageFile.setUpdateTime(new Date());
wikiPageFileService.updateById(wikiPageFile);
} else {
wikiPageFile.setCreateTime(new Date());
wikiPageFile.setCreateUserId(currentUser.getUserId());
wikiPageFile.setCreateUserName(currentUser.getUsername());
wikiPageFileService.save(wikiPageFile);
}
return DocResponseJson.ok();
}
}

View File

@@ -1,5 +1,6 @@
package com.zyplayer.doc.wiki.controller;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.core.json.DocResponseJson;
import com.zyplayer.doc.core.json.ResponseJson;
import com.zyplayer.doc.data.repository.manage.entity.WikiPageZan;
@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* 文档控制器
@@ -26,14 +28,14 @@ public class WikiPageZanController {
@Resource
WikiPageZanService wikiPageZanService;
// @PostMapping("/list")
// public ResponseJson<List<WikiPageZan>> list(WikiPageZan wikiPageZan) {
// UpdateWrapper<WikiPageZan> wrapper = new UpdateWrapper<>();
// wrapper.eq("page_id", wikiPageZan.getPageId());
// wrapper.eq(wikiPageZan.getCommentId() != null, "comment_id", wikiPageZan.getCommentId());
// List<WikiPageZan> zanList = wikiPageZanService.list(wrapper);
// return DocResponseJson.ok(zanList);
// }
@PostMapping("/list")
public ResponseJson<List<WikiPageZan>> list(WikiPageZan wikiPageZan) {
UpdateWrapper<WikiPageZan> wrapper = new UpdateWrapper<>();
wrapper.eq("page_id", wikiPageZan.getPageId());
wrapper.eq(wikiPageZan.getCommentId() != null, "comment_id", wikiPageZan.getCommentId());
List<WikiPageZan> zanList = wikiPageZanService.list(wrapper);
return DocResponseJson.ok(zanList);
}
@PostMapping("/update")
public ResponseJson<Object> update(WikiPageZan wikiPageZan) {

View File

@@ -28,7 +28,6 @@
</el-row>
<el-row type="border-card" v-show="rightContentType == 1">
<div class="wiki-title">
<!--狗屎一样的代码如何重构wiki模块正在开发中这只是一个预览页面-->
{{wikiPage.name}}
<div style="float: right;">
<el-button type="text" icon="el-icon-edit" v-on:click="editWiki">编辑</el-button>
@@ -49,6 +48,7 @@
class="upload-page-file"
action="zyplayer-doc-wiki/common/upload"
:on-success="uploadFileSuccess"
:on-error="uploadFileError"
name="files"
show-file-list
multiple
@@ -66,12 +66,17 @@
</el-table-column>
<el-table-column prop="createUserName" label="创建人"></el-table-column>
<el-table-column prop="createTime" label="创建时间"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button v-on:click="deletePageFile(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="wiki-content">
<div v-html="pageContent.content"></div>
</div>
<div style="margin-top: 10px; font-size: 14px;">
<div style="margin-top: 20px; font-size: 14px;">
<span style="vertical-align: top;" class="is-link">
<img src="webjars/doc-wiki/img/zan.png" style="vertical-align: middle;">
<span v-show="wikiPage.selfZan == 0" v-on:click="zanPage(1)"></span>
@@ -84,6 +89,13 @@
<span v-else-if="wikiPage.selfZan == 1 && wikiPage.zanNum > 1"><span class="is-link" v-on:click="showZanPageUser">我和{{wikiPage.zanNum-1}}个其他人</span>赞了它</span>
</span>
</div>
<div v-show="commentList.length > 0" style="margin-top: 20px;">
<div style="margin-bottom: 10px;">评论列表:</div>
<div v-for="(item,index) in commentList" :key="item.id" :data-id="item.id" :data-index="index" style="border-top: 1px solid #ccc;padding: 10px;">
<div>{{item.createUserName}}<div style="color: #888;font-size: 13px;float: right;">{{item.createTime}}</div></div>
<div style="padding-top: 10px;"> {{item.content}}</div>
</div>
</div>
<div style="margin-top: 10px;">
<el-input type="textarea" v-model="commentTextInput" :rows="2" placeholder="请输入评论内容"></el-input>
<div align="right" style="margin-top: 5px;">
@@ -105,6 +117,13 @@
</el-row>
</el-main>
</el-container>
<!--点赞人员弹窗-->
<el-dialog title="赞了它的人" :visible.sync="zanUserDialogVisible" width="600px">
<el-table :data="zanUserList" border :show-header="false" style="width: 100%; margin-bottom: 5px;">
<el-table-column prop="createUserName" show-header label="用户"></el-table-column>
<el-table-column prop="createTime" show-header label="时间"></el-table-column>
</el-table>
</el-dialog>
<!--关于弹窗-->
<el-dialog title="关于zyplayer-doc-wiki" :visible.sync="aboutDialogVisible" width="600px">
<el-form>
@@ -155,6 +174,7 @@
// 搜索的输入内容
searchKeywords: "",
lastClickNode: {},
// 编辑相关
newPageId: "",
newPageTitle: "",
// 页面展示相关
@@ -163,8 +183,11 @@
pageFileList: [],
uploadFileList: [],
uploadFormData: {pageId: 0},
zanUserDialogVisible: false,
zanUserList: [],
// 评论相关
commentTextInput: ""
commentTextInput: "",
commentList: [],
}
},
watch: {
@@ -185,14 +208,46 @@
});
},
showZanPageUser() {
app.zanUserDialogVisible = true;
app.zanUserList = [];
var param = {pageId: app.wikiPage.id};
ajaxTemp("zyplayer-doc-wiki/page/zan/list", "post", "json", param, function (json) {
if (validateResult(json)) {
app.zanUserList = json.data;
}
});
},
submitPageComment() {
Toast.success(app.commentTextInput);
var param = {pageId: app.wikiPage.id, content: app.commentTextInput};
ajaxTemp("zyplayer-doc-wiki/page/comment/update", "post", "json", param, function (json) {
if (validateResult(json)) {
app.commentTextInput = "";
app.commentList.push(json.data);
}
});
},
uploadFileError(err) {
Toast.success("上传失败," + err);
},
uploadFileSuccess(response) {
app.pageFileList.push(response.data);
Toast.success("上传成功!");
if (validateResult(response)) {
app.pageFileList.push(response.data);
Toast.success("上传成功!");
}
},
deletePageFile(row) {
var param = {id: row.id, delFlag: 1};
ajaxTemp("zyplayer-doc-wiki/page/file/update", "post", "json", param, function (json) {
if (validateResult(json)) {
var pageFileList = [];
for (var i = 0; i < app.pageFileList.length; i++) {
if (app.pageFileList[i].id != row.id) {
pageFileList.push(app.pageFileList[i]);
}
}
app.pageFileList = pageFileList;
}
});
},
editWiki() {
this.rightContentType = 2;
@@ -200,18 +255,20 @@
this.newPageTitle = app.wikiPage.name;
page.newPageContentEditor.txt.html(app.pageContent.content || "");
},
createWiki(){
createWiki() {
this.newPageId = "";
this.newPageTitle = "";
page.newPageContentEditor.txt.html("");
this.rightContentType = 2;
},
createWikiCancel(){
createWikiCancel() {
if (isEmpty(this.lastClickNode.label)) {
this.rightContentType = 0;
} else {
this.rightContentType = 1;
}
},
createWikiSave(){
createWikiSave() {
var parentId = app.lastClickNode.id;
if (this.newPageId > 0) {
parentId = "";
@@ -252,6 +309,16 @@
app.uploadFormData = {pageId: app.wikiPage.id};
}
});
this.loadCommentList(pageId);
},
loadCommentList(pageId) {
app.commentList = [];
var param = {pageId: pageId};
ajaxTemp("zyplayer-doc-wiki/page/comment/list", "post", "json", param, function (json) {
if (validateResult(json)) {
app.commentList = json.data || [];
}
});
},
searchByKeywords() {
app.pathIndex = createTreeViewByTreeWithMerge(app.dubboDocList, app.searchKeywords);