From e23030bf1808c4defc4d40aa281e2b8cdc8f3d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=98=B1=E6=B6=B5?= Date: Sat, 8 Feb 2025 11:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=9A=E5=8A=A1=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 8 + test-admin/pom.xml | 6 + test-test/pom.xml | 28 ++ .../test/controller/TestApiController.java | 98 ++++++ .../java/com/test/test/domain/TestApi.java | 144 +++++++++ .../com/test/test/mapper/TestApiMapper.java | 61 ++++ .../test/test/service/ITestApiService.java | 61 ++++ .../test/service/impl/TestApiServiceImpl.java | 90 ++++++ .../resources/mapper/test/TestApiMapper.xml | 115 +++++++ test-ui/src/api/test/api.js | 44 +++ test-ui/src/views/test/api/index.vue | 290 +++++++++++++++++- 11 files changed, 938 insertions(+), 7 deletions(-) create mode 100644 test-test/pom.xml create mode 100644 test-test/src/main/java/com/test/test/controller/TestApiController.java create mode 100644 test-test/src/main/java/com/test/test/domain/TestApi.java create mode 100644 test-test/src/main/java/com/test/test/mapper/TestApiMapper.java create mode 100644 test-test/src/main/java/com/test/test/service/ITestApiService.java create mode 100644 test-test/src/main/java/com/test/test/service/impl/TestApiServiceImpl.java create mode 100644 test-test/src/main/resources/mapper/test/TestApiMapper.xml create mode 100644 test-ui/src/api/test/api.js diff --git a/pom.xml b/pom.xml index dab2ebd..73d88c7 100644 --- a/pom.xml +++ b/pom.xml @@ -185,6 +185,13 @@ ${test.version} + + + com.test + test-test + ${test.version} + + @@ -195,6 +202,7 @@ test-quartz test-generator test-common + test-test pom diff --git a/test-admin/pom.xml b/test-admin/pom.xml index 6386bee..022c2c2 100644 --- a/test-admin/pom.xml +++ b/test-admin/pom.xml @@ -54,6 +54,12 @@ test-generator + + + com.test + test-test + + diff --git a/test-test/pom.xml b/test-test/pom.xml new file mode 100644 index 0000000..36ea1aa --- /dev/null +++ b/test-test/pom.xml @@ -0,0 +1,28 @@ + + + + test + com.test + 0.0.1 + + 4.0.0 + + test-test + + + test业务模块 + + + + + + + com.test + test-common + + + + + \ No newline at end of file diff --git a/test-test/src/main/java/com/test/test/controller/TestApiController.java b/test-test/src/main/java/com/test/test/controller/TestApiController.java new file mode 100644 index 0000000..babddd7 --- /dev/null +++ b/test-test/src/main/java/com/test/test/controller/TestApiController.java @@ -0,0 +1,98 @@ +package com.test.test.controller; + +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.test.common.annotation.Log; +import com.test.common.core.controller.BaseController; +import com.test.common.core.domain.AjaxResult; +import com.test.common.enums.BusinessType; +import com.test.test.domain.TestApi; +import com.test.test.service.ITestApiService; +import com.test.common.utils.poi.ExcelUtil; +import com.test.common.core.page.TableDataInfo; + +/** + * 接口Controller + * + * @author xiaoe + * @date 2025-02-08 + */ +@RestController +@RequestMapping("/test/api") +public class TestApiController extends BaseController { + @Autowired + private ITestApiService testApiService; + + /** + * 查询接口列表 + */ + @PreAuthorize("@ss.hasPermi('test:api:list')") + @GetMapping("/list") + public TableDataInfo list(TestApi testApi) { + startPage(); + List list = testApiService.selectTestApiList(testApi); + return getDataTable(list); + } + + /** + * 导出接口列表 + */ + @PreAuthorize("@ss.hasPermi('test:api:export')") + @Log(title = "接口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TestApi testApi) { + List list = testApiService.selectTestApiList(testApi); + ExcelUtil util = new ExcelUtil(TestApi.class); + util.exportExcel(response, list, "接口数据"); + } + + /** + * 获取接口详细信息 + */ + @PreAuthorize("@ss.hasPermi('test:api:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(testApiService.selectTestApiById(id)); + } + + /** + * 新增接口 + */ + @PreAuthorize("@ss.hasPermi('test:api:add')") + @Log(title = "接口", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TestApi testApi) { + return toAjax(testApiService.insertTestApi(testApi)); + } + + /** + * 修改接口 + */ + @PreAuthorize("@ss.hasPermi('test:api:edit')") + @Log(title = "接口", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TestApi testApi) { + return toAjax(testApiService.updateTestApi(testApi)); + } + + /** + * 删除接口 + */ + @PreAuthorize("@ss.hasPermi('test:api:remove')") + @Log(title = "接口", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(testApiService.deleteTestApiByIds(ids)); + } +} diff --git a/test-test/src/main/java/com/test/test/domain/TestApi.java b/test-test/src/main/java/com/test/test/domain/TestApi.java new file mode 100644 index 0000000..de447d0 --- /dev/null +++ b/test-test/src/main/java/com/test/test/domain/TestApi.java @@ -0,0 +1,144 @@ +package com.test.test.domain; + +import com.test.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.test.common.annotation.Excel; + +/** + * 接口对象 test_api + * + * @author xiaoe + * @date 2025-02-08 + */ +public class TestApi extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 接口id + */ + private Long id; + + /** + * 接口名称 + */ + @Excel(name = "接口名称") + private String name; + + /** + * 接口请求类型 + */ + @Excel(name = "接口请求类型") + private String method; + + /** + * 接口路径 + */ + @Excel(name = "接口路径") + private String uri; + + /** + * 接口请求头 + */ + @Excel(name = "接口请求头") + private String header; + + /** + * 接口查询参数 + */ + @Excel(name = "接口查询参数") + private String param; + + /** + * 接口请求体 + */ + @Excel(name = "接口请求体") + private String body; + + /** + * 删除标志 + */ + private String delFlag; + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setMethod(String method) { + this.method = method; + } + + public String getMethod() { + return method; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public String getUri() { + return uri; + } + + public void setHeader(String header) { + this.header = header; + } + + public String getHeader() { + return header; + } + + public void setParam(String param) { + this.param = param; + } + + public String getParam() { + return param; + } + + public void setBody(String body) { + this.body = body; + } + + public String getBody() { + return body; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("method", getMethod()) + .append("uri", getUri()) + .append("header", getHeader()) + .append("param", getParam()) + .append("body", getBody()) + .append("delFlag", getDelFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/test-test/src/main/java/com/test/test/mapper/TestApiMapper.java b/test-test/src/main/java/com/test/test/mapper/TestApiMapper.java new file mode 100644 index 0000000..8518809 --- /dev/null +++ b/test-test/src/main/java/com/test/test/mapper/TestApiMapper.java @@ -0,0 +1,61 @@ +package com.test.test.mapper; + +import java.util.List; + +import com.test.test.domain.TestApi; + +/** + * 接口Mapper接口 + * + * @author xiaoe + * @date 2025-02-08 + */ +public interface TestApiMapper { + /** + * 查询接口 + * + * @param id 接口主键 + * @return 接口 + */ + public TestApi selectTestApiById(Long id); + + /** + * 查询接口列表 + * + * @param testApi 接口 + * @return 接口集合 + */ + public List selectTestApiList(TestApi testApi); + + /** + * 新增接口 + * + * @param testApi 接口 + * @return 结果 + */ + public int insertTestApi(TestApi testApi); + + /** + * 修改接口 + * + * @param testApi 接口 + * @return 结果 + */ + public int updateTestApi(TestApi testApi); + + /** + * 删除接口 + * + * @param id 接口主键 + * @return 结果 + */ + public int deleteTestApiById(Long id); + + /** + * 批量删除接口 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTestApiByIds(Long[] ids); +} diff --git a/test-test/src/main/java/com/test/test/service/ITestApiService.java b/test-test/src/main/java/com/test/test/service/ITestApiService.java new file mode 100644 index 0000000..3d6f19a --- /dev/null +++ b/test-test/src/main/java/com/test/test/service/ITestApiService.java @@ -0,0 +1,61 @@ +package com.test.test.service; + +import java.util.List; + +import com.test.test.domain.TestApi; + +/** + * 接口Service接口 + * + * @author xiaoe + * @date 2025-02-08 + */ +public interface ITestApiService { + /** + * 查询接口 + * + * @param id 接口主键 + * @return 接口 + */ + public TestApi selectTestApiById(Long id); + + /** + * 查询接口列表 + * + * @param testApi 接口 + * @return 接口集合 + */ + public List selectTestApiList(TestApi testApi); + + /** + * 新增接口 + * + * @param testApi 接口 + * @return 结果 + */ + public int insertTestApi(TestApi testApi); + + /** + * 修改接口 + * + * @param testApi 接口 + * @return 结果 + */ + public int updateTestApi(TestApi testApi); + + /** + * 批量删除接口 + * + * @param ids 需要删除的接口主键集合 + * @return 结果 + */ + public int deleteTestApiByIds(Long[] ids); + + /** + * 删除接口信息 + * + * @param id 接口主键 + * @return 结果 + */ + public int deleteTestApiById(Long id); +} diff --git a/test-test/src/main/java/com/test/test/service/impl/TestApiServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/TestApiServiceImpl.java new file mode 100644 index 0000000..4a0a99a --- /dev/null +++ b/test-test/src/main/java/com/test/test/service/impl/TestApiServiceImpl.java @@ -0,0 +1,90 @@ +package com.test.test.service.impl; + +import java.util.List; + +import com.test.common.utils.DateUtils; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import com.test.test.mapper.TestApiMapper; +import com.test.test.domain.TestApi; +import com.test.test.service.ITestApiService; + +/** + * 接口Service业务层处理 + * + * @author xiaoe + * @date 2025-02-08 + */ +@Service +public class TestApiServiceImpl implements ITestApiService { + @Resource + private TestApiMapper testApiMapper; + + /** + * 查询接口 + * + * @param id 接口主键 + * @return 接口 + */ + @Override + public TestApi selectTestApiById(Long id) { + return testApiMapper.selectTestApiById(id); + } + + /** + * 查询接口列表 + * + * @param testApi 接口 + * @return 接口 + */ + @Override + public List selectTestApiList(TestApi testApi) { + return testApiMapper.selectTestApiList(testApi); + } + + /** + * 新增接口 + * + * @param testApi 接口 + * @return 结果 + */ + @Override + public int insertTestApi(TestApi testApi) { + testApi.setCreateTime(DateUtils.getNowDate()); + return testApiMapper.insertTestApi(testApi); + } + + /** + * 修改接口 + * + * @param testApi 接口 + * @return 结果 + */ + @Override + public int updateTestApi(TestApi testApi) { + testApi.setUpdateTime(DateUtils.getNowDate()); + return testApiMapper.updateTestApi(testApi); + } + + /** + * 批量删除接口 + * + * @param ids 需要删除的接口主键 + * @return 结果 + */ + @Override + public int deleteTestApiByIds(Long[] ids) { + return testApiMapper.deleteTestApiByIds(ids); + } + + /** + * 删除接口信息 + * + * @param id 接口主键 + * @return 结果 + */ + @Override + public int deleteTestApiById(Long id) { + return testApiMapper.deleteTestApiById(id); + } +} diff --git a/test-test/src/main/resources/mapper/test/TestApiMapper.xml b/test-test/src/main/resources/mapper/test/TestApiMapper.xml new file mode 100644 index 0000000..4bd8537 --- /dev/null +++ b/test-test/src/main/resources/mapper/test/TestApiMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + select id, + name, + method, + uri, + header, + param, + body, + del_flag, + create_by, + create_time, + update_by, + update_time + from test_api + + + + + + + + insert into test_api + + name, + method, + uri, + header, + param, + body, + del_flag, + create_by, + create_time, + update_by, + update_time, + + + #{name}, + #{method}, + #{uri}, + #{header}, + #{param}, + #{body}, + #{delFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update test_api + + name = #{name}, + method = #{method}, + uri = #{uri}, + header = #{header}, + param = #{param}, + body = #{body}, + del_flag = #{delFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete + from test_api + where id = #{id} + + + + delete from test_api where id in + + #{id} + + + \ No newline at end of file diff --git a/test-ui/src/api/test/api.js b/test-ui/src/api/test/api.js new file mode 100644 index 0000000..c473855 --- /dev/null +++ b/test-ui/src/api/test/api.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询接口列表 +export function listApi(query) { + return request({ + url: '/test/api/list', + method: 'get', + params: query + }) +} + +// 查询接口详细 +export function getApi(id) { + return request({ + url: '/test/api/' + id, + method: 'get' + }) +} + +// 新增接口 +export function addApi(data) { + return request({ + url: '/test/api', + method: 'post', + data: data + }) +} + +// 修改接口 +export function updateApi(data) { + return request({ + url: '/test/api', + method: 'put', + data: data + }) +} + +// 删除接口 +export function delApi(id) { + return request({ + url: '/test/api/' + id, + method: 'delete' + }) +} diff --git a/test-ui/src/views/test/api/index.vue b/test-ui/src/views/test/api/index.vue index 1a818b0..dc19dd1 100644 --- a/test-ui/src/views/test/api/index.vue +++ b/test-ui/src/views/test/api/index.vue @@ -1,14 +1,290 @@ - - -