diff --git a/zyplayer-doc-api/src/main/java/com/zyplayer/doc/api/controller/ApiCustomRequestController.java b/zyplayer-doc-api/src/main/java/com/zyplayer/doc/api/controller/ApiCustomRequestController.java index c7020350..0b783553 100644 --- a/zyplayer-doc-api/src/main/java/com/zyplayer/doc/api/controller/ApiCustomRequestController.java +++ b/zyplayer-doc-api/src/main/java/com/zyplayer/doc/api/controller/ApiCustomRequestController.java @@ -39,7 +39,7 @@ public class ApiCustomRequestController { @ResponseBody @PostMapping(value = "/add") public ResponseJson add(ApiCustomRequest apiCustomRequest) { - apiCustomRequestService.addRequest(apiCustomRequest); - return DocResponseJson.ok(); + ApiCustomRequest requestSaved = apiCustomRequestService.addRequest(apiCustomRequest); + return DocResponseJson.ok(requestSaved); } } diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomDocVo.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomDocVo.java index 28e7473c..71421cef 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomDocVo.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomDocVo.java @@ -12,6 +12,16 @@ public class ApiCustomDocVo implements Serializable { private static final long serialVersionUID = 1L; + /** + * 接口ID + */ + private Long requestId; + + /** + * 文件夹ID + */ + private Long folderId; + /** * 接口名称 */ @@ -102,4 +112,20 @@ public class ApiCustomDocVo implements Serializable { public void setMethod(String method) { this.method = method; } + + public Long getRequestId() { + return requestId; + } + + public void setRequestId(Long requestId) { + this.requestId = requestId; + } + + public Long getFolderId() { + return folderId; + } + + public void setFolderId(Long folderId) { + this.folderId = folderId; + } } diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomVo.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomVo.java index 7b1f09f2..12bf252b 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomVo.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/repository/manage/vo/ApiCustomVo.java @@ -13,6 +13,11 @@ public class ApiCustomVo implements Serializable { private static final long serialVersionUID = 1L; + /** + * 文件夹ID + */ + private Long folderId; + /** * 文件夹名称 */ @@ -64,4 +69,12 @@ public class ApiCustomVo implements Serializable { public void setApis(List apis) { this.apis = apis; } + + public Long getFolderId() { + return folderId; + } + + public void setFolderId(Long folderId) { + this.folderId = folderId; + } } diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/ApiCustomRequestService.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/ApiCustomRequestService.java index d562e29c..445403ce 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/ApiCustomRequestService.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/ApiCustomRequestService.java @@ -32,5 +32,5 @@ public interface ApiCustomRequestService extends IService { * @author 暮光:城中城 * @since 2021-12-22 */ - void addRequest(ApiCustomRequest apiCustomRequest); + ApiCustomRequest addRequest(ApiCustomRequest apiCustomRequest); } diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/ApiCustomRequestServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/ApiCustomRequestServiceImpl.java index a030fbf3..eaa92f09 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/ApiCustomRequestServiceImpl.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/ApiCustomRequestServiceImpl.java @@ -70,7 +70,7 @@ public class ApiCustomRequestServiceImpl extends ServiceImpl customGroupChildren = this.getCustomGroupChildren(children, apiGroupMap, apiMap); List apis = this.buildApiCustomDocVo(apiCustomList); ApiCustomVo apiCustomVo = new ApiCustomVo(); + apiCustomVo.setFolderId(customGroup.getId()); apiCustomVo.setName(customGroup.getFolderName()); apiCustomVo.setDesc(customGroup.getFolderDesc()); apiCustomVo.setChildren(customGroupChildren); @@ -117,6 +119,8 @@ public class ApiCustomRequestServiceImpl extends ServiceImpl statementMap = new ConcurrentHashMap<>(); /** * 取消执行 + * * @author 暮光:城中城 * @since 2019年8月18日 */ @@ -62,6 +58,7 @@ public class SqlExecutor { /** * 执行sql,返回结果 + * * @author 暮光:城中城 * @since 2019年8月18日 */ @@ -72,6 +69,7 @@ public class SqlExecutor { /** * 执行sql,返回结果 + * * @author 暮光:城中城 * @since 2019年8月18日 */ @@ -82,6 +80,7 @@ public class SqlExecutor { /** * 执行sql,可通过handler回调每一行的结果 + * * @author 暮光:城中城 * @since 2019年8月18日 */ @@ -89,9 +88,6 @@ public class SqlExecutor { if (factoryBean == null) { return ExecuteResult.error("未找到数据库连接", executeParam.getSql()); } -// BoundSql boundSql = getBoundSql(sql, paramMap); -// sql = boundSql.getSql(); -// String sqlStr = SqlLogUtil.getSqlString(paramMap, boundSql); // 有参数的时候不输出日志,暂时只有导数据才有参数 if (CollectionUtils.isEmpty(executeParam.getParamList())) { if (StringUtils.isNotBlank(executeParam.getPrefixSql())) { @@ -99,7 +95,6 @@ public class SqlExecutor { } logger.info("sql ==> {}", executeParam.getSql()); } -// List parameterMappings = boundSql.getParameterMappings(); PreparedStatement preparedStatement = null; PreparedStatement prefixStatement = null; DruidPooledConnection connection = null; @@ -181,16 +176,4 @@ public class SqlExecutor { } } } - - private BoundSql getBoundSql(String sql, Map paramMap){ - // 组装参数 - GenericTokenParser parser = new GenericTokenParser("${", "}", content -> { - Object o = paramMap.get(content); - return (o == null) ? null : String.valueOf(o); - }); - sql = parser.parse(sql); - SqlSourceBuilder sqlSourceBuilder = new SqlSourceBuilder(new MybatisConfiguration()); - StaticSqlSource parse = (StaticSqlSource) sqlSourceBuilder.parse(sql, Object.class, paramMap); - return parse.getBoundSql(new Object()); - } } diff --git a/zyplayer-doc-ui/api-ui/package-lock.json b/zyplayer-doc-ui/api-ui/package-lock.json index 4a7e9c39..0c7aa8e3 100644 --- a/zyplayer-doc-ui/api-ui/package-lock.json +++ b/zyplayer-doc-ui/api-ui/package-lock.json @@ -214,7 +214,7 @@ "dependencies": { "@ant-design/colors": { "version": "6.0.0", - "resolved": "https://r.cnpmjs.org/@ant-design/colors/download/@ant-design/colors-6.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-6.0.0.tgz", "integrity": "sha1-m5NmJXz/zEfbQrnQIDu1ksE8Apg=", "requires": { "@ctrl/tinycolor": "^3.4.0" @@ -1029,7 +1029,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://r.cnpmjs.org/assert-plus/download/assert-plus-1.0.0.tgz", + "resolved": "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "optional": true } diff --git a/zyplayer-doc-ui/api-ui/src/api/zyplayer.js b/zyplayer-doc-ui/api-ui/src/api/zyplayer.js index 41da8f2f..8c9277a5 100644 --- a/zyplayer-doc-ui/api-ui/src/api/zyplayer.js +++ b/zyplayer-doc-ui/api-ui/src/api/zyplayer.js @@ -22,5 +22,8 @@ export const zyplayerApi = { docAuthList: data => apiClient({url: '/doc-api/doc/auth/list', method: 'post', data: data}), docAuthAssign: data => apiClient({url: '/doc-api/doc/auth/assign', method: 'post', data: data}), docAuthDelete: data => apiClient({url: '/doc-api/doc/auth/delete', method: 'post', data: data}), + + apiCustomFolderAdd: data => apiClient({url: '/api-custom-folder/add', method: 'post', data: data}), + apiCustomRequestAdd: data => apiClient({url: '/api-custom-request/add', method: 'post', data: data}), }; diff --git a/zyplayer-doc-ui/api-ui/src/assets/core/CustomRequestTreeAnalysis.js b/zyplayer-doc-ui/api-ui/src/assets/core/CustomRequestTreeAnalysis.js index 10509928..7bc0917e 100644 --- a/zyplayer-doc-ui/api-ui/src/assets/core/CustomRequestTreeAnalysis.js +++ b/zyplayer-doc-ui/api-ui/src/assets/core/CustomRequestTreeAnalysis.js @@ -31,7 +31,7 @@ function getTreeDataChildren(customRequest, keywords, metaInfo, treeIndex) { customRequest.children.forEach(item => { let tempTreeId = treeIndex + "_" + indexFolder + "_" + indexApi; let treeChildren = getTreeDataChildren(item, keywords, metaInfo, tempTreeId); - treeData.push({title: item.name, key: tempTreeId, children: treeChildren}); + treeData.push({title: item.name, key: tempTreeId, folderId: item.folderId, isLeaf: false, children: treeChildren}); indexApi++; }); } @@ -43,10 +43,11 @@ function getTreeDataChildren(customRequest, keywords, metaInfo, treeIndex) { key: tempTreeId, isLeaf: true, method: item.method, + folderId: item.folderId, query: { ...metaInfo, - path: item.apiUrl, - method: item.method, + requestId: item.requestId, + folderId: item.folderId, } }); indexApi++; diff --git a/zyplayer-doc-ui/api-ui/src/components/layouts/MenuLayout.vue b/zyplayer-doc-ui/api-ui/src/components/layouts/MenuLayout.vue index 258f0f7f..e42a53fa 100644 --- a/zyplayer-doc-ui/api-ui/src/components/layouts/MenuLayout.vue +++ b/zyplayer-doc-ui/api-ui/src/components/layouts/MenuLayout.vue @@ -71,6 +71,8 @@ docChoiceId.value = parseInt(route.query.id); } else if (route.path === '/openapi/view' && route.query.id){ docChoiceId.value = parseInt(route.query.id); + } else if (route.path === '/custom/request' && route.query.id){ + docChoiceId.value = parseInt(route.query.id); } else { docChoiceId.value = docResourceList.value[0].id; } diff --git a/zyplayer-doc-ui/api-ui/src/components/layouts/doc-tree/CustomRequest.vue b/zyplayer-doc-ui/api-ui/src/components/layouts/doc-tree/CustomRequest.vue index 29f423ad..5d8c68e8 100644 --- a/zyplayer-doc-ui/api-ui/src/components/layouts/doc-tree/CustomRequest.vue +++ b/zyplayer-doc-ui/api-ui/src/components/layouts/doc-tree/CustomRequest.vue @@ -1,42 +1,38 @@