From b2f762e0354e143a3ee9bdccf200529e0960cd31 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Mon, 3 Jun 2024 11:40:07 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat(=E5=AE=8C=E5=96=84=E7=89=B9=E8=89=B2?= =?UTF-8?q?=E4=B8=93=E5=8C=BA=E6=9D=83=E9=99=90):=20=E4=B8=93=E5=8C=BA?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/update/20240603110330_zone_add_role_menu.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/update/20240603110330_zone_add_role_menu.sql diff --git a/sql/update/20240603110330_zone_add_role_menu.sql b/sql/update/20240603110330_zone_add_role_menu.sql new file mode 100644 index 000000000..ca2985304 --- /dev/null +++ b/sql/update/20240603110330_zone_add_role_menu.sql @@ -0,0 +1,7 @@ +-- 专区管理员增加修改组织权限 +SET FOREIGN_KEY_CHECKS = 0; + +INSERT INTO sys_role_menu (role_id, menu_id) +VALUES (5, 1019); + +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file From 4d20f8555af23f2557a37eeeeb8976d6fdbb52e3 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Mon, 3 Jun 2024 14:24:45 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix(=E7=89=B9=E8=89=B2=E4=B8=93=E5=8C=BA):?= =?UTF-8?q?=20=E5=AE=8C=E5=96=84=E6=96=87=E7=AB=A0=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复更新文章名称时未校验栏目下是否已存在相同名称的文章 --- .../doc/service/impl/CmsDocServiceImpl.java | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java index 427c3d7e3..771f75189 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java @@ -676,6 +676,17 @@ public class CmsDocServiceImpl implements ICmsDocService { if (!hasRepoRelatedChanged(oldCmsDoc, cmsDocDto)) { return cmsDocMapper.updateCmsDoc(oldCmsDoc) > 0; } + // 当文章名称发生更改时,判断文章名是否在当前栏目下已存在 + if (StringUtils.isNotEmpty(cmsDocDto.getName()) && !cmsDocDto.getName().equals(oldCmsDoc.getName())) { + String dirName = oldCmsDoc.getDirName(); + if (cmsDocDto.getDirId() != null) { + CmsDir cmsDir = selectCmsDirById(cmsDocDto.getDirId(), false); + if (!cmsDir.getName().equals(dirName)) { + dirName = cmsDir.getName(); + } + } + checkDocName(cmsDocDto.getName(), oldCmsDoc.getDeptId(), dirName); + } //用户为专区管理员或专区无审核机制时,直接更新文章及仓库主分支 if (isCurrentUserZoneAdmin(oldCmsDoc.getDeptId()) || isNoAuditRequired(oldCmsDoc.getDeptId())) { //专区管理员重新编辑并提交审核未通过文章 或 重新编辑并提交待审核文章时专区不需审核机制 @@ -1132,16 +1143,7 @@ public class CmsDocServiceImpl implements ICmsDocService { } private boolean insertCommonCmsDoc(CmsDoc cmsDoc, String message, String content) { - //检查该文件是否已存在 - CmsDoc oldCmsDoc = cmsDocMapper.selectCmsDocByNameAndDeptId(cmsDoc.getName(), cmsDoc.getDeptId(), cmsDoc.getDirName()); - if (oldCmsDoc != null) { - if (oldCmsDoc.getIsDir()) { - throw new ServiceException("该栏目已存在(栏目名称[" + cmsDoc.getName() + "])"); - } else { - throw new ServiceException("该文章已存在(文章名称[" + cmsDoc.getName() + "])"); - } - - } + checkDocName(cmsDoc.getName(), cmsDoc.getDeptId(), cmsDoc.getDirName()); createFileByGitLink(cmsDoc, message, content); boolean success = insertCmsDocDatabase(cmsDoc, content); // 推送文章地址到搜索引擎 @@ -1149,6 +1151,19 @@ public class CmsDocServiceImpl implements ICmsDocService { return success; } + private void checkDocName(String docName, Long deptId, String dirName) { + //检查该文件是否已存在 + CmsDoc oldCmsDoc = cmsDocMapper.selectCmsDocByNameAndDeptId(docName, deptId, dirName); + if (oldCmsDoc != null) { + if (oldCmsDoc.getIsDir()) { + throw new ServiceException("该栏目已存在(栏目名称[%s])", docName); + } else { + throw new ServiceException("该文章在当前栏目下已存在(文章名称[%s],栏目名称[%s])", docName, dirName); + } + + } + } + private boolean insertCmsDocWithAudit(CmsDoc cmsDoc, String message, String content) { //检查该文件是否已存在 CmsDoc oldCmsDoc = cmsDocMapper.selectCmsDocByNameAndDeptId(cmsDoc.getName(), cmsDoc.getDeptId(), cmsDoc.getDirName()); From 073d3667b5d4a5c03c3c5be6125f4b6e2ed5b7ea Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Thu, 27 Jun 2024 10:49:51 +0800 Subject: [PATCH 3/7] =?UTF-8?q?feat(=E4=B8=93=E5=8C=BA=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E5=85=B3=E9=94=AE=E8=AF=8D=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java | 5 +++++ .../main/java/com/ruoyi/cms/doc/domain/CmsDocBaseDto.java | 5 +++++ .../src/main/java/com/ruoyi/cms/doc/domain/CmsDocDto.java | 5 +++++ .../main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java | 5 +++++ .../main/java/com/ruoyi/cms/doc/domain/CmsDocSearchVo.java | 5 +++++ .../src/main/resources/mapper/cms/CmsDocMapper.xml | 7 +++++++ .../20240627090118_zone_alert_cmd_doc_add_keywords.sql | 3 +++ 7 files changed, 35 insertions(+) create mode 100644 sql/update/20240627090118_zone_alert_cmd_doc_add_keywords.sql diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java index 58bd26d21..42bc8e043 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java @@ -157,6 +157,11 @@ public class CmsDoc extends BaseSortEntity { */ private String auditEditableStatus; + /** + * 关键词 + */ + private String keywords; + public CmsDir copyToCmsDir() { CmsDir cmsDir = new CmsDir(); cmsDir.setId(id); diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocBaseDto.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocBaseDto.java index 8a1c189bd..af1b90f75 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocBaseDto.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocBaseDto.java @@ -96,6 +96,11 @@ public class CmsDocBaseDto { @ApiModelProperty("文章创建者") private String createBy; + /** + * 关键词 + */ + @ApiModelProperty("关键词") + private String keywords; public void setPublishTime(Date publishTime) { if (publishTime != null) { diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocDto.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocDto.java index d1b351663..5d31133b8 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocDto.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocDto.java @@ -65,6 +65,11 @@ public class CmsDocDto { @ApiModelProperty("是否在栏目下修改") private boolean isChangeOnDir; + /** + * 关键词 + */ + @ApiModelProperty("关键词") + private String keywords; public String getName() { if (name != null) { diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java index 86d309475..33fce7557 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java @@ -45,6 +45,11 @@ public class CmsDocInputDto { */ @ApiModelProperty("文本编辑器类型") private String editorType; + /** + * 关键词 + */ + @ApiModelProperty("关键词") + private String keywords; public String getContent() { String base64decodedString; diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocSearchVo.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocSearchVo.java index 8c7a46350..161b11f4e 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocSearchVo.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocSearchVo.java @@ -78,4 +78,9 @@ public class CmsDocSearchVo { */ @ApiModelProperty(value = "创建者", hidden = true) private String createBy; + /** + * 关键词 + */ + @ApiModelProperty("关键词") + private String keywords; } diff --git a/ruoyi-modules/ruoyi-cms/src/main/resources/mapper/cms/CmsDocMapper.xml b/ruoyi-modules/ruoyi-cms/src/main/resources/mapper/cms/CmsDocMapper.xml index dcc2057dc..b0449c144 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/resources/mapper/cms/CmsDocMapper.xml +++ b/ruoyi-modules/ruoyi-cms/src/main/resources/mapper/cms/CmsDocMapper.xml @@ -36,6 +36,7 @@ + @@ -69,6 +70,7 @@ audit_status, audit_type, audit_tmp_branch_name, + keywords, audit_pr_number from cms_doc @@ -100,6 +102,7 @@ cd.issue_id, cd.is_homepage, cd.editor_type, + cd.keywords, cd.is_dir from cms_doc cd @@ -162,6 +165,7 @@ and name like concat('%', #{name}, '%') + and keywords like concat('%', #{keywords}, '%') and file_name like concat('%', #{fileName}, '%') and file_path = #{filePath} and publish_time = #{publishTime} @@ -307,6 +311,7 @@ audit_type, audit_tmp_branch_name, audit_pr_number, + keywords, #{createBy}, @@ -339,6 +344,7 @@ #{auditType}, #{auditTmpBranchName}, #{auditPrNumber}, + #{keywords}, @@ -374,6 +380,7 @@ audit_type = #{auditType}, audit_tmp_branch_name = #{auditTmpBranchName}, audit_pr_number = #{auditPrNumber}, + keywords = #{keywords}, where id = #{id} diff --git a/sql/update/20240627090118_zone_alert_cmd_doc_add_keywords.sql b/sql/update/20240627090118_zone_alert_cmd_doc_add_keywords.sql new file mode 100644 index 000000000..b61f67dbb --- /dev/null +++ b/sql/update/20240627090118_zone_alert_cmd_doc_add_keywords.sql @@ -0,0 +1,3 @@ +-- 专区文章表增加Keywords关键字 +alter table cms_doc + add keywords varchar(255) null comment '关键词'; \ No newline at end of file From 562ddae3c9f0db84bf143845f71c5c538baa54ca Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Thu, 27 Jun 2024 13:49:04 +0800 Subject: [PATCH 4/7] =?UTF-8?q?feat(=E4=B8=93=E5=8C=BA=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E5=85=B3=E9=94=AE=E8=AF=8D=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java | 1 + .../src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java | 1 + 2 files changed, 2 insertions(+) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java index 42bc8e043..f1c36d320 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDoc.java @@ -229,6 +229,7 @@ public class CmsDoc extends BaseSortEntity { cmsDocDto.setAuditStatus(auditStatus); cmsDocDto.setAuditType(auditType); cmsDocDto.setCreateBy(createBy); + cmsDocDto.setKeywords(keywords); return cmsDocDto; } diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java index 33fce7557..97acf5cf8 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/domain/CmsDocInputDto.java @@ -83,6 +83,7 @@ public class CmsDocInputDto { cmsDoc.setHeadImg(this.getHeadImg()); cmsDoc.setDeptId(dirDoc.getDeptId()); cmsDoc.setEditorType(this.editorType); + cmsDoc.setKeywords(this.keywords); return cmsDoc; } } From faeb5b3a0033f746ed26d96616f5652ef4d37f9d Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Thu, 27 Jun 2024 15:46:16 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat(=E4=B8=93=E5=8C=BA=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E5=85=B3=E9=94=AE=E8=AF=8D=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java index 771f75189..fee39c789 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java @@ -710,6 +710,7 @@ public class CmsDocServiceImpl implements ICmsDocService { oldCmsDoc = cmsAsyncService.updateCmsDocDatabaseAndUpdateForGitLink(oldCmsDoc, cmsDocDto, branchName); oldCmsDoc.setAuditStatus(DocAuditStatus.AUDIT_PASS.getAuditCode()); oldCmsDoc.setAuditTmpBranchName(null); + oldCmsDoc.setKeywords(cmsDocDto.getKeywords()); return updateCmsCommonDatabase(oldCmsDoc, CmsConstants.BRANCH_MASTER) > 0; } else { From 3a5f7368886c80e0a4a6bcc5a2cf9b828cbb09f2 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Thu, 27 Jun 2024 16:08:31 +0800 Subject: [PATCH 6/7] =?UTF-8?q?feat(=E4=B8=93=E5=8C=BA=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E5=85=B3=E9=94=AE=E8=AF=8D=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java index fee39c789..f909e2595 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocServiceImpl.java @@ -772,6 +772,7 @@ public class CmsDocServiceImpl implements ICmsDocService { } } + oldCmsDoc.setKeywords(cmsDocDto.getKeywords()); oldCmsDoc.setSummary(cmsDocDto.getSummary()); oldCmsDoc.setHeadImg(cmsDocDto.getHeadImg()); return isChangeName || isChangeContent || isChangeDir; From 5bc33866c74e23c7f8bf55c6979faba7defaea9e Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Wed, 21 Aug 2024 15:35:15 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix(=E4=B8=93=E5=8C=BABug=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?):=20=E9=9D=9E=E4=B8=93=E5=8C=BA=E4=BC=9A=E5=91=98=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=87=AA=E5=B7=B1=E7=9A=84=E6=96=87=E7=AB=A0=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=EF=BC=8C=E6=8E=A5=E5=8F=A3=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 判断用户是否为专区管理员时未考虑当前用户在专区没有身份的情况 --- .../ruoyi/cms/doc/service/impl/CmsDocCommentServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocCommentServiceImpl.java b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocCommentServiceImpl.java index 8f81201d4..980b3052b 100644 --- a/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocCommentServiceImpl.java +++ b/ruoyi-modules/ruoyi-cms/src/main/java/com/ruoyi/cms/doc/service/impl/CmsDocCommentServiceImpl.java @@ -166,7 +166,7 @@ public class CmsDocCommentServiceImpl implements ICmsDocCommentService { return true; } // 判断是否为当前组织下的专区管理员 - return deptId.equals(SecurityUtils.getUserIdentity().getDeptId()) + return deptId.equals(SecurityUtils.getDeptId()) && SystemRole.ZONE_ADMIN.getRoleKey().equals(SecurityUtils.getRoleKey()); }