diff --git a/.gitignore b/.gitignore index 502a62fc33cb4727c105f443d744ede77a97ea8e..a8a594dd31fcd63fddc815b41e998e28da2d781d 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 136eb2b234d870a8b5e6a095ff1efea92b5ad7bb..fc9854e1b2573447d2f560b69a0c3e23a791d26d 100644 --- a/pom.xml +++ b/pom.xml @@ -39,6 +39,89 @@ runtime + + org.projectlombok + lombok + + + + + + org.apache.hive + hive-jdbc + 3.1.2 + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + + log4j-1.2-api + org.apache.logging.log4j + + + log4j-slf4j-impl + org.apache.logging.log4j + + + log4j-web + org.apache.logging.log4j + + + commons-logging + commons-logging + + + jdk.tools + jdk.tools + + + org.eclipse.jetty.aggregate + * + + + + org.eclipse.jetty + jetty-runner + + + servlet-api + javax.servlet + + + javax.servlet.jsp-api + javax.servlet.jsp + + + javax.servlet.jsp + org.glassfish.web + + + junit + junit + + + + + + + + + + org.apache.hadoop + hadoop-common + 3.3.4 + + + commons-logging + commons-logging + + + com.facebook.presto presto-jdbc diff --git a/src/main/java/com/ediagnosis/cdr/CdrApplication.java b/src/main/java/com/ediagnosis/cdr/CdrApplication.java index 4ed68fa46c2351ec2ad6b369bf73b71fee4a4e69..d4f33aed2131f422c141e8849107ca7cb8ba775b 100644 --- a/src/main/java/com/ediagnosis/cdr/CdrApplication.java +++ b/src/main/java/com/ediagnosis/cdr/CdrApplication.java @@ -5,7 +5,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -@MapperScan("com.ediagnosis.cdr.dao.mapper") +@MapperScan(basePackages = { + "com.ediagnosis.cdr.*.dao.mapper", + "com.ediagnosis.cdr.dao.mapper" +}) public class CdrApplication { public static void main(String[] args) { diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataApi.java b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataApi.java new file mode 100644 index 0000000000000000000000000000000000000000..b9947dcee51c9a3941c27b26379f6a9fd3ad3d01 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataApi.java @@ -0,0 +1,14 @@ +package com.ediagnosis.cdr.dataCollect; + +import org.springframework.stereotype.Component; + +/** + * @author monojun + * @description BusinessDataApi + * @createTime 2025年08月04日 + */ +@Component +public class BusinessDataApi { + + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataController.java b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataController.java new file mode 100644 index 0000000000000000000000000000000000000000..c15626471573ad64cfca48bd1c50787a6364938e --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessDataController.java @@ -0,0 +1,77 @@ +package com.ediagnosis.cdr.dataCollect; + + +import com.ediagnosis.cdr.dataCollect.dao.dto.*; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTableField; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSourceQueryParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataTableFieldQueryParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataTableQueryParam; +import com.ediagnosis.cdr.dataCollect.endpoint.vo.BusinessDataSourceVo; +import com.ediagnosis.cdr.dataCollect.endpoint.vo.BusinessDataTableFieldVo; +import com.ediagnosis.cdr.dataCollect.endpoint.vo.BusinessDataTableVo; +import com.ediagnosis.cdr.dataCollect.inner.BusinessDataRepository; +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 lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author monojun + * @description 业务系统controller + * @createTime 2025年08月04日 + */ +@RestController +@RequiredArgsConstructor +public class BusinessDataController { + + private final BusinessDataRepository dataRepository; + + + @PostMapping("/dataSource/page") + public Response> page(@RequestBody DataSourceQueryParam queryParam) { + BusinessDataSourceQueryDTO queryDTO = new BusinessDataSourceQueryDTO(); + BeanUtils.copyProperties(queryParam, queryDTO); + Page dataSourcePage = dataRepository.querySourcePage(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); + } + + @PostMapping("/dataTable/page") + public Response> page(@RequestBody DataTableQueryParam queryParam) { + BusinessDataTableQueryDTO queryDTO = new BusinessDataTableQueryDTO(); + BeanUtils.copyProperties(queryParam, queryDTO); + Page dataTablePage = dataRepository.queryTablePage(queryDTO); + PageVo dataTableVoPageInfo = PageConvertUtils.copyPageInfo(dataTablePage, dataTable -> { + BusinessDataTableVo vo = new BusinessDataTableVo(); + BeanUtils.copyProperties(dataTable, vo); + return vo; + }); + return Response.success(dataTableVoPageInfo); + } + + @PostMapping("/dataTableField/page") + public Response> page(@RequestBody DataTableFieldQueryParam queryParam) { + BusinessDataTableFieldQueryDTO queryDTO = new BusinessDataTableFieldQueryDTO(); + BeanUtils.copyProperties(queryParam, queryDTO); + Page dataTableFieldPage = dataRepository.queryFieldPage(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/dataCollect/BusinessSourceController.java b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessSourceController.java new file mode 100644 index 0000000000000000000000000000000000000000..488ccbbfc0057b7f6c243598b5a0db2cd8656bd2 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessSourceController.java @@ -0,0 +1,73 @@ +package com.ediagnosis.cdr.dataCollect; + +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemDTO; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemQueryDTO; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemAddParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemDeleteParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemQueryParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemUpdateParam; +import com.ediagnosis.cdr.dataCollect.endpoint.vo.BusinessDataSystemVo; +import com.ediagnosis.cdr.dataCollect.inner.BusinessSystemRepository; +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 lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +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 TODO + * @createTime 2025年08月05日 + */ +@RestController +@RequestMapping("/dataSource") +@RequiredArgsConstructor +public class BusinessSourceController { + + private final BusinessSystemRepository systemRepository; + + + @PostMapping("/add") + public Response page(@RequestBody DataSystemAddParam addParam) { + BusinessDataSystemDTO addDTO = new BusinessDataSystemDTO(); + BeanUtils.copyProperties(addParam, addDTO); + Long id = systemRepository.addDataSystem(addDTO); + return Response.success(id); + } + + @PostMapping("/update") + public Response update(@RequestBody DataSystemUpdateParam updateParam) { + BusinessDataSystemDTO addDTO = new BusinessDataSystemDTO(); + BeanUtils.copyProperties(updateParam, addDTO); + Long id = systemRepository.updateDataSystem(addDTO); + return Response.success(id); + } + + + @PostMapping("/page") + public Response> page(@RequestBody DataSystemQueryParam queryParam) { + BusinessDataSystemQueryDTO queryDTO = new BusinessDataSystemQueryDTO(); + BeanUtils.copyProperties(queryParam, queryDTO); + Page dataSystemPage = systemRepository.queryPage(queryDTO); + PageVo systemVoPageInfo = PageConvertUtils.copyPageInfo(dataSystemPage, dataSystem -> { + BusinessDataSystemVo vo = new BusinessDataSystemVo(); + BeanUtils.copyProperties(dataSystem, vo); + return vo; + }); + return Response.success(systemVoPageInfo); + } + + + @PostMapping("/delete") + public Response delete(@RequestBody DataSystemDeleteParam deleteParam) { + systemRepository.deleteDataSystem(deleteParam.getId()); + return Response.success(deleteParam.getId()); + } + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessSystemController.java b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessSystemController.java new file mode 100644 index 0000000000000000000000000000000000000000..631e867c111983932970cc05725b04c6f589f35c --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessSystemController.java @@ -0,0 +1,74 @@ +package com.ediagnosis.cdr.dataCollect; + +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemDTO; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemQueryDTO; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemAddParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemDeleteParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemQueryParam; +import com.ediagnosis.cdr.dataCollect.endpoint.param.DataSystemUpdateParam; +import com.ediagnosis.cdr.dataCollect.endpoint.vo.BusinessDataSystemVo; +import com.ediagnosis.cdr.dataCollect.inner.BusinessSystemRepository; +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 lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +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 业务系统controller + * @createTime 2025年08月04日 + */ +@RestController +@RequestMapping("/bizSystem") +@RequiredArgsConstructor +public class BusinessSystemController { + + private final BusinessSystemRepository systemRepository; + + + @PostMapping("/add") + public Response page(@RequestBody DataSystemAddParam addParam) { + BusinessDataSystemDTO addDTO = new BusinessDataSystemDTO(); + BeanUtils.copyProperties(addParam, addDTO); + Long id = systemRepository.addDataSystem(addDTO); + return Response.success(id); + } + + @PostMapping("/update") + public Response update(@RequestBody DataSystemUpdateParam updateParam) { + BusinessDataSystemDTO addDTO = new BusinessDataSystemDTO(); + BeanUtils.copyProperties(updateParam, addDTO); + Long id = systemRepository.updateDataSystem(addDTO); + return Response.success(id); + } + + + @PostMapping("/page") + public Response> page(@RequestBody DataSystemQueryParam queryParam) { + BusinessDataSystemQueryDTO queryDTO = new BusinessDataSystemQueryDTO(); + BeanUtils.copyProperties(queryParam, queryDTO); + Page dataSystemPage = systemRepository.queryPage(queryDTO); + PageVo systemVoPageInfo = PageConvertUtils.copyPageInfo(dataSystemPage, dataSystem -> { + BusinessDataSystemVo vo = new BusinessDataSystemVo(); + BeanUtils.copyProperties(dataSystem, vo); + return vo; + }); + return Response.success(systemVoPageInfo); + } + + + @PostMapping("/delete") + public Response delete(@RequestBody DataSystemDeleteParam deleteParam) { + systemRepository.deleteDataSystem(deleteParam.getId()); + return Response.success(deleteParam.getId()); + } + + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessTableController.java b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessTableController.java new file mode 100644 index 0000000000000000000000000000000000000000..4c0529cc8f24eac6a9aea7cdf5d4f6269c37a451 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/BusinessTableController.java @@ -0,0 +1,9 @@ +package com.ediagnosis.cdr.dataCollect; + +/** + * @author monojun + * @description TODO + * @createTime 2025年08月05日 + */ +public class BusinessTableController { +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/BusinessDataDao.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/BusinessDataDao.java new file mode 100644 index 0000000000000000000000000000000000000000..0e4e2b0444eb37de4d6ca9f84c2e276bfddef575 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/BusinessDataDao.java @@ -0,0 +1,179 @@ +package com.ediagnosis.cdr.dataCollect.dao; + + +import com.ediagnosis.cdr.dataCollect.dao.dto.*; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSource; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTable; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTableField; +import com.ediagnosis.cdr.dataCollect.dao.mapper.BusinessDataSourceMapper; +import com.ediagnosis.cdr.dataCollect.dao.mapper.BusinessDataSystemMapper; +import com.ediagnosis.cdr.dataCollect.dao.mapper.BusinessDataTableFieldMapper; +import com.ediagnosis.cdr.dataCollect.dao.mapper.BusinessDataTableMapper; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.util.Date; + +/** + * @author monojun + * @description 业务dao + * @createTime 2025年08月04日 + */ +@Component +@RequiredArgsConstructor +public class BusinessDataDao { + + private final BusinessDataSystemMapper dataSystemMapper; + + private final BusinessDataSourceMapper dataSourceMapper; + + private final BusinessDataTableMapper dataTableMapper; + + private final BusinessDataTableFieldMapper dataTableFieldMapper; + + /** + * 新增业务系统 + * + * @param dataSystemDTO dataSystemDTO + * @return 业务系统主键id + */ + public Long addDataSystem(BusinessDataSystemDTO dataSystemDTO) { + BusinessDataSystem dataSystem = new BusinessDataSystem(); + BeanUtils.copyProperties(dataSystemDTO, dataSystem); + dataSystem.setCreateTime(new Date()); + dataSystem.setUpdateTime(new Date()); + dataSystemMapper.insert(dataSystem); + return dataSystem.getId(); + } + + /** + * 更新业务系统 + * + * @param dataSystemDTO dataSystemDTO + * @return 业务系统主键id + */ + public Long updateDataSystem(BusinessDataSystemDTO dataSystemDTO) { + BusinessDataSystem dataSystem = new BusinessDataSystem(); + BeanUtils.copyProperties(dataSystemDTO, dataSystem); + dataSystem.setUpdateTime(new Date()); + dataSystemMapper.update(dataSystem); + return dataSystem.getId(); + } + + /** + * 删除业务系统 + * + * @param dataSystemId 业务系统id + */ + public void deleteDataSystem(Long dataSystemId) { + dataSystemMapper.deleteById(dataSystemId); + } + + /** + * 分页查询业务系统信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page querySystemPage(BusinessDataSystemQueryDTO queryDTO) { + QueryWrapper queryWrapper = QueryWrapper.create(); + if (StringUtils.hasText(queryDTO.getName())) { + queryWrapper.like(BusinessDataSystem::getName, queryDTO.getName()); + } + queryWrapper.orderBy(BusinessDataSystem::getUpdateTime, false); + queryWrapper.orderBy(BusinessDataSystem::getId, false); + return dataSystemMapper.paginate(queryDTO.getPageNo(), queryDTO.getPageSize(), queryWrapper); + } + + /** + * 分页查询业务数据源信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page querySourcePage(BusinessDataSourceQueryDTO queryDTO) { + QueryWrapper queryWrapper = QueryWrapper.create() + .select("d.*", "ds.name as businessName") + .from(BusinessDataSource.class).as("d") + .leftJoin(BusinessDataSystem.class).as("ds") + .on(BusinessDataSource::getBusinessId, BusinessDataSystem::getId) + .orderBy(BusinessDataSource::getUpdateTime, false) + .orderBy(BusinessDataSource::getId, false); + if (!CollectionUtils.isEmpty(queryDTO.getBusinessIds())) { + queryWrapper.in(BusinessDataSource::getBusinessId, queryDTO.getBusinessIds()); + } + if (StringUtils.hasText(queryDTO.getName())) { + queryWrapper.like(BusinessDataSource::getName, queryDTO.getName()); + } + if (StringUtils.hasText(queryDTO.getIpAddress())) { + queryWrapper.like(BusinessDataSource::getIpAddress, queryDTO.getIpAddress()); + } + if (StringUtils.hasText(queryDTO.getType())) { + queryWrapper.eq(BusinessDataSource::getType, queryDTO.getType()); + } + if (queryDTO.getStatus() != null) { + queryWrapper.eq(BusinessDataSource::getStatus, queryDTO.getStatus()); + } + return dataSourceMapper.paginateAs(queryDTO.getPageNo(), queryDTO.getPageSize(), queryWrapper, BusinessDataSourceDTO.class); + } + + /** + * 分页查询业务表信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryTablePage(BusinessDataTableQueryDTO queryDTO) { + QueryWrapper queryWrapper = QueryWrapper.create() + .select("t.*, d.id as sourceId, d.name as sourceName, ds.id as businessId, ds.name as businessName") + .from(BusinessDataTable.class).as("t") + .leftJoin(BusinessDataSource.class).as("d") + .on(BusinessDataTable::getSourceId, BusinessDataSource::getId) + .leftJoin(BusinessDataSystem.class).as("ds") + .on(BusinessDataSource::getBusinessId, BusinessDataSystem::getId) + .orderBy(BusinessDataTable::getUpdateTime, false) + .orderBy(BusinessDataTable::getId, false); + if (StringUtils.hasText(queryDTO.getName())) { + queryWrapper.like(BusinessDataTable::getName, queryDTO.getName()); + } + if (!CollectionUtils.isEmpty(queryDTO.getBusinessIds())) { + queryWrapper.in(BusinessDataTable::getBusinessId, queryDTO.getBusinessIds()); + } + if (!CollectionUtils.isEmpty(queryDTO.getSourceIds())) { + queryWrapper.in(BusinessDataTable::getSourceId, queryDTO.getSourceIds()); + } + if (StringUtils.hasText(queryDTO.getTableNo())) { + queryWrapper.like(BusinessDataTable::getTableNo, queryDTO.getTableNo()); + } + return dataTableMapper.paginateAs(queryDTO.getPageNo(), queryDTO.getPageSize(), queryWrapper, BusinessDataTableDTO.class); + } + + /** + * 分页查询业务表字段信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryFieldPage(BusinessDataTableFieldQueryDTO queryDTO) { + QueryWrapper queryWrapper = QueryWrapper.create(); + if (StringUtils.hasText(queryDTO.getFieldName())) { + queryWrapper.like(BusinessDataTableField::getFieldName, queryDTO.getFieldName()); + } + if (StringUtils.hasText(queryDTO.getFieldType())) { + queryWrapper.like(BusinessDataTableField::getFieldType, queryDTO.getFieldType()); + } + if (queryDTO.getTableId() != null) { + queryWrapper.eq(BusinessDataTableField::getTableId, queryDTO.getTableId()); + } + queryWrapper.orderBy(BusinessDataTableField::getUpdateTime, false); + queryWrapper.orderBy(BusinessDataTableField::getId, false); + return dataTableFieldMapper.paginate(queryDTO.getPageNo(), queryDTO.getPageSize(), queryWrapper); + } + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..00b9dc0c5a4335ca016f6a6932aa1b583c4edd38 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceDTO.java @@ -0,0 +1,85 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 数据源dto + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSourceDTO implements Serializable { + @Serial + private static final long serialVersionUID = -447329639545048136L; + + /** + * 主键id + */ + private Long id; + + /** + * 数据源名称 + */ + private String name; + + /** + * 数据源类型 + */ + private String type; + + /** + * IP地址 + */ + private String ipAddress; + + /** + * 属性信息 + */ + private String properties; + + /** + * 业务系统id + */ + private Long businessId; + + /** + * 业务系统名称 + */ + private String businessName; + + /** + * 描述 + */ + private String description; + + /** + * 连接状态: 0-未知 1-已连接 2-未连接 + */ + private Integer status; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; + + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceQueryDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceQueryDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..e2989418e976db65980ab9de06f49356d9fd2ec8 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSourceQueryDTO.java @@ -0,0 +1,43 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import com.ediagnosis.cdr.dataCollect.endpoint.param.PageQuery; +import lombok.Data; + +import java.io.Serial; +import java.util.List; + +/** + * @author monojun + * @description 业务数据源查询dto + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSourceQueryDTO extends PageQuery { + @Serial + private static final long serialVersionUID = 4373837873599613512L; + + /** + * 业务系统id列表 + */ + private List businessIds; + + /** + * 数据源名称 + */ + private String name; + + /** + * ip地址 + */ + private String ipAddress; + + /** + * 数据源类型 + */ + private String type; + + /** + * 连接状态: 0-未知 1-已连接 2-未连接 + */ + private Integer status; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..5e2bc3d063c71eb900eebbc95cacd8f5be92b3bd --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemDTO.java @@ -0,0 +1,53 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务系统dto + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSystemDTO implements Serializable { + @Serial + private static final long serialVersionUID = 8024021126762424795L; + + /** + * 主键id + */ + private Long id; + + /** + * 业务系统名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemQueryDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemQueryDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..9832247a4079394431ca83cd50ed8c25af0286c3 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataSystemQueryDTO.java @@ -0,0 +1,21 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import com.ediagnosis.cdr.dataCollect.endpoint.param.PageQuery; +import lombok.Data; + +/** + * @author monojun + * @description 业务系统查询参数 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSystemQueryDTO extends PageQuery { + private static final long serialVersionUID = -725393158125223566L; + + /** + * 业务系统名称 + */ + private String name; + + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..935ff83e2978d71cd3b1a212a47f01f6c47e02d4 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableDTO.java @@ -0,0 +1,79 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务数据源名称 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataTableDTO implements Serializable { + @Serial + private static final long serialVersionUID = -1723613352839697417L; + + /** + * 主键id + */ + private Long id; + + /** + * 业务表名称 + */ + private String name; + + /** + * 业务表编号 + */ + private String tableNo; + + /** + * 业务系统id + */ + private Long businessId; + + /** + * 业务系统名称 + */ + private String businessName; + + /** + * 业务数据源id + */ + private Long sourceId; + + /** + * 业务数据源名称 + */ + private String sourceName; + + /** + * 描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableFieldQueryDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableFieldQueryDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..56f52116b0301fe568658bccf9046fdea922db36 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableFieldQueryDTO.java @@ -0,0 +1,32 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import com.ediagnosis.cdr.dataCollect.endpoint.param.PageQuery; +import lombok.Data; + +import java.io.Serial; + +/** + * @author monojun + * @description 业务数据表dto + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataTableFieldQueryDTO extends PageQuery { + @Serial + private static final long serialVersionUID = -7409716170936124466L; + + /** + * 字段名称 + */ + private String fieldName; + + /** + * 字段类型 + */ + private String fieldType; + + /** + * 业务表id + */ + private Long tableId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableQueryDTO.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableQueryDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..f0a49f41ec9ef345db026508c149d5034e3816d8 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/dto/BusinessDataTableQueryDTO.java @@ -0,0 +1,38 @@ +package com.ediagnosis.cdr.dataCollect.dao.dto; + +import com.ediagnosis.cdr.dataCollect.endpoint.param.PageQuery; +import lombok.Data; + +import java.io.Serial; +import java.util.List; + +/** + * @author monojun + * @description 业务数据表dto + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataTableQueryDTO extends PageQuery { + @Serial + private static final long serialVersionUID = 2568845339056229745L; + + /** + * 业务系统id + */ + private List businessIds; + + /** + * 业务数据源id列表 + */ + private List sourceIds; + + /** + * 业务表名称 + */ + private String name; + + /** + * 业务表编号 + */ + private String tableNo; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSource.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSource.java new file mode 100644 index 0000000000000000000000000000000000000000..79ac5ac1c5afaf6a766faa73044fed14455a9e9a --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSource.java @@ -0,0 +1,101 @@ +package com.ediagnosis.cdr.dataCollect.dao.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务系统数据源表 + * @createTime 2025年08月01日 + */ +@Data +@Table(value = "business_data_source") +public class BusinessDataSource implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @Id(value = "id", keyType = KeyType.Auto) + private Long id; + + /** + * 数据源名称 + */ + @Column(value = "name") + private String name; + + /** + * 数据源类型 + */ + @Column(value = "type") + private String type; + + /** + * IP地址 + */ + @Column(value = "ip_address") + private String ipAddress; + + /** + * 属性信息 + */ + @Column(value = "properties") + private String properties; + + /** + * 业务系统id + */ + @Column(value = "business_id") + private Long businessId; + + /** + * 描述 + */ + @Column(value = "description") + private String description; + + /** + * 连接状态: 0-未知 1-已连接 2-未连接 + */ + @Column(value = "status") + private Integer status; + + /** + * 创建时间 + */ + @Column(value = "create_time") + private Date createTime; + + /** + * 创建人 + */ + @Column(value = "create_user_id") + private Long createUserId; + + /** + * 更新时间 + */ + @Column(value = "update_time") + private Date updateTime; + + /** + * 更新人 + */ + @Column(value = "update_user_id") + private Long updateUserId; + + /** + * 是否删除: 0-未删除 1-已删除 + */ + @Column(value = "is_deleted", isLogicDelete = true) + private Integer isDeleted; +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSystem.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSystem.java new file mode 100644 index 0000000000000000000000000000000000000000..168199c2052bf83d8bb5448c36a54b399fcafa5a --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataSystem.java @@ -0,0 +1,66 @@ +package com.ediagnosis.cdr.dataCollect.dao.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import lombok.Data; + +import java.util.Date; + +/** + * @author monojun + * @description 业务系统表 + * @createTime 2025年08月01日 + */ +@Data +@Table("business_data_system") +public class BusinessDataSystem { + /** + * 主键id + */ + @Id(value = "id", keyType = KeyType.Auto) + private Long id; + + /** + * 业务系统名称 + */ + @Column(value = "name") + private String name; + + /** + * 描述 + */ + @Column(value = "description") + private String description; + + /** + * 创建时间 + */ + @Column(value = "create_time") + private Date createTime; + + /** + * 创建人 + */ + @Column(value = "create_user_id") + private Long createUserId; + + /** + * 更新时间 + */ + @Column(value = "update_time") + private Date updateTime; + + /** + * 更新人 + */ + @Column(value = "update_user_id") + private Long updateUserId; + + /** + * 是否删除 0-未删除 1-已删除 + */ + @Column(value = "is_deleted", isLogicDelete = true) + private Integer isDeleted; +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTable.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTable.java new file mode 100644 index 0000000000000000000000000000000000000000..597d10d7a8d0caf209a61bb1453ce30f16370d2e --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTable.java @@ -0,0 +1,90 @@ +package com.ediagnosis.cdr.dataCollect.dao.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务表信息表 + * @createTime 2025年08月01日 + */ +@Data +@Table(value = "business_data_table") +public class BusinessDataTable implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @Id(value = "id", keyType = KeyType.Auto) + private Long id; + + /** + * 业务表名称 + */ + @Column(value = "name") + private String name; + + /** + * 业务表编号 + */ + @Column(value = "table_no") + private String tableNo; + + /** + * 业务系统id + */ + @Column(value = "business_id") + private Long businessId; + + /** + * 业务数据源id + */ + @Column(value = "source_id") + private Long sourceId; + + /** + * 描述 + */ + @Column(value = "description") + private String description; + + /** + * 创建时间 + */ + @Column(value = "create_time") + private Date createTime; + + /** + * 创建人 + */ + @Column(value = "create_user_id") + private Long createUserId; + + /** + * 更新时间 + */ + @Column(value = "update_time") + private Date updateTime; + + /** + * 更新人 + */ + @Column(value = "update_user_id") + private Long updateUserId; + + /** + * 是否删除: 0-未删除 1-已删除 + */ + @Column(value = "is_deleted", isLogicDelete = true) + private Byte isDeleted; +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTableField.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTableField.java new file mode 100644 index 0000000000000000000000000000000000000000..a2509c0a17461ad45043f0543548302e9a648838 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/entity/BusinessDataTableField.java @@ -0,0 +1,83 @@ +package com.ediagnosis.cdr.dataCollect.dao.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务字段信息表 + * @createTime 2025年08月01日 + */ +@Data +@Table(value = "business_data_table_field") +public class BusinessDataTableField implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @Id(value = "id", keyType = KeyType.Auto) + private Long id; + + /** + * 字段名称 + */ + @Column(value = "field_name") + private String fieldName; + + /** + * 字段类型 + */ + @Column(value = "field_type") + private String fieldType; + + /** + * 业务表id + */ + @Column(value = "table_id") + private Long tableId; + + /** + * 描述 + */ + @Column(value = "description") + private String description; + + /** + * 创建时间 + */ + @Column(value = "create_time") + private Date createTime; + + /** + * 创建人 + */ + @Column(value = "create_user_id") + private Long createUserId; + + /** + * 更新时间 + */ + @Column(value = "update_time") + private Date updateTime; + + /** + * 更新人 + */ + @Column(value = "update_user_id") + private Long updateUserId; + + /** + * 是否删除: 0-未删除 1-已删除 + */ + @Column(value = "is_deleted", isLogicDelete = true) + private Byte isDeleted; +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSourceMapper.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSourceMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..97994e377a0adfc28c92ac0683b4c4ea7c01032d --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSourceMapper.java @@ -0,0 +1,20 @@ +package com.ediagnosis.cdr.dataCollect.dao.mapper; + +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSource; +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author monojun + * @description 数据源mapper + * @createTime 2025年08月01日 + */ +@Mapper +public interface BusinessDataSourceMapper extends BaseMapper { + + int batchInsert(@Param("list") List list); + +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSystemMapper.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSystemMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..4e56b423d6d0d14bb92e384901bfc84778e6fb64 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataSystemMapper.java @@ -0,0 +1,19 @@ +package com.ediagnosis.cdr.dataCollect.dao.mapper; + +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author monojun + * @description 业务系统mapper + * @createTime 2025年08月01日 + */ +@Mapper +public interface BusinessDataSystemMapper extends BaseMapper { + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableFieldMapper.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableFieldMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..e886a84c331f9f7c62fdaf0fdfdb41e704524ca8 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableFieldMapper.java @@ -0,0 +1,19 @@ +package com.ediagnosis.cdr.dataCollect.dao.mapper; + +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTableField; +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author monojun + * @description 业务表字段mapper + * @createTime 2025年08月01日 + */ +@Mapper +public interface BusinessDataTableFieldMapper extends BaseMapper { + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableMapper.java b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..4320472d8e077e2bbdbad6a48f738bcac0acb397 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/dao/mapper/BusinessDataTableMapper.java @@ -0,0 +1,18 @@ +package com.ediagnosis.cdr.dataCollect.dao.mapper; + +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTable; +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author monojun + * @description 业务表mapper + * @createTime 2025年08月01日 + */ +@Mapper +public interface BusinessDataTableMapper extends BaseMapper { + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSourceQueryParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSourceQueryParam.java new file mode 100644 index 0000000000000000000000000000000000000000..b21d4c342905ee85297e7661546b949f09c0f561 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSourceQueryParam.java @@ -0,0 +1,37 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.util.List; + +/** + * @author monojun + * @description 数据源查询参数 + * @createTime 2025年08月01日 + */ +@Data +public class DataSourceQueryParam extends PageQuery { + @Serial + private static final long serialVersionUID = 4384878864788101913L; + + /** + * 业务系统id列表 + */ + private List businessIds; + + /** + * 数据源名称 + */ + private String name; + + /** + * ip地址 + */ + private String ipAddress; + + /** + * 数据源类型 + */ + private String type; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemAddParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemAddParam.java new file mode 100644 index 0000000000000000000000000000000000000000..f7ab46de3c5e3ee62238bff0ffa1b16759a731af --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemAddParam.java @@ -0,0 +1,29 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author monojun + * @description 业务系统新增参数 + * @createTime 2025年08月05日 + */ +@Data +public class DataSystemAddParam implements Serializable { + @Serial + private static final long serialVersionUID = 8362821373667292598L; + + /** + * 业务系统名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemDeleteParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemDeleteParam.java new file mode 100644 index 0000000000000000000000000000000000000000..3ed8e7edb0819aaa718bf472602c62272f6c9158 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemDeleteParam.java @@ -0,0 +1,19 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author monojun + * @description 业务系统删除参数 + * @createTime 2025年08月05日 + */ +@Data +public class DataSystemDeleteParam implements Serializable { + @Serial + private static final long serialVersionUID = -5941215912179720671L; + + private Long id; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemQueryParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemQueryParam.java new file mode 100644 index 0000000000000000000000000000000000000000..2424007c5d05200ed05ea0ff00a76f4b9f49c33e --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemQueryParam.java @@ -0,0 +1,21 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; + +/** + * @author monojun + * @description 业务系统分页查询参数 + * @createTime 2025年08月01日 + */ +@Data +public class DataSystemQueryParam extends PageQuery { + @Serial + private static final long serialVersionUID = 5408831076545737168L; + + /** + * 业务系统名称 + */ + private String name; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemUpdateParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemUpdateParam.java new file mode 100644 index 0000000000000000000000000000000000000000..bbd50b1f850c662eaeaeefce0fbe8baf7b455523 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataSystemUpdateParam.java @@ -0,0 +1,29 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author monojun + * @description 业务系统更新参数 + * @createTime 2025年08月05日 + */ +@Data +public class DataSystemUpdateParam implements Serializable { + @Serial + private static final long serialVersionUID = -7333708471431047394L; + + private Long id; + /** + * 业务系统名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableFieldQueryParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableFieldQueryParam.java new file mode 100644 index 0000000000000000000000000000000000000000..e3d0a2af1bbe189567e8083ab2129e16a4167124 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableFieldQueryParam.java @@ -0,0 +1,31 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; + +/** + * @author monojun + * @description 表字段查询参数 + * @createTime 2025年08月01日 + */ +@Data +public class DataTableFieldQueryParam extends PageQuery { + + @Serial + private static final long serialVersionUID = 5419533067070233483L; + /** + * 字段名称 + */ + private String fieldName; + + /** + * 字段类型 + */ + private String fieldType; + + /** + * 业务表id + */ + private Long tableId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableQueryParam.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableQueryParam.java new file mode 100644 index 0000000000000000000000000000000000000000..6da57c027a2b035be49ec002edf904f4b6a181b9 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/DataTableQueryParam.java @@ -0,0 +1,37 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.util.List; + +/** + * @author monojun + * @description 表信息查询参数 + * @createTime 2025年08月01日 + */ +@Data +public class DataTableQueryParam extends PageQuery { + + @Serial + private static final long serialVersionUID = -6012405803243067316L; + /** + * 业务系统id列表 + */ + private List businessIds; + + /** + * 业务数据源id列表 + */ + private List sourceIds; + + /** + * 业务表名称 + */ + private String name; + + /** + * 业务表编号 + */ + private String tableNo; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/PageQuery.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/PageQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..739e0a24f09298808f1cb63a5a1a5632c94f2a15 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/param/PageQuery.java @@ -0,0 +1,26 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.param; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 可以传入一个实体T类型来接收该类型属性值。 + * + * @author wangziqiao + */ +@Data +public class PageQuery implements Serializable { + + @Serial + private static final long serialVersionUID = -1808475912533720127L; + + private int pageNo = 1; + + private int pageSize = 10; + + public int getOffset() { + return (pageNo - 1) * pageSize; + } +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSourceVo.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSourceVo.java new file mode 100644 index 0000000000000000000000000000000000000000..10d5bf3ae49825d9e041dc03e7af13a8f23e4f4b --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSourceVo.java @@ -0,0 +1,83 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 数据源信息 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSourceVo implements Serializable { + @Serial + private static final long serialVersionUID = -4205114103165887164L; + + /** + * 主键id + */ + private Long id; + + /** + * 数据源名称 + */ + private String name; + + /** + * 数据源类型(mysql、oracle、postgreSQL、sqlserver、h2、sqlite) + */ + private String type; + + /** + * IP地址 + */ + private String ipAddress; + + /** + * 业务系统id + */ + private Long bizSystemId; + + /** + * 业务系统名称 + */ + private String bizSystemName; + + /** + * 描述 + */ + private String description; + + /** + * 属性 + */ + private String properties; + + /** + * 连接状态 + */ + private Integer status; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSystemVo.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSystemVo.java new file mode 100644 index 0000000000000000000000000000000000000000..a3cb847cc47e6793a6ca96b3011dbc3c832493f9 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataSystemVo.java @@ -0,0 +1,53 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 业务系统信息 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataSystemVo implements Serializable { + @Serial + private static final long serialVersionUID = 1995094555769215993L; + /** + * 主键id + */ + private Long id; + + /** + * 业务系统名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableFieldVo.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableFieldVo.java new file mode 100644 index 0000000000000000000000000000000000000000..6a0d2f5839ffa7fef36e5f6b30892d5133db69fa --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableFieldVo.java @@ -0,0 +1,63 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 表字段信息 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataTableFieldVo implements Serializable { + @Serial + private static final long serialVersionUID = 3062177923173755855L; + + /** + * 主键id + */ + private Long id; + + /** + * 字段名称 + */ + private String fieldName; + + /** + * 字段类型 + */ + private String fieldType; + + /** + * 业务表id + */ + private Long tableId; + + /** + * 描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableVo.java b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableVo.java new file mode 100644 index 0000000000000000000000000000000000000000..3f814a3ed57fdc54d874b1abff81eee9a443fbc8 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/endpoint/vo/BusinessDataTableVo.java @@ -0,0 +1,78 @@ +package com.ediagnosis.cdr.dataCollect.endpoint.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author monojun + * @description 表信息 + * @createTime 2025年07月31日 + */ +@Data +public class BusinessDataTableVo implements Serializable { + @Serial + private static final long serialVersionUID = 8791629491093128048L; + + /** + * 主键id + */ + private Long id; + + /** + * 业务表名称 + */ + private String name; + + /** + * 业务表编号 + */ + private String tableNo; + + /** + * 业务系统id + */ + private Long businessId; + + /** + * 业务系统名称 + */ + private String businessName; + + /** + * 业务数据源id + */ + private Long sourceId; + + /** + * 业务数据源名称 + */ + private String sourceName; + + /** + * 描述 + */ + private String description; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private Long updateUserId; +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessDataRepository.java b/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessDataRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..b8dc93f6f1144d7a1bcfcb0528e5e1cf7d734b9b --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessDataRepository.java @@ -0,0 +1,62 @@ +package com.ediagnosis.cdr.dataCollect.inner; + + +import com.ediagnosis.cdr.dataCollect.dao.BusinessDataDao; +import com.ediagnosis.cdr.dataCollect.dao.dto.*; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataTableField; +import com.mybatisflex.core.paginate.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +/** + * @author monojun + * @description BusinessDataRepository + * @createTime 2025年08月04日 + */ +@Repository +@RequiredArgsConstructor +public class BusinessDataRepository { + + private final BusinessDataDao businessDataDao; + + /** + * 分页查询业务系统信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryPage(BusinessDataSystemQueryDTO queryDTO) { + return businessDataDao.querySystemPage(queryDTO); + } + + /** + * 分页查询业务数据源信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page querySourcePage(BusinessDataSourceQueryDTO queryDTO) { + return businessDataDao.querySourcePage(queryDTO); + } + + /** + * 分页查询业务表信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryTablePage(BusinessDataTableQueryDTO queryDTO) { + return businessDataDao.queryTablePage(queryDTO); + } + + /** + * 分页查询业务表字段信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryFieldPage(BusinessDataTableFieldQueryDTO queryDTO) { + return businessDataDao.queryFieldPage(queryDTO); + } +} diff --git a/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessSystemRepository.java b/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessSystemRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..83be93bebbec748d5f38e537ccaae7647ab3a836 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/dataCollect/inner/BusinessSystemRepository.java @@ -0,0 +1,63 @@ +package com.ediagnosis.cdr.dataCollect.inner; + +import com.ediagnosis.cdr.dataCollect.dao.BusinessDataDao; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemDTO; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSystemQueryDTO; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.mybatisflex.core.paginate.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +/** + * @author monojun + * @description BusinessSystemRepository + * @createTime 2025年08月05日 + */ +@Repository +@RequiredArgsConstructor +public class BusinessSystemRepository { + + private final BusinessDataDao businessDataDao; + + /** + * 新增业务系统 + * + * @param dataSystemDTO 业务系统dto + * @return 业务系统主键id + */ + public Long addDataSystem(BusinessDataSystemDTO dataSystemDTO) { + businessDataDao.addDataSystem(dataSystemDTO); + return businessDataDao.addDataSystem(dataSystemDTO); + } + + + /** + * 更新业务系统 + * + * @param dataSystemDTO 业务系统dto + * @return 业务系统主键id + */ + public Long updateDataSystem(BusinessDataSystemDTO dataSystemDTO) { + return businessDataDao.updateDataSystem(dataSystemDTO); + } + + /** + * 分页查询业务系统信息 + * + * @param queryDTO 查询dto + * @return PageInfo + */ + public Page queryPage(BusinessDataSystemQueryDTO queryDTO) { + return businessDataDao.querySystemPage(queryDTO); + } + + /** + * 删除业务系统 + * + * @param dataSystemId 业务系统id + */ + public void deleteDataSystem(Long dataSystemId) { + businessDataDao.deleteDataSystem(dataSystemId); + } + +} diff --git a/src/main/java/com/ediagnosis/cdr/dataService/DwsRepository.java b/src/main/java/com/ediagnosis/cdr/dataService/DwsRepository.java index d24ddfec2ca4d74d5e170418e8626cbda33e8108..ee1e03e5f4e3d3cfd092acf0da00ce8e17a8173e 100644 --- a/src/main/java/com/ediagnosis/cdr/dataService/DwsRepository.java +++ b/src/main/java/com/ediagnosis/cdr/dataService/DwsRepository.java @@ -19,7 +19,7 @@ public class DwsRepository { this.hiveQueryExecutor = hiveQueryExecutor; } - public Page> queryPage(String sql, int pageNo,int pageSize) { + public PageVo> queryPage(String sql, int pageNo, int pageSize) { com.mybatisflex.core.paginate.Page rowPage = hiveQueryExecutor.selectByFullSql(sql, pageNo, pageSize); List> result = rowPage.getRecords().stream() .map(row -> { @@ -41,7 +41,7 @@ public class DwsRepository { .filter(map -> !map.isEmpty()) // 可选:过滤掉空 map .toList(); - return new Page<>(pageNo, pageSize, rowPage.getTotalRow(), result); + return new PageVo<>(pageNo, pageSize, rowPage.getTotalRow(), result); } diff --git a/src/main/java/com/ediagnosis/cdr/enums/DataSourceTypeEnum.java b/src/main/java/com/ediagnosis/cdr/enums/DataSourceTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..23533fb18b7509d0ea0d51d3abca03f85e0db97c --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/enums/DataSourceTypeEnum.java @@ -0,0 +1,36 @@ +package com.ediagnosis.cdr.enums; + +import lombok.Getter; + +/** + * @author monojun + * @description 数据源类型枚举 + * @createTime 2025年07月31日 + */ +@Getter +public enum DataSourceTypeEnum { + + Mysql("Mysql", "mysql"), + + Oracle("Oracle", "oracle"), + + PostgreSQL("PostgreSQL", "postgreSQL"), + + SQLServer("SQLServer", "sqlserver"), + + H2("H2", "h2"), + + SQLite("SQLite", "sqlite"); + + + private final String key; + + private final String value; + + + DataSourceTypeEnum(String key, String value) { + this.key = key; + this.value = value; + } + +} diff --git a/src/main/java/com/ediagnosis/cdr/enums/FieldTypeEnum.java b/src/main/java/com/ediagnosis/cdr/enums/FieldTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..46e7c4416191550fdcbbf4028f766a617a15a315 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/enums/FieldTypeEnum.java @@ -0,0 +1,43 @@ +package com.ediagnosis.cdr.enums; + +import lombok.Getter; + +/** + * @author monojun + * @description 字段类型枚举 + * @createTime 2025年08月01日 + */ +@Getter +public enum FieldTypeEnum { + + varchar("varchar", "String"), + + text("text", "String"), + + decimal("decimal", "BigDecimal"), + + integer("integer", "Integer"), + + int4("int4", "Integer"), + + int8("int8", "Integer"), + + number("number", "Long"), + + datetime("datetime", "Date"), + + timestamp("timestamp", "Date"), + + bool("boolean", "Boolean"); + + + private final String key; + + private final String value; + + + FieldTypeEnum(String key, String value) { + this.key = key; + this.value = value; + } +} diff --git a/src/main/java/com/ediagnosis/cdr/util/PageConvertUtils.java b/src/main/java/com/ediagnosis/cdr/util/PageConvertUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..5dc154aa88fa5dce5e32b270e9fcac0790952a73 --- /dev/null +++ b/src/main/java/com/ediagnosis/cdr/util/PageConvertUtils.java @@ -0,0 +1,42 @@ +package com.ediagnosis.cdr.util; + +import com.ediagnosis.cdr.value.PageVo; +import com.mybatisflex.core.paginate.Page; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @author monojun + * @description 拷贝工具 + * @createTime 2025年07月03日 + */ +public class PageConvertUtils { + /** + * 拷贝 Page 到 PageVo + * + * @param source 原始分页数据 + * @param function 转换函数 T -> R + * @param 源类型 + * @param 目标类型 + * @return PageInfo + */ + public static PageVo copyPageInfo(Page source, Function function) { + PageVo result = new PageVo<>(); + // 拷贝分页信息(排除list) + BeanUtils.copyProperties(source, result, "list"); + result.setPageNo(source.getPageNumber()); + result.setPageSize(source.getPageSize()); + result.setTotalCount(source.getTotalRow()); + result.setTotalPage(source.getTotalPage()); + List collect = source.getRecords().stream() + .map(function) + .collect(Collectors.toList()); + result.setContent(collect); + return result; + } + + +} diff --git a/src/main/java/com/ediagnosis/cdr/value/Page.java b/src/main/java/com/ediagnosis/cdr/value/PageVo.java similarity index 89% rename from src/main/java/com/ediagnosis/cdr/value/Page.java rename to src/main/java/com/ediagnosis/cdr/value/PageVo.java index 86e353e2fc5e9deaa677f4f9b45155292fc4726b..fc4438ac1de5eeb18538639f51ad7d1769240a54 100644 --- a/src/main/java/com/ediagnosis/cdr/value/Page.java +++ b/src/main/java/com/ediagnosis/cdr/value/PageVo.java @@ -2,18 +2,18 @@ package com.ediagnosis.cdr.value; import java.util.List; -public class Page { +public class PageVo { private long pageNo; private long pageSize; private long totalCount; private List content; private long totalPage; - public Page() { + public PageVo() { } - public Page(long pageNo, long pageSize, - long totalCount, List content) { + public PageVo(long pageNo, long pageSize, + long totalCount, List content) { this.pageNo = pageNo; this.pageSize = pageSize; this.totalCount = totalCount; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7dc9c09614480d11da6f2073cc3cb846ded2ad4f..46bba33558d7be71954aa672c58df576e9e30af2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,7 +2,7 @@ mybatis-flex: datasource: ds-mysql: - url: jdbc:mysql://10.11.4.21:33063/cdr + url: jdbc:mysql://10.11.4.21:33063/cdr_v1 username: root password: Admin123456# ds-hive: diff --git a/src/main/resources/generator/mapper/BusinessDataSourceMapper.xml b/src/main/resources/generator/mapper/BusinessDataSourceMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..8f93e8ff1ce645cf9c72063984abd13f10d52b85 --- /dev/null +++ b/src/main/resources/generator/mapper/BusinessDataSourceMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + id, `name`, `type`, ip_address, properties, business_id, description, `status`, create_time, + create_user_id, update_time, update_user_id, is_deleted + + + d.id, d.`name`, d.`type`, d.ip_address, d.properties, d.business_id, ds.name as businessName, d.description, d.`status`, d.create_time, + d.create_user_id, d.update_time, d.update_user_id + + + + insert into business_data_source + (id, `name`, `type`, ip_address, properties, business_id, description, `status`, + create_time, create_user_id, update_time, update_user_id, is_deleted) + values + + (#{item.id,jdbcType=BIGINT}, #{item.name,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, + #{item.ipAddress,jdbcType=VARCHAR}, #{item.properties,jdbcType=LONGVARCHAR}, #{item.businessId,jdbcType=BIGINT}, + #{item.description,jdbcType=LONGVARCHAR}, #{item.status,jdbcType=INTEGER}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.createUserId,jdbcType=BIGINT}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateUserId,jdbcType=BIGINT}, + #{item.isDeleted,jdbcType=INTEGER}) + + + + \ No newline at end of file diff --git a/src/main/resources/generator/mapper/BusinessDataSystemMapper.xml b/src/main/resources/generator/mapper/BusinessDataSystemMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..a605d18d7323d870ab0479d534d4910f4e5fddcc --- /dev/null +++ b/src/main/resources/generator/mapper/BusinessDataSystemMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + id, name, description, create_time, create_user_id, update_time, update_user_id, + is_deleted + + + + insert into business_data_system + (name, description, create_time, create_user_id, update_time, update_user_id, is_deleted + ) + values + + (#{item.name,jdbcType=VARCHAR}, #{item.description,jdbcType=LONGVARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.createUserId,jdbcType=BIGINT}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateUserId,jdbcType=BIGINT}, + #{item.isDeleted,jdbcType=INTEGER}) + + + \ No newline at end of file diff --git a/src/main/resources/generator/mapper/BusinessDataTableFieldMapper.xml b/src/main/resources/generator/mapper/BusinessDataTableFieldMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..db6c4dfc574ee67e735d900a89cf620fabbce50f --- /dev/null +++ b/src/main/resources/generator/mapper/BusinessDataTableFieldMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + id, field_name, field_type, table_id, description, create_time, create_user_id, update_time, + update_user_id, is_deleted + + + + insert into business_data_table_field + (id, field_name, field_type, table_id, description, create_time, create_user_id, + update_time, update_user_id, is_deleted) + values + + (#{item.id,jdbcType=BIGINT}, #{item.fieldName,jdbcType=VARCHAR}, #{item.fieldType,jdbcType=VARCHAR}, + #{item.tableId,jdbcType=BIGINT}, #{item.description,jdbcType=LONGVARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.createUserId,jdbcType=BIGINT}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateUserId,jdbcType=BIGINT}, + #{item.isDeleted,jdbcType=INTEGER}) + + + \ No newline at end of file diff --git a/src/main/resources/generator/mapper/BusinessDataTableMapper.xml b/src/main/resources/generator/mapper/BusinessDataTableMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..7685dc7032eb22361618ab55b271ffd70e822f27 --- /dev/null +++ b/src/main/resources/generator/mapper/BusinessDataTableMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + id, `name`, table_no, business_id, source_id, description, create_time, create_user_id, + update_time, update_user_id, is_deleted + + + + insert into business_data_table + (id, `name`, table_no, business_id, source_id, description, create_time, create_user_id, + update_time, update_user_id, is_deleted) + values + + (#{item.id,jdbcType=BIGINT}, #{item.name,jdbcType=VARCHAR}, #{item.tableNo,jdbcType=VARCHAR}, + #{item.businessId,jdbcType=BIGINT}, #{item.sourceId,jdbcType=BIGINT}, #{item.description,jdbcType=LONGVARCHAR}, + #{item.createTime,jdbcType=TIMESTAMP}, #{item.createUserId,jdbcType=BIGINT}, #{item.updateTime,jdbcType=TIMESTAMP}, + #{item.updateUserId,jdbcType=BIGINT}, #{item.isDeleted,jdbcType=INTEGER}) + + + \ No newline at end of file diff --git a/src/test/java/com/ediagnosis/cdr/dao/MapperTest.java b/src/test/java/com/ediagnosis/cdr/dao/MapperTest.java new file mode 100644 index 0000000000000000000000000000000000000000..3eb473d140181b981d81dff990310c7bc7f84e47 --- /dev/null +++ b/src/test/java/com/ediagnosis/cdr/dao/MapperTest.java @@ -0,0 +1,50 @@ +package com.ediagnosis.cdr.dao; + +import com.ediagnosis.cdr.CdrApplication; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSourceDTO; +import com.ediagnosis.cdr.dataCollect.dao.dto.BusinessDataSourceQueryDTO; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSource; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.ediagnosis.cdr.dataCollect.dao.mapper.BusinessDataSourceMapper; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +/** + * @author monojun + * @description MapperTest + * @createTime 2025年07月31日 + */ +@SpringBootTest(classes = CdrApplication.class) +public class MapperTest { + + @Autowired + private BusinessDataSourceMapper dataSourceMapper; + + @Test + public void test1() { + BusinessDataSourceQueryDTO queryDTO = new BusinessDataSourceQueryDTO(); + QueryWrapper queryWrapper = QueryWrapper.create() + .select("d.*, ds.name as businessName") + .from("business_data_source").as("d") + .leftJoin("business_data_system").as("ds") + .on("d.business_id = ds.id"); + Page dataSourceDTOPage = dataSourceMapper.paginateAs(1, 10, queryWrapper, BusinessDataSourceDTO.class); + System.out.println(dataSourceDTOPage); + } + + @Test + public void test2() { + QueryWrapper queryWrapper = QueryWrapper.create() + .select("d.*", "ds.id as businessId, ds.name as businessName") + .from(BusinessDataSource.class).as("d") + .leftJoin(BusinessDataSystem.class).as("ds") + .on(BusinessDataSource::getBusinessId, BusinessDataSystem::getId); + queryWrapper.in(BusinessDataSource::getBusinessId, 1); + + Page dataSourceDTOPage = dataSourceMapper.paginateAs(1, 10, queryWrapper, BusinessDataSourceDTO.class); + System.out.println(dataSourceDTOPage); + } +} diff --git a/src/test/java/com/ediagnosis/cdr/demo/DemoTest.java b/src/test/java/com/ediagnosis/cdr/demo/DemoTest.java new file mode 100644 index 0000000000000000000000000000000000000000..5ad7429a9e880c377aa7fbb4e19fa51491f386d2 --- /dev/null +++ b/src/test/java/com/ediagnosis/cdr/demo/DemoTest.java @@ -0,0 +1,44 @@ +package com.ediagnosis.cdr.demo; + +import com.ediagnosis.cdr.CdrApplication; +import com.ediagnosis.cdr.dataCollect.dao.BusinessDataDao; +import com.ediagnosis.cdr.dataCollect.dao.dto.*; +import com.ediagnosis.cdr.dataCollect.dao.entity.BusinessDataSystem; +import com.mybatisflex.core.paginate.Page; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +/** + * @author monojun + * @description ServiceTest + * @createTime 2025年07月31日 + */ +@SpringBootTest(classes = CdrApplication.class) +public class DemoTest { + + @Autowired + private BusinessDataDao businessDataDao; + + @Test + public void test1() { + BusinessDataTableQueryDTO queryDTO = new BusinessDataTableQueryDTO(); + Page businessDataTableDTOPage = businessDataDao.queryTablePage(queryDTO); + System.out.println(businessDataTableDTOPage); + } + + @Test + public void test2() { + BusinessDataSystemQueryDTO queryDTO = new BusinessDataSystemQueryDTO(); + Page dataSystemPage = businessDataDao.querySystemPage(queryDTO); + System.out.println(dataSystemPage); + } + + @Test + public void test3() { + Page dataSourceDTOPage = businessDataDao.querySourcePage(new BusinessDataSourceQueryDTO()); + System.out.println(dataSourceDTOPage); + } + + +}