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 @@
-
- api
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-