mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 21:57:56 +08:00
5.0
This commit is contained in:
@@ -13,7 +13,7 @@ public enum ConfigKeyEnum {
|
|||||||
PASSWORD_SALT("admin.password-salt", ""),
|
PASSWORD_SALT("admin.password-salt", ""),
|
||||||
JWT_TIMEOUT_DAYS("admin.jwt-timeout-days", "365"),
|
JWT_TIMEOUT_DAYS("admin.jwt-timeout-days", "365"),
|
||||||
JWT_SECRET("admin.jwt.secret", ""),
|
JWT_SECRET("admin.jwt.secret", ""),
|
||||||
TORNA_URL("admin.torna-url", ""),
|
TORNA_SERVER_ADDR("admin.torna-server-addr", ""),
|
||||||
OPEN_PROD_URL("admin.open-prod-url", ""),
|
OPEN_PROD_URL("admin.open-prod-url", ""),
|
||||||
OPEN_SANDBOX_URL("admin.open-sandbox-url", "");
|
OPEN_SANDBOX_URL("admin.open-sandbox-url", "");
|
||||||
|
|
||||||
|
@@ -0,0 +1,42 @@
|
|||||||
|
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.param.DocAppAddParam;
|
||||||
|
import com.gitee.sop.adminbackend.controller.doc.vo.DocAppVO;
|
||||||
|
import com.gitee.sop.adminbackend.service.doc.DocService;
|
||||||
|
import com.gitee.sop.adminbackend.service.website.dto.DocAppDTO;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 六如
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("doc")
|
||||||
|
public class DocController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DocService docService;
|
||||||
|
|
||||||
|
@GetMapping("app/list")
|
||||||
|
public Result<List<DocAppVO>> listApp() {
|
||||||
|
List<DocAppDTO> docAppDTOS = docService.listDocApp();
|
||||||
|
List<DocAppVO> docAppVOS = CopyUtil.copyList(docAppDTOS, DocAppVO::new);
|
||||||
|
return Result.ok(docAppVOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("app/add")
|
||||||
|
public Result<Integer> addApp(@Validated @RequestBody DocAppAddParam param) {
|
||||||
|
docService.addDocApp(param.getTornaToken());
|
||||||
|
return Result.ok(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -2,7 +2,7 @@ package com.gitee.sop.adminbackend.controller.doc;
|
|||||||
|
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
||||||
import com.gitee.sop.adminbackend.controller.doc.resp.DocSettingVO;
|
import com.gitee.sop.adminbackend.controller.doc.vo.DocSettingVO;
|
||||||
import com.gitee.sop.adminbackend.service.doc.DocService;
|
import com.gitee.sop.adminbackend.service.doc.DocService;
|
||||||
import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
|
import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@@ -0,0 +1,18 @@
|
|||||||
|
package com.gitee.sop.adminbackend.controller.doc.param;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 六如
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DocAppAddParam {
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@Length(max = 128)
|
||||||
|
private String tornaToken;
|
||||||
|
|
||||||
|
}
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.website.resp;
|
package com.gitee.sop.adminbackend.controller.doc.vo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.doc.resp;
|
package com.gitee.sop.adminbackend.controller.doc.vo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -7,10 +7,10 @@ import com.gitee.sop.adminbackend.common.util.RSATool;
|
|||||||
import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
|
import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
|
||||||
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
|
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoAddParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.IsvInfoAddParam;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateKeysParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.IsvInfoUpdateKeysParam;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.IsvInfoUpdateParam;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.IsvKeysGenParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.IsvKeysGenParam;
|
||||||
import com.gitee.sop.adminbackend.dao.entity.IsvInfo;
|
import com.gitee.sop.adminbackend.dao.entity.IsvInfo;
|
||||||
import com.gitee.sop.adminbackend.service.isv.IsvInfoService;
|
import com.gitee.sop.adminbackend.service.isv.IsvInfoService;
|
||||||
import com.gitee.sop.adminbackend.service.isv.PermIsvGroupService;
|
import com.gitee.sop.adminbackend.service.isv.PermIsvGroupService;
|
||||||
|
@@ -4,8 +4,8 @@ import com.gitee.fastmybatis.core.PageInfo;
|
|||||||
import com.gitee.fastmybatis.core.query.LambdaQuery;
|
import com.gitee.fastmybatis.core.query.LambdaQuery;
|
||||||
import com.gitee.sop.adminbackend.common.req.IdParam;
|
import com.gitee.sop.adminbackend.common.req.IdParam;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.PermGroupPageParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.PermGroupPageParam;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.PermGroupParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.PermGroupParam;
|
||||||
import com.gitee.sop.adminbackend.dao.entity.PermGroup;
|
import com.gitee.sop.adminbackend.dao.entity.PermGroup;
|
||||||
import com.gitee.sop.adminbackend.service.isv.PermGroupService;
|
import com.gitee.sop.adminbackend.service.isv.PermGroupService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@@ -3,8 +3,8 @@ package com.gitee.sop.adminbackend.controller.isv;
|
|||||||
import com.gitee.fastmybatis.core.PageInfo;
|
import com.gitee.fastmybatis.core.PageInfo;
|
||||||
import com.gitee.fastmybatis.core.query.LambdaQuery;
|
import com.gitee.fastmybatis.core.query.LambdaQuery;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.PermGroupApiInfoParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.PermGroupApiInfoParam;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.PermGroupPermissionParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.PermGroupPermissionParam;
|
||||||
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
|
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
|
||||||
import com.gitee.sop.adminbackend.service.isv.PermGroupPermissionService;
|
import com.gitee.sop.adminbackend.service.isv.PermGroupPermissionService;
|
||||||
import com.gitee.sop.adminbackend.service.isv.dto.PermGroupPermissionDTO;
|
import com.gitee.sop.adminbackend.service.isv.dto.PermGroupPermissionDTO;
|
||||||
|
@@ -2,7 +2,7 @@ package com.gitee.sop.adminbackend.controller.isv;
|
|||||||
|
|
||||||
import com.gitee.sop.adminbackend.common.context.SpringContext;
|
import com.gitee.sop.adminbackend.common.context.SpringContext;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.isv.req.IsvGroupSettingParam;
|
import com.gitee.sop.adminbackend.controller.isv.param.IsvGroupSettingParam;
|
||||||
import com.gitee.sop.adminbackend.service.isv.PermIsvGroupService;
|
import com.gitee.sop.adminbackend.service.isv.PermIsvGroupService;
|
||||||
import com.gitee.sop.adminbackend.service.isv.dto.IsvGroupSettingDTO;
|
import com.gitee.sop.adminbackend.service.isv.dto.IsvGroupSettingDTO;
|
||||||
import com.gitee.sop.adminbackend.service.isv.event.ChangeIsvPermEvent;
|
import com.gitee.sop.adminbackend.service.isv.event.ChangeIsvPermEvent;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.query.Operator;
|
import com.gitee.fastmybatis.core.query.Operator;
|
||||||
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.query.Operator;
|
import com.gitee.fastmybatis.core.query.Operator;
|
||||||
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.query.Operator;
|
import com.gitee.fastmybatis.core.query.Operator;
|
||||||
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.isv.req;
|
package com.gitee.sop.adminbackend.controller.isv.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -5,7 +5,7 @@ import com.gitee.fastmybatis.core.query.Query;
|
|||||||
import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
|
import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
|
||||||
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
|
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.serve.req.ApiInfoPageParam;
|
import com.gitee.sop.adminbackend.controller.serve.param.ApiInfoPageParam;
|
||||||
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
|
import com.gitee.sop.adminbackend.dao.entity.ApiInfo;
|
||||||
import com.gitee.sop.adminbackend.service.serve.ApiInfoService;
|
import com.gitee.sop.adminbackend.service.serve.ApiInfoService;
|
||||||
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.serve.req;
|
package com.gitee.sop.adminbackend.controller.serve.param;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.query.Operator;
|
import com.gitee.fastmybatis.core.query.Operator;
|
||||||
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.serve.req;
|
package com.gitee.sop.adminbackend.controller.serve.param;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.query.Operator;
|
import com.gitee.fastmybatis.core.query.Operator;
|
||||||
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
import com.gitee.fastmybatis.core.query.annotation.Condition;
|
@@ -2,8 +2,8 @@ package com.gitee.sop.adminbackend.controller.sys;
|
|||||||
|
|
||||||
import com.gitee.sop.adminbackend.common.annotation.NoToken;
|
import com.gitee.sop.adminbackend.common.annotation.NoToken;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.sys.req.LoginParam;
|
import com.gitee.sop.adminbackend.controller.sys.param.LoginParam;
|
||||||
import com.gitee.sop.adminbackend.controller.sys.resp.LoginResultVO;
|
import com.gitee.sop.adminbackend.controller.sys.vo.LoginResultVO;
|
||||||
import com.gitee.sop.adminbackend.service.sys.login.LoginService;
|
import com.gitee.sop.adminbackend.service.sys.login.LoginService;
|
||||||
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginDTO;
|
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginDTO;
|
||||||
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginUser;
|
import com.gitee.sop.adminbackend.service.sys.login.dto.LoginUser;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.sys;
|
package com.gitee.sop.adminbackend.controller.sys;
|
||||||
|
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.controller.sys.req.ConfigSettingParam;
|
import com.gitee.sop.adminbackend.controller.sys.param.ConfigSettingParam;
|
||||||
import com.gitee.sop.adminbackend.service.sys.SysConfigService;
|
import com.gitee.sop.adminbackend.service.sys.SysConfigService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.sys.req;
|
package com.gitee.sop.adminbackend.controller.sys.param;
|
||||||
|
|
||||||
import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
|
import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.sys.req;
|
package com.gitee.sop.adminbackend.controller.sys.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.sys.resp;
|
package com.gitee.sop.adminbackend.controller.sys.vo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@@ -3,8 +3,8 @@ package com.gitee.sop.adminbackend.controller.website;
|
|||||||
import com.gitee.sop.adminbackend.common.annotation.NoToken;
|
import com.gitee.sop.adminbackend.common.annotation.NoToken;
|
||||||
import com.gitee.sop.adminbackend.common.resp.Result;
|
import com.gitee.sop.adminbackend.common.resp.Result;
|
||||||
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
||||||
import com.gitee.sop.adminbackend.controller.website.resp.DocAppVO;
|
import com.gitee.sop.adminbackend.controller.doc.vo.DocAppVO;
|
||||||
import com.gitee.sop.adminbackend.controller.website.resp.DocInfoTreeVO;
|
import com.gitee.sop.adminbackend.controller.website.vo.DocInfoTreeVO;
|
||||||
import com.gitee.sop.adminbackend.service.website.WebsiteService;
|
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.DocAppDTO;
|
||||||
import com.gitee.sop.adminbackend.service.website.dto.DocInfoTreeDTO;
|
import com.gitee.sop.adminbackend.service.website.dto.DocInfoTreeDTO;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package com.gitee.sop.adminbackend.controller.website.resp;
|
package com.gitee.sop.adminbackend.controller.website.vo;
|
||||||
|
|
||||||
import com.gitee.fastmybatis.core.support.TreeNode;
|
import com.gitee.fastmybatis.core.support.TreeNode;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@@ -1,14 +1,30 @@
|
|||||||
package com.gitee.sop.adminbackend.service.doc;
|
package com.gitee.sop.adminbackend.service.doc;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.gitee.httphelper.HttpHelper;
|
||||||
import com.gitee.sop.adminbackend.common.enums.ConfigKeyEnum;
|
import com.gitee.sop.adminbackend.common.enums.ConfigKeyEnum;
|
||||||
|
import com.gitee.sop.adminbackend.common.exception.BizException;
|
||||||
|
import com.gitee.sop.adminbackend.common.util.CopyUtil;
|
||||||
|
import com.gitee.sop.adminbackend.dao.entity.DocApp;
|
||||||
|
import com.gitee.sop.adminbackend.dao.mapper.DocAppMapper;
|
||||||
import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
|
import com.gitee.sop.adminbackend.service.doc.dto.DocSettingDTO;
|
||||||
|
import com.gitee.sop.adminbackend.service.doc.dto.TornaModuleDTO;
|
||||||
import com.gitee.sop.adminbackend.service.sys.SysConfigService;
|
import com.gitee.sop.adminbackend.service.sys.SysConfigService;
|
||||||
import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
|
import com.gitee.sop.adminbackend.service.sys.dto.SystemConfigDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import java.io.IOException;
|
||||||
import org.springframework.stereotype.Service;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import com.gitee.sop.adminbackend.service.website.dto.DocAppDTO;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -20,9 +36,15 @@ public class DocService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SysConfigService sysConfigService;
|
private SysConfigService sysConfigService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DocAppMapper docAppMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TornaClient tornaClient;
|
||||||
|
|
||||||
public DocSettingDTO getDocSetting() {
|
public DocSettingDTO getDocSetting() {
|
||||||
DocSettingDTO docSettingDTO = new DocSettingDTO();
|
DocSettingDTO docSettingDTO = new DocSettingDTO();
|
||||||
docSettingDTO.setTornaServerAddr(ConfigKeyEnum.TORNA_URL.getValue());
|
docSettingDTO.setTornaServerAddr(ConfigKeyEnum.TORNA_SERVER_ADDR.getValue());
|
||||||
docSettingDTO.setOpenProdUrl(ConfigKeyEnum.OPEN_PROD_URL.getValue());
|
docSettingDTO.setOpenProdUrl(ConfigKeyEnum.OPEN_PROD_URL.getValue());
|
||||||
docSettingDTO.setOpenSandboxUrl(ConfigKeyEnum.OPEN_SANDBOX_URL.getValue());
|
docSettingDTO.setOpenSandboxUrl(ConfigKeyEnum.OPEN_SANDBOX_URL.getValue());
|
||||||
return docSettingDTO;
|
return docSettingDTO;
|
||||||
@@ -30,10 +52,27 @@ public class DocService {
|
|||||||
|
|
||||||
public void save(DocSettingDTO docSettingDTO) {
|
public void save(DocSettingDTO docSettingDTO) {
|
||||||
Collection<SystemConfigDTO> systemConfigDTOS = new ArrayList<>();
|
Collection<SystemConfigDTO> systemConfigDTOS = new ArrayList<>();
|
||||||
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.TORNA_URL.getKey(), docSettingDTO.getTornaServerAddr(), "Torna服务器地址"));
|
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.TORNA_SERVER_ADDR.getKey(), docSettingDTO.getTornaServerAddr(), "Torna服务器地址"));
|
||||||
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_PROD_URL.getKey(), docSettingDTO.getOpenProdUrl(), "开放平台线上地址"));
|
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_PROD_URL.getKey(), docSettingDTO.getOpenProdUrl(), "开放平台线上地址"));
|
||||||
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_SANDBOX_URL.getKey(), docSettingDTO.getOpenSandboxUrl(), "开放平台沙箱地址"));
|
systemConfigDTOS.add(new SystemConfigDTO(ConfigKeyEnum.OPEN_SANDBOX_URL.getKey(), docSettingDTO.getOpenSandboxUrl(), "开放平台沙箱地址"));
|
||||||
sysConfigService.save(systemConfigDTOS);
|
sysConfigService.save(systemConfigDTOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addDocApp(String token) {
|
||||||
|
if (docAppMapper.checkExist(DocApp::getToken, token)) {
|
||||||
|
throw new BizException("该应用已添加");
|
||||||
|
}
|
||||||
|
TornaModuleDTO tornaModuleDTO = tornaClient.execute("module.get", null, token, TornaModuleDTO.class);
|
||||||
|
DocApp docApp = new DocApp();
|
||||||
|
docApp.setAppName(tornaModuleDTO.getName());
|
||||||
|
docApp.setToken(token);
|
||||||
|
docAppMapper.saveIgnoreNull(docApp);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DocAppDTO> listDocApp() {
|
||||||
|
List<DocApp> docApps = docAppMapper.listAll();
|
||||||
|
return CopyUtil.copyList(docApps, DocAppDTO::new);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,51 @@
|
|||||||
|
package com.gitee.sop.adminbackend.service.doc;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.gitee.httphelper.HttpHelper;
|
||||||
|
import com.gitee.sop.adminbackend.common.enums.ConfigKeyEnum;
|
||||||
|
import com.gitee.sop.adminbackend.common.exception.BizException;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 六如
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class TornaClient {
|
||||||
|
|
||||||
|
public <T> T execute(String name, Object param, String token, Class<T> respClass) {
|
||||||
|
try {
|
||||||
|
HttpHelper httpHelper = HttpHelper.get(getTornaApiUrl())
|
||||||
|
.parameter("name", name)
|
||||||
|
.parameter("access_token", token);
|
||||||
|
if (param != null) {
|
||||||
|
httpHelper.parameter("data", JSON.toJSONString(param));
|
||||||
|
}
|
||||||
|
String body = httpHelper
|
||||||
|
.execute()
|
||||||
|
.asString();
|
||||||
|
JSONObject jsonObject = JSON.parseObject(body);
|
||||||
|
if (!Objects.equals("0", jsonObject.getString("code"))) {
|
||||||
|
throw new BizException(jsonObject.getString("msg"));
|
||||||
|
}
|
||||||
|
JSONObject data = jsonObject.getJSONObject("data");
|
||||||
|
return data.toJavaObject(respClass);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTornaApiUrl() {
|
||||||
|
String value = ConfigKeyEnum.TORNA_SERVER_ADDR.getValue();
|
||||||
|
if (ObjectUtils.isEmpty(value)) {
|
||||||
|
throw new BizException("Torna服务器地址未配置");
|
||||||
|
}
|
||||||
|
return StringUtils.trimTrailingCharacter(value, '/') + "/api";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,15 @@
|
|||||||
|
package com.gitee.sop.adminbackend.service.doc.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 六如
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TornaModuleDTO {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
"FixedHeader": true,
|
"FixedHeader": true,
|
||||||
"HiddenSideBar": false,
|
"HiddenSideBar": false,
|
||||||
"MultiTagsCache": false,
|
"MultiTagsCache": false,
|
||||||
"KeepAlive": true,
|
"KeepAlive": false,
|
||||||
"Locale": "zh",
|
"Locale": "zh",
|
||||||
"Layout": "vertical",
|
"Layout": "vertical",
|
||||||
"Theme": "light",
|
"Theme": "light",
|
||||||
|
32
sop-admin/sop-admin-frontend/src/api/doc.ts
Normal file
32
sop-admin/sop-admin-frontend/src/api/doc.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import { createUrl, http } from "@/utils/http";
|
||||||
|
import type { Result } from "@/model";
|
||||||
|
|
||||||
|
// 后端请求接口
|
||||||
|
const apiUrl: any = createUrl({
|
||||||
|
addApp: "/doc/app/add",
|
||||||
|
listApp: "/doc/app/list"
|
||||||
|
});
|
||||||
|
|
||||||
|
interface DocApp {
|
||||||
|
id: number;
|
||||||
|
appName: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接口管理
|
||||||
|
*/
|
||||||
|
export const api: any = {
|
||||||
|
/**
|
||||||
|
* 分页查询
|
||||||
|
*/
|
||||||
|
listApp(): Promise<Result<Array<DocApp>>> {
|
||||||
|
return http.get<Result<Array<DocApp>>, any>(apiUrl.listApp, {});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 新增
|
||||||
|
* @param data 表单内容
|
||||||
|
*/
|
||||||
|
addApp(data: object) {
|
||||||
|
return http.post<Result<any>, any>(apiUrl.addApp, { data });
|
||||||
|
}
|
||||||
|
};
|
@@ -50,7 +50,7 @@
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
margin-left: $sideBarWidth;
|
margin-left: $sideBarWidth;
|
||||||
background: #f0f2f5;
|
//background: #f0f2f5;
|
||||||
|
|
||||||
/* main-content 属性动画 */
|
/* main-content 属性动画 */
|
||||||
transition: margin-left var(--pure-transition-duration);
|
transition: margin-left var(--pure-transition-duration);
|
||||||
|
56
sop-admin/sop-admin-frontend/src/views/doc/list/index.ts
Normal file
56
sop-admin/sop-admin-frontend/src/views/doc/list/index.ts
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import { ref } from "vue";
|
||||||
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
|
import { api } from "@/api/doc";
|
||||||
|
|
||||||
|
export const tabsData = ref<Array<any>>([
|
||||||
|
{
|
||||||
|
id: "",
|
||||||
|
appName: ""
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
export const activeName = ref(0);
|
||||||
|
|
||||||
|
export const handleClick = data => {
|
||||||
|
const id = data.props.name;
|
||||||
|
loadContent(id);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const handleAddApp = () => {
|
||||||
|
ElMessageBox.prompt("请输入Torna应用token", "添加应用", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
inputPattern: /\w+/,
|
||||||
|
inputErrorMessage: "请输入Torna应用token"
|
||||||
|
})
|
||||||
|
.then(({ value }) => {
|
||||||
|
const data = {
|
||||||
|
tornaToken: value
|
||||||
|
};
|
||||||
|
api.addApp(data).then(() => {
|
||||||
|
ElMessage.success("添加成功");
|
||||||
|
loadTabs(true);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadTabs = showLast => {
|
||||||
|
api.listApp().then(resp => {
|
||||||
|
tabsData.value = resp.data;
|
||||||
|
const length = tabsData.value.length;
|
||||||
|
if (length > 0) {
|
||||||
|
const showData = showLast
|
||||||
|
? tabsData.value[length - 1]
|
||||||
|
: tabsData.value[0];
|
||||||
|
activeName.value = showData.id;
|
||||||
|
loadContent(showData.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadContent = id => {
|
||||||
|
console.log(id);
|
||||||
|
};
|
||||||
|
|
||||||
|
loadTabs(false);
|
@@ -1,6 +1,23 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const a = 1;
|
import { activeName, handleClick, handleAddApp, tabsData } from "./index";
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<el-card>1</el-card>
|
<el-card shadow="never">
|
||||||
|
<el-tabs
|
||||||
|
v-show="tabsData.length > 0"
|
||||||
|
v-model="activeName"
|
||||||
|
type="card"
|
||||||
|
@tab-click="handleClick"
|
||||||
|
>
|
||||||
|
<el-tab-pane
|
||||||
|
v-for="item in tabsData"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.appName"
|
||||||
|
:name="item.id"
|
||||||
|
/>
|
||||||
|
</el-tabs>
|
||||||
|
</el-card>
|
||||||
|
<div v-show="tabsData.length === 0" style="margin: 20px">
|
||||||
|
<el-button type="primary" @click="handleAddApp">添加应用</el-button>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
Reference in New Issue
Block a user