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 @@ - - - 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();