From 16a2ca772351226711cbcba97ef0dbc4f1b128de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=85=AD=E5=A6=82?= <8775@163.com>
Date: Tue, 19 Nov 2024 22:27:51 +0800
Subject: [PATCH] 5.0
---
pom.xml | 6 +
sop-admin/sop-admin-backend/pom.xml | 5 +-
.../common/enums/ConfigKeyEnum.java | 13 ++-
.../config/SopAdminConfiguration.java | 2 -
.../controller/doc/DocSettingController.java | 41 +++++++
.../controller/doc/resp/DocSettingVO.java | 19 ++++
.../controller/sys/SysConfigController.java | 14 +--
.../sys/req/ConfigSettingParam.java | 11 +-
.../controller/website/WebsiteController.java | 54 +++++++++
.../controller/website/resp/DocAppVO.java | 24 ++++
.../website/resp/DocInfoTreeVO.java | 106 ++++++++++++++++++
.../sop/adminbackend/dao/entity/DocApp.java | 58 ++++++++++
.../sop/adminbackend/dao/entity/DocInfo.java | 98 ++++++++++++++++
.../adminbackend/dao/mapper/DocAppMapper.java | 13 +++
.../dao/mapper/DocInfoMapper.java | 13 +++
.../adminbackend/service/doc/DocService.java | 39 +++++++
.../service/doc/dto/DocSettingDTO.java | 20 ++++
.../service/sys/dto/SystemConfigDTO.java | 4 +
.../service/website/WebsiteService.java | 38 +++++++
.../service/website/dto/DocAppDTO.java | 56 +++++++++
.../service/website/dto/DocInfoTreeDTO.java | 106 ++++++++++++++++++
.../sop-admin-frontend/src/api/docSetting.ts | 27 +++++
.../src/views/doc/list/index.vue | 9 +-
.../src/views/doc/setting/index.ts | 40 +++----
24 files changed, 762 insertions(+), 54 deletions(-)
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/DocSettingController.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/resp/DocSettingVO.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/WebsiteController.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocAppVO.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocInfoTreeVO.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocApp.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocInfo.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocAppMapper.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocInfoMapper.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/DocService.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/dto/DocSettingDTO.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/WebsiteService.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocAppDTO.java
create mode 100644 sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocInfoTreeDTO.java
create mode 100644 sop-admin/sop-admin-frontend/src/api/docSetting.ts
diff --git a/pom.xml b/pom.xml
index 40e19816..6ed4cec6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,6 +91,12 @@
${fastmybatis.version}
+
+ net.oschina.durcframework
+ http-helper
+ 1.0.0
+
+
com.squareup.okhttp3
okhttp
diff --git a/sop-admin/sop-admin-backend/pom.xml b/sop-admin/sop-admin-backend/pom.xml
index 59b5cb2a..4e22b2aa 100644
--- a/sop-admin/sop-admin-backend/pom.xml
+++ b/sop-admin/sop-admin-backend/pom.xml
@@ -99,7 +99,10 @@
spring-security-crypto
-
+
+ net.oschina.durcframework
+ http-helper
+
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/common/enums/ConfigKeyEnum.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/common/enums/ConfigKeyEnum.java
index c4431c37..9d7d9042 100644
--- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/common/enums/ConfigKeyEnum.java
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/common/enums/ConfigKeyEnum.java
@@ -1,5 +1,6 @@
package com.gitee.sop.adminbackend.common.enums;
+import com.gitee.sop.adminbackend.common.config.Configs;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -11,11 +12,21 @@ import lombok.Getter;
public enum ConfigKeyEnum {
PASSWORD_SALT("admin.password-salt", ""),
JWT_TIMEOUT_DAYS("admin.jwt-timeout-days", "365"),
- JWT_SECRET("admin.jwt.secret", "");
+ JWT_SECRET("admin.jwt.secret", ""),
+ TORNA_URL("admin.torna-url", ""),
+ OPEN_PROD_URL("admin.open-prod-url", ""),
+ OPEN_SANDBOX_URL("admin.open-sandbox-url", "");
private final String key;
private final String defaultValue;
+ public String getValue() {
+ return getValue(this.defaultValue);
+ }
+
+ public String getValue(String defaultValue) {
+ return Configs.getValue(this, defaultValue);
+ }
}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/config/SopAdminConfiguration.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/config/SopAdminConfiguration.java
index ea9d0228..f97be572 100644
--- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/config/SopAdminConfiguration.java
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/config/SopAdminConfiguration.java
@@ -5,13 +5,11 @@ import com.gitee.sop.adminbackend.common.util.SystemUtil;
import com.gitee.sop.adminbackend.interceptor.LoginInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
import org.springframework.util.StringUtils;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/DocSettingController.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/DocSettingController.java
new file mode 100644
index 00000000..94aed4a7
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/DocSettingController.java
@@ -0,0 +1,41 @@
+package com.gitee.sop.adminbackend.controller.doc;
+
+import com.gitee.sop.adminbackend.common.resp.Result;
+import com.gitee.sop.adminbackend.common.util.CopyUtil;
+import com.gitee.sop.adminbackend.controller.doc.resp.DocSettingVO;
+import com.gitee.sop.adminbackend.service.doc.DocService;
+import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 文档设置
+ *
+ * @author 六如
+ */
+@RestController
+@RequestMapping("/doc/setting")
+public class DocSettingController {
+
+ @Autowired
+ private DocService docService;
+
+ @GetMapping("get")
+ public Result get() {
+ DocSettingDTO docSetting = docService.getDocSetting();
+ DocSettingVO docSettingVO = CopyUtil.copyBean(docSetting, DocSettingVO::new);
+ return Result.ok(docSettingVO);
+ }
+
+ @PostMapping("save")
+ public Result save(@Validated @RequestBody DocSettingDTO docSettingVO) {
+ docService.save(docSettingVO);
+ return Result.ok(1);
+ }
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/resp/DocSettingVO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/resp/DocSettingVO.java
new file mode 100644
index 00000000..c210126d
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/doc/resp/DocSettingVO.java
@@ -0,0 +1,19 @@
+package com.gitee.sop.adminbackend.controller.doc.resp;
+
+import lombok.Data;
+
+/**
+ * @author 六如
+ */
+@Data
+public class DocSettingVO {
+
+ private String tornaServerAddr;
+
+ private String openProdUrl;
+
+ private String openSandboxUrl;
+
+
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/SysConfigController.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/SysConfigController.java
index 4067c531..9a248672 100644
--- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/SysConfigController.java
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/SysConfigController.java
@@ -1,22 +1,15 @@
package com.gitee.sop.adminbackend.controller.sys;
-import com.gitee.fastmybatis.core.PageInfo;
-import com.gitee.fastmybatis.core.query.LambdaQuery;
-import com.gitee.fastmybatis.core.query.param.PageParam;
-import com.gitee.sop.adminbackend.common.req.IdParam;
import com.gitee.sop.adminbackend.common.resp.Result;
import com.gitee.sop.adminbackend.controller.sys.req.ConfigSettingParam;
-import com.gitee.sop.adminbackend.dao.entity.SysConfig;
import com.gitee.sop.adminbackend.service.sys.SysConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-
/**
* @author 六如
*/
@@ -24,7 +17,7 @@ import javax.annotation.Resource;
@RequestMapping("sys/config")
public class SysConfigController {
- @Resource
+ @Autowired
private SysConfigService sysConfigService;
/**
@@ -34,10 +27,9 @@ public class SysConfigController {
*/
@PostMapping("/save")
public Result add(@Validated @RequestBody ConfigSettingParam param) {
- // 返回添加后的主键值
+ sysConfigService.save(param.getItems());
return Result.ok(1);
}
-
}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/req/ConfigSettingParam.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/req/ConfigSettingParam.java
index 444ea27c..010cd8d8 100644
--- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/req/ConfigSettingParam.java
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/sys/req/ConfigSettingParam.java
@@ -1,5 +1,6 @@
package com.gitee.sop.adminbackend.controller.sys.req;
+import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@@ -12,15 +13,7 @@ import java.util.List;
public class ConfigSettingParam {
@NotEmpty
- private List items;
+ private List items;
- @Data
- public static class Config {
- private String configKey;
-
- private String configValue;
-
- private String remark;
- }
}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/WebsiteController.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/WebsiteController.java
new file mode 100644
index 00000000..7abe1436
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/WebsiteController.java
@@ -0,0 +1,54 @@
+package com.gitee.sop.adminbackend.controller.website;
+
+import com.gitee.sop.adminbackend.common.annotation.NoToken;
+import com.gitee.sop.adminbackend.common.resp.Result;
+import com.gitee.sop.adminbackend.common.util.CopyUtil;
+import com.gitee.sop.adminbackend.controller.website.resp.DocAppVO;
+import com.gitee.sop.adminbackend.controller.website.resp.DocInfoTreeVO;
+import com.gitee.sop.adminbackend.service.website.WebsiteService;
+import com.gitee.sop.adminbackend.service.website.dto.DocAppDTO;
+import com.gitee.sop.adminbackend.service.website.dto.DocInfoTreeDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 提供给网站的接口,不需要校验token
+ *
+ * @author 六如
+ */
+@RestController
+@RequestMapping("website")
+@NoToken
+public class WebsiteController {
+
+ @Autowired
+ private WebsiteService websiteService;
+
+
+ /**
+ * 获取文档应用列表
+ */
+ @GetMapping("listDocApp")
+ public Result> listDocApp() {
+ List docAppDTOS = websiteService.listDocApp();
+ List docAppVOS = CopyUtil.deepCopyList(docAppDTOS, DocAppVO.class);
+ return Result.ok(docAppVOS);
+ }
+
+ /**
+ * 获取文档菜单树
+ *
+ * @param docAppId 应用id
+ */
+ @GetMapping("listDocMenuTree")
+ public Result> listDocMenuTree(Long docAppId) {
+ List docInfoTreeDTOS = websiteService.listDocMenuTree(docAppId);
+ List docAppVOS = CopyUtil.deepCopyList(docInfoTreeDTOS, DocInfoTreeVO.class);
+ return Result.ok(docAppVOS);
+ }
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocAppVO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocAppVO.java
new file mode 100644
index 00000000..bd6d0f1d
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocAppVO.java
@@ -0,0 +1,24 @@
+package com.gitee.sop.adminbackend.controller.website.resp;
+
+import lombok.Data;
+
+
+/**
+ * 备注:文档应用
+ *
+ * @author 六如
+ */
+@Data
+public class DocAppVO {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 应用名称
+ */
+ private String appName;
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocInfoTreeVO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocInfoTreeVO.java
new file mode 100644
index 00000000..2a975e30
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/controller/website/resp/DocInfoTreeVO.java
@@ -0,0 +1,106 @@
+package com.gitee.sop.adminbackend.controller.website.resp;
+
+import com.gitee.fastmybatis.core.support.TreeNode;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+ * 备注:文档信息
+ *
+ * @author 六如
+ */
+@Data
+public class DocInfoTreeVO implements TreeNode {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * doc_app.id
+ */
+ private Long docAppId;
+
+ /**
+ * 文档id
+ */
+ private Long docId;
+
+ /**
+ * 文档code
+ */
+ private String docCode;
+
+ /**
+ * 文档类型,1-dubbo,2-富文本,3-Markdown
+ */
+ private Integer docType;
+
+ /**
+ * 来源类型,1-torna,2-自建
+ */
+ private Integer sourceType;
+
+ /**
+ * 文档名称
+ */
+ private String docName;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 是否分类
+ */
+ private Integer isFolder;
+
+ /**
+ * 状态, 0-未发布,1-已发布
+ */
+ private Integer isPublish;
+
+ /**
+ * 父节点id
+ */
+ private Long parentId;
+
+ /**
+ * 添加时间
+ */
+ private LocalDateTime addTime;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 创建人id
+ */
+ private Long addBy;
+
+ /**
+ * 修改人id
+ */
+ private Long updateBy;
+
+ private List children;
+
+
+ @Override
+ public Long takeId() {
+ return id;
+ }
+
+ @Override
+ public Long takeParentId() {
+ return parentId;
+ }
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocApp.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocApp.java
new file mode 100644
index 00000000..8636f696
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocApp.java
@@ -0,0 +1,58 @@
+package com.gitee.sop.adminbackend.dao.entity;
+
+import java.time.LocalDateTime;
+
+import com.gitee.fastmybatis.annotation.Pk;
+import com.gitee.fastmybatis.annotation.PkStrategy;
+import com.gitee.fastmybatis.annotation.Table;
+
+import lombok.Data;
+
+
+/**
+ * 表名:doc_app
+ * 备注:文档应用
+ *
+ * @author 六如
+ */
+@Table(name = "doc_app", pk = @Pk(name = "id", strategy = PkStrategy.INCREMENT))
+@Data
+public class DocApp {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 应用名称
+ */
+ private String appName;
+
+ /**
+ * Torna应用token
+ */
+ private String token;
+
+ /**
+ * 添加时间
+ */
+ private LocalDateTime addTime;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 创建人id
+ */
+ private Long addBy;
+
+ /**
+ * 修改人id
+ */
+ private Long updateBy;
+
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocInfo.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocInfo.java
new file mode 100644
index 00000000..aefdd482
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/entity/DocInfo.java
@@ -0,0 +1,98 @@
+package com.gitee.sop.adminbackend.dao.entity;
+
+import java.time.LocalDateTime;
+
+import com.gitee.fastmybatis.annotation.Pk;
+import com.gitee.fastmybatis.annotation.PkStrategy;
+import com.gitee.fastmybatis.annotation.Table;
+
+import lombok.Data;
+
+
+/**
+ * 表名:doc_info
+ * 备注:文档信息
+ *
+ * @author 六如
+ */
+@Table(name = "doc_info", pk = @Pk(name = "id", strategy = PkStrategy.INCREMENT))
+@Data
+public class DocInfo {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * doc_app.id
+ */
+ private Long docAppId;
+
+ /**
+ * 文档id
+ */
+ private Long docId;
+
+ /**
+ * 文档code
+ */
+ private String docCode;
+
+ /**
+ * 文档类型,1-dubbo,2-富文本,3-Markdown
+ */
+ private Integer docType;
+
+ /**
+ * 来源类型,1-torna,2-自建
+ */
+ private Integer sourceType;
+
+ /**
+ * 文档名称
+ */
+ private String docName;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 是否分类
+ */
+ private Integer isFolder;
+
+ /**
+ * 状态, 0-未发布,1-已发布
+ */
+ private Integer isPublish;
+
+ /**
+ * 父节点id
+ */
+ private Long parentId;
+
+ /**
+ * 添加时间
+ */
+ private LocalDateTime addTime;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 创建人id
+ */
+ private Long addBy;
+
+ /**
+ * 修改人id
+ */
+ private Long updateBy;
+
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocAppMapper.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocAppMapper.java
new file mode 100644
index 00000000..bf4c31cd
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocAppMapper.java
@@ -0,0 +1,13 @@
+package com.gitee.sop.adminbackend.dao.mapper;
+
+import com.gitee.fastmybatis.core.mapper.BaseMapper;
+import com.gitee.sop.adminbackend.dao.entity.DocApp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author 六如
+ */
+@Mapper
+public interface DocAppMapper extends BaseMapper {
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocInfoMapper.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocInfoMapper.java
new file mode 100644
index 00000000..e706d91a
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/dao/mapper/DocInfoMapper.java
@@ -0,0 +1,13 @@
+package com.gitee.sop.adminbackend.dao.mapper;
+
+import com.gitee.fastmybatis.core.mapper.BaseMapper;
+import com.gitee.sop.adminbackend.dao.entity.DocInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author 六如
+ */
+@Mapper
+public interface DocInfoMapper extends BaseMapper {
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/DocService.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/DocService.java
new file mode 100644
index 00000000..b9679fec
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/DocService.java
@@ -0,0 +1,39 @@
+package com.gitee.sop.adminbackend.service.doc;
+
+import com.gitee.sop.adminbackend.common.enums.ConfigKeyEnum;
+import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
+import com.gitee.sop.adminbackend.service.sys.SysConfigService;
+import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+/**
+ * @author 六如
+ */
+@Service
+public class DocService {
+
+ @Autowired
+ private SysConfigService sysConfigService;
+
+ public DocSettingDTO getDocSetting() {
+ DocSettingDTO docSettingDTO = new DocSettingDTO();
+ docSettingDTO.setTornaServerAddr(ConfigKeyEnum.TORNA_URL.getValue());
+ docSettingDTO.setOpenProdUrl(ConfigKeyEnum.OPEN_PROD_URL.getValue());
+ docSettingDTO.setOpenSandboxUrl(ConfigKeyEnum.OPEN_SANDBOX_URL.getValue());
+ return docSettingDTO;
+ }
+
+ public void save(DocSettingDTO docSettingDTO) {
+ Collection systemConfigDTOS = new ArrayList<>();
+ systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.TORNA_URL.getKey(), docSettingDTO.getTornaServerAddr(), "Torna服务器地址"));
+ systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_PROD_URL.getKey(), docSettingDTO.getOpenProdUrl(), "开放平台线上地址"));
+ systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_SANDBOX_URL.getKey(), docSettingDTO.getOpenSandboxUrl(), "开放平台沙箱地址"));
+ sysConfigService.save(systemConfigDTOS);
+ }
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/dto/DocSettingDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/dto/DocSettingDTO.java
new file mode 100644
index 00000000..b143f0d7
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/doc/dto/DocSettingDTO.java
@@ -0,0 +1,20 @@
+package com.gitee.sop.adminbackend.service.doc.dto;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @author 六如
+ */
+@Data
+public class DocSettingDTO {
+
+ @Length(max = 256)
+ private String tornaServerAddr;
+ @Length(max = 256)
+ private String openProdUrl;
+ @Length(max = 256)
+ private String openSandboxUrl;
+
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/sys/dto/SystemConfigDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/sys/dto/SystemConfigDTO.java
index 8f97b23a..30339db7 100644
--- a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/sys/dto/SystemConfigDTO.java
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/sys/dto/SystemConfigDTO.java
@@ -1,11 +1,15 @@
package com.gitee.sop.adminbackend.service.sys.dto;
+import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* @author tanghc
*/
@Data
+@AllArgsConstructor
+@NoArgsConstructor
public class SystemConfigDTO {
private String configKey;
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/WebsiteService.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/WebsiteService.java
new file mode 100644
index 00000000..88d4523a
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/WebsiteService.java
@@ -0,0 +1,38 @@
+package com.gitee.sop.adminbackend.service.website;
+
+import com.gitee.fastmybatis.core.util.TreeUtil;
+import com.gitee.sop.adminbackend.common.util.CopyUtil;
+import com.gitee.sop.adminbackend.dao.entity.DocApp;
+import com.gitee.sop.adminbackend.dao.entity.DocInfo;
+import com.gitee.sop.adminbackend.dao.mapper.DocAppMapper;
+import com.gitee.sop.adminbackend.dao.mapper.DocInfoMapper;
+import com.gitee.sop.adminbackend.service.website.dto.DocAppDTO;
+import com.gitee.sop.adminbackend.service.website.dto.DocInfoTreeDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author 六如
+ */
+@Service
+public class WebsiteService {
+
+ @Autowired
+ private DocAppMapper docAppMapper;
+ @Autowired
+ private DocInfoMapper docInfoMapper;
+
+ public List listDocApp() {
+ List docApps = docAppMapper.listAll();
+ return CopyUtil.copyList(docApps, DocAppDTO::new);
+ }
+
+ public List listDocMenuTree(Long docAppId) {
+ List list = docInfoMapper.list(DocInfo::getDocAppId, docAppId);
+ List treeList = CopyUtil.copyList(list, DocInfoTreeDTO::new);
+ return TreeUtil.convertTree(treeList, 0L);
+ }
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocAppDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocAppDTO.java
new file mode 100644
index 00000000..92d2fe37
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocAppDTO.java
@@ -0,0 +1,56 @@
+package com.gitee.sop.adminbackend.service.website.dto;
+
+import java.time.LocalDateTime;
+
+import com.gitee.fastmybatis.annotation.Pk;
+import com.gitee.fastmybatis.annotation.PkStrategy;
+import com.gitee.fastmybatis.annotation.Table;
+
+import lombok.Data;
+
+
+/**
+ * 备注:文档应用
+ *
+ * @author 六如
+ */
+@Data
+public class DocAppDTO {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 应用名称
+ */
+ private String appName;
+
+ /**
+ * Torna应用token
+ */
+ private String token;
+
+ /**
+ * 添加时间
+ */
+ private LocalDateTime addTime;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 创建人id
+ */
+ private Long addBy;
+
+ /**
+ * 修改人id
+ */
+ private Long updateBy;
+
+
+}
diff --git a/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocInfoTreeDTO.java b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocInfoTreeDTO.java
new file mode 100644
index 00000000..4e1a7fbc
--- /dev/null
+++ b/sop-admin/sop-admin-backend/src/main/java/com/gitee/sop/adminbackend/service/website/dto/DocInfoTreeDTO.java
@@ -0,0 +1,106 @@
+package com.gitee.sop.adminbackend.service.website.dto;
+
+import com.gitee.fastmybatis.core.support.TreeNode;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+ * 备注:文档信息
+ *
+ * @author 六如
+ */
+@Data
+public class DocInfoTreeDTO implements TreeNode {
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * doc_app.id
+ */
+ private Long docAppId;
+
+ /**
+ * 文档id
+ */
+ private Long docId;
+
+ /**
+ * 文档code
+ */
+ private String docCode;
+
+ /**
+ * 文档类型,1-dubbo,2-富文本,3-Markdown
+ */
+ private Integer docType;
+
+ /**
+ * 来源类型,1-torna,2-自建
+ */
+ private Integer sourceType;
+
+ /**
+ * 文档名称
+ */
+ private String docName;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 是否分类
+ */
+ private Integer isFolder;
+
+ /**
+ * 状态, 0-未发布,1-已发布
+ */
+ private Integer isPublish;
+
+ /**
+ * 父节点id
+ */
+ private Long parentId;
+
+ /**
+ * 添加时间
+ */
+ private LocalDateTime addTime;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateTime;
+
+ /**
+ * 创建人id
+ */
+ private Long addBy;
+
+ /**
+ * 修改人id
+ */
+ private Long updateBy;
+
+ private List children;
+
+
+ @Override
+ public Long takeId() {
+ return id;
+ }
+
+ @Override
+ public Long takeParentId() {
+ return parentId;
+ }
+
+}
diff --git a/sop-admin/sop-admin-frontend/src/api/docSetting.ts b/sop-admin/sop-admin-frontend/src/api/docSetting.ts
new file mode 100644
index 00000000..1da41de2
--- /dev/null
+++ b/sop-admin/sop-admin-frontend/src/api/docSetting.ts
@@ -0,0 +1,27 @@
+import { createUrl, http } from "@/utils/http";
+import type { PageResult, Result } from "@/model";
+
+// 后端请求接口
+const apiUrl: any = createUrl({
+ get: "/doc/setting/get",
+ save: "/doc/setting/save"
+});
+
+/**
+ * 接口管理
+ */
+export const api: any = {
+ /**
+ * 分页查询
+ */
+ get(): Promise {
+ return http.get(apiUrl.get, {});
+ },
+ /**
+ * 新增
+ * @param data 表单内容
+ */
+ save(data: object) {
+ return http.post, any>(apiUrl.save, { data });
+ }
+};
diff --git a/sop-admin/sop-admin-frontend/src/views/doc/list/index.vue b/sop-admin/sop-admin-frontend/src/views/doc/list/index.vue
index 63cf316b..884c31c2 100644
--- a/sop-admin/sop-admin-frontend/src/views/doc/list/index.vue
+++ b/sop-admin/sop-admin-frontend/src/views/doc/list/index.vue
@@ -1,11 +1,6 @@
-
-
+ 1
-
-
diff --git a/sop-admin/sop-admin-frontend/src/views/doc/setting/index.ts b/sop-admin/sop-admin-frontend/src/views/doc/setting/index.ts
index bfb6e50e..859a0b5c 100644
--- a/sop-admin/sop-admin-frontend/src/views/doc/setting/index.ts
+++ b/sop-admin/sop-admin-frontend/src/views/doc/setting/index.ts
@@ -1,31 +1,15 @@
import { ref } from "vue";
import type { PlusColumn, FieldValues } from "plus-pro-components";
+import { api } from "@/api/docSetting";
+import { ElMessage } from "element-plus";
export const state = ref({
- status: "0",
- name: "",
- rate: 4,
- progress: 100,
- switch: true,
- time: new Date().toString(),
- endTime: [],
- img: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+ tornaServerAddr: "",
+ openProdUrl: "",
+ openSandboxUrl: ""
});
-export const rules = {
- tornaServerAddr: [
- {
- required: true,
- message: "请输入名称"
- }
- ],
- openProdUrl: [
- {
- required: true,
- message: "请输入标签"
- }
- ]
-};
+export const rules = {};
export const columns: PlusColumn[] = [
{
@@ -55,5 +39,15 @@ export const columns: PlusColumn[] = [
];
export const handleSubmit = (values: FieldValues) => {
- console.log(values, "Submit");
+ api.save(values).then(() => {
+ ElMessage.success("保存成功");
+ });
};
+
+const loadSetting = () => {
+ api.get().then(resp => {
+ state.value = resp.data;
+ });
+};
+
+loadSetting();