diff --git a/.gitignore b/.gitignore
index 5ff6309b7199129c1afe4f4ec1906e640bec48c6..fc3f89ced511ea833f5c8e9fb521219975c6697e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@ target/
!**/src/test/**/target/
### IntelliJ IDEA ###
+.idea
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
diff --git a/pom.xml b/pom.xml
index 3770289e7c7f2d0f13fcbf4b7e4e90c4c393a77c..aa92f6c4706ec644957b1523232c2733a07c041e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,6 +39,17 @@
runtime
+
+ org.projectlombok
+ lombok
+
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.60
+
@@ -153,4 +164,16 @@
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 21
+ 21
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSourceController.java b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSourceController.java
new file mode 100644
index 0000000000000000000000000000000000000000..852f7b9dfa29a6453d778df1ddd6144a4147552e
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSourceController.java
@@ -0,0 +1,45 @@
+package com.ediagnosis.cdr.controller;
+
+import com.ediagnosis.cdr.model.dto.BusinessDataSourceDTO;
+import com.ediagnosis.cdr.model.dto.BusinessDataSourceQueryDTO;
+import com.ediagnosis.cdr.model.param.BusinessDataSourceQueryParam;
+import com.ediagnosis.cdr.model.vo.BusinessDataSourceVo;
+import com.ediagnosis.cdr.service.BusinessDataSourceService;
+import com.ediagnosis.cdr.util.PageConvertUtils;
+import com.ediagnosis.cdr.value.PageVo;
+import com.ediagnosis.cdr.value.Response;
+import com.mybatisflex.core.paginate.Page;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 monojun
+ * @description 数据源接口
+ * @createTime 2025年07月31日
+ */
+@RestController
+@RequestMapping("/dataSource")
+public class BusinessDataSourceController {
+
+ @Autowired
+ private BusinessDataSourceService dataSourceService;
+
+ @PostMapping("/page")
+ public Response> page(@RequestBody BusinessDataSourceQueryParam queryParam) {
+ BusinessDataSourceQueryDTO queryDTO = new BusinessDataSourceQueryDTO();
+ BeanUtils.copyProperties(queryParam, queryDTO);
+ Page dataSourcePage = dataSourceService.queryPage(queryDTO);
+ PageVo systemVoPageInfo = PageConvertUtils.copyPageInfo(dataSourcePage, dataSourceDTO -> {
+ BusinessDataSourceVo vo = new BusinessDataSourceVo();
+ BeanUtils.copyProperties(dataSourceDTO, vo);
+ vo.setBizSystemId(dataSourceDTO.getBusinessId());
+ vo.setBizSystemName(dataSourceDTO.getBusinessName());
+ return vo;
+ });
+ return Response.success(systemVoPageInfo);
+ }
+}
diff --git a/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSystemController.java b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSystemController.java
new file mode 100644
index 0000000000000000000000000000000000000000..7783d839c9c17308e89e1c125dc85465362740b3
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataSystemController.java
@@ -0,0 +1,43 @@
+package com.ediagnosis.cdr.controller;
+
+import com.ediagnosis.cdr.dao.entity.BusinessDataSystem;
+import com.ediagnosis.cdr.model.dto.BusinessDataSystemQueryDTO;
+import com.ediagnosis.cdr.model.param.BusinessDataSystemQueryParam;
+import com.ediagnosis.cdr.model.vo.BusinessDataSystemVo;
+import com.ediagnosis.cdr.service.BusinessDataSystemService;
+import com.ediagnosis.cdr.util.PageConvertUtils;
+import com.ediagnosis.cdr.value.Response;
+import com.ediagnosis.cdr.value.PageVo;
+import com.mybatisflex.core.paginate.Page;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 monojun
+ * @description 业务系统接口
+ * @createTime 2025年07月31日
+ */
+@RestController
+@RequestMapping("/dataSystem")
+public class BusinessDataSystemController {
+
+ @Autowired
+ private BusinessDataSystemService dataSystemService;
+
+ @PostMapping("/page")
+ public Response> page(@RequestBody BusinessDataSystemQueryParam queryParam) {
+ BusinessDataSystemQueryDTO queryDTO = new BusinessDataSystemQueryDTO();
+ BeanUtils.copyProperties(queryParam, queryDTO);
+ Page dataSystemPage = dataSystemService.queryPage(queryDTO);
+ PageVo systemVoPageInfo = PageConvertUtils.copyPageInfo(dataSystemPage, dataSystem -> {
+ BusinessDataSystemVo vo = new BusinessDataSystemVo();
+ BeanUtils.copyProperties(dataSystem, vo);
+ return vo;
+ });
+ return Response.success(systemVoPageInfo);
+ }
+}
diff --git a/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableController.java b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableController.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ba4a9712e2eadbecd2dcf67a5cc2a8ad74151b1
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableController.java
@@ -0,0 +1,43 @@
+package com.ediagnosis.cdr.controller;
+
+import com.ediagnosis.cdr.model.dto.BusinessDataTableDTO;
+import com.ediagnosis.cdr.model.dto.BusinessDataTableQueryDTO;
+import com.ediagnosis.cdr.model.param.BusinessDataTableQueryParam;
+import com.ediagnosis.cdr.model.vo.BusinessDataTableVo;
+import com.ediagnosis.cdr.service.BusinessDataTableService;
+import com.ediagnosis.cdr.util.PageConvertUtils;
+import com.ediagnosis.cdr.value.PageVo;
+import com.ediagnosis.cdr.value.Response;
+import com.mybatisflex.core.paginate.Page;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 monojun
+ * @description 数据表接口
+ * @createTime 2025年07月31日
+ */
+@RestController
+@RequestMapping("/dataTable")
+public class BusinessDataTableController {
+
+ @Autowired
+ private BusinessDataTableService dataTableService;
+
+ @PostMapping("/page")
+ public Response> page(@RequestBody BusinessDataTableQueryParam queryParam) {
+ BusinessDataTableQueryDTO queryDTO = new BusinessDataTableQueryDTO();
+ BeanUtils.copyProperties(queryParam, queryDTO);
+ Page dataTablePage = dataTableService.queryPage(queryDTO);
+ PageVo dataTableVoPageInfo = PageConvertUtils.copyPageInfo(dataTablePage, dataTable -> {
+ BusinessDataTableVo vo = new BusinessDataTableVo();
+ BeanUtils.copyProperties(dataTable, vo);
+ return vo;
+ });
+ return Response.success(dataTableVoPageInfo);
+ }
+}
diff --git a/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableFieldController.java b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableFieldController.java
new file mode 100644
index 0000000000000000000000000000000000000000..56a6f8b690a609e5df48fec7d8d6e60b41f33df5
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/controller/BusinessDataTableFieldController.java
@@ -0,0 +1,43 @@
+package com.ediagnosis.cdr.controller;
+
+import com.ediagnosis.cdr.dao.entity.BusinessDataTableField;
+import com.ediagnosis.cdr.model.dto.BusinessDataTableFieldQueryDTO;
+import com.ediagnosis.cdr.model.param.BusinessDataTableFieldQueryParam;
+import com.ediagnosis.cdr.model.vo.BusinessDataTableFieldVo;
+import com.ediagnosis.cdr.service.BusinessDataTableFieldService;
+import com.ediagnosis.cdr.util.PageConvertUtils;
+import com.ediagnosis.cdr.value.PageVo;
+import com.ediagnosis.cdr.value.Response;
+import com.mybatisflex.core.paginate.Page;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+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 monojun
+ * @description 数据表字段接口
+ * @createTime 2025年07月31日
+ */
+@RestController
+@RequestMapping("/dataTableField")
+public class BusinessDataTableFieldController {
+
+ @Autowired
+ private BusinessDataTableFieldService dataTableFieldService;
+
+ @PostMapping("/page")
+ public Response> page(@RequestBody BusinessDataTableFieldQueryParam queryParam) {
+ BusinessDataTableFieldQueryDTO queryDTO = new BusinessDataTableFieldQueryDTO();
+ BeanUtils.copyProperties(queryParam, queryDTO);
+ Page dataTableFieldPage = dataTableFieldService.queryPage(queryDTO);
+ PageVo tableFieldVoPageInfo = PageConvertUtils.copyPageInfo(dataTableFieldPage, dataTableField -> {
+ BusinessDataTableFieldVo vo = new BusinessDataTableFieldVo();
+ BeanUtils.copyProperties(dataTableField, vo);
+ return vo;
+ });
+ return Response.success(tableFieldVoPageInfo);
+ }
+}
diff --git a/src/main/java/com/ediagnosis/cdr/dao/DwsRepository.java b/src/main/java/com/ediagnosis/cdr/dao/DwsRepository.java
index d904fb3a07a210a713e79272e52f90d146a4239c..1b49b9a5e63e47ae8129efcbd94c955988371d9f 100644
--- a/src/main/java/com/ediagnosis/cdr/dao/DwsRepository.java
+++ b/src/main/java/com/ediagnosis/cdr/dao/DwsRepository.java
@@ -1,7 +1,7 @@
package com.ediagnosis.cdr.dao;
-import com.ediagnosis.cdr.value.Page;
+import com.ediagnosis.cdr.value.PageVo;
import com.mybatisflex.core.row.Row;
import org.springframework.stereotype.Repository;
@@ -19,7 +19,7 @@ public class DwsRepository {
this.hiveQueryExecutor = hiveQueryExecutor;
}
- public Page