From 9f39f0a4740f0536f33025c73ab988c9d1284067 Mon Sep 17 00:00:00 2001 From: sunshine7058 <2564255161@qq.com> Date: Sat, 27 Apr 2024 16:25:10 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=AD=97=E5=85=B8=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/data/source/domain/DictData.java | 8 +-- .../com/muyu/data/source/domain/DictType.java | 20 +++++-- .../muyu/data/source/domain/TableData.java | 2 +- .../data/source/domain/resp/ColumnResp.java | 54 ------------------- .../data/source/domain/resp/DictDataResp.java | 44 +++++++++++++++ .../muyu/data/source/domain/resp/Table.java | 34 ------------ .../source/controller/DictTypeController.java | 12 ++++- .../data/source/mapper/DataSourceMapper.java | 10 ---- .../data/source/service/DictTypeService.java | 4 ++ .../service/impl/DataSourceServiceImpl.java | 6 +-- .../service/impl/DictTypeServiceImpl.java | 29 +++++++++- .../mapper/data/DataSourceMapper.xml | 24 --------- 12 files changed, 107 insertions(+), 140 deletions(-) delete mode 100644 muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java create mode 100644 muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/DictDataResp.java delete mode 100644 muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictData.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictData.java index 5279911..bb6544a 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictData.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictData.java @@ -38,11 +38,7 @@ public class DictData extends BaseEntity { */ private String dictValue; /** - * 字典类型 + * 字典类型Id */ - private String dictType; - /** - * 状态 (0正常 1停用) - */ - private String status; + private Long dictTypeId; } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictType.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictType.java index 15e29d8..fdce47e 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictType.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/DictType.java @@ -3,6 +3,8 @@ package com.muyu.data.source.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.data.source.domain.resp.DictDataResp; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -26,8 +28,8 @@ public class DictType { /** * 字典主键 */ - @TableId(value = "dict_id", type = IdType.AUTO) - private Long dictId; + @TableId(value = "id", type = IdType.AUTO) + private Long id; /** * 字典名称 @@ -38,7 +40,17 @@ public class DictType { */ private String dictType; /** - * 状态(0正常 1停用) + * 数据源Id */ - private String status; +private Long assetId; + +public DictDataResp toDictDataResp (List list){ + return DictDataResp.builder() + .id(this.getId()) + .dictName(this.getDictName()) + .dictType(this.getDictType()) + .assetId(this.getAssetId()) + .dictData(list) + .build(); +} } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java index 2145e3c..1081af3 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/TableData.java @@ -52,7 +52,7 @@ public class TableData { /** * 长度 **/ - private Long length; + private Integer length; /** * 小数位 **/ diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java deleted file mode 100644 index ce272d4..0000000 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/ColumnResp.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.muyu.data.source.domain.resp; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * 字段描述 - * - * @author HuFangMing - * @ClassName: ColumnResp - * @createTime: 2024/4/23 20:47 - */ - -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class ColumnResp { - - /** - * 字段名称 - **/ - private String columnName; - /** - * 字段描述 - **/ - private String columnComment; - /** - * 是否主键 - **/ - private String columnKey; - /** - * 字段类型 - **/ - private String columnType; - /** - * 长度 - **/ - private Long length; - /** - * 小数位 - **/ - private Long numericScale; - /** - * 是否为空 - **/ - private String isNullable; - /** - * 默认值 - **/ - private String columnDefault; -} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/DictDataResp.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/DictDataResp.java new file mode 100644 index 0000000..4cdccc2 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/DictDataResp.java @@ -0,0 +1,44 @@ +package com.muyu.data.source.domain.resp; + +import com.muyu.data.source.domain.DictData; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 字典类型数据 + * + * @author HuFangMing + * @ClassName: DictDataResp + * @createTime: 2024/4/26 17:13 + */ + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class DictDataResp { + + /** + * 主键 + */ + private Long id; + /** + * 字典名称 + */ + private String dictName; + /** + * 字典类型 + */ + private String dictType; + /** + * 数据源编号 + */ + private Long assetId; + /** + * 字典数据集合 + */ + private List dictData; +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java deleted file mode 100644 index f0c97cf..0000000 --- a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/resp/Table.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.muyu.data.source.domain.resp; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * 数据库表结构 - * - * @author HuFangMing - * @ClassName: Table - * @createTime: 2024/4/23 21:21 - */ - -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -public class Table { - - /** - * 表名称 - */ - private String tableName; - /** - * 表注释 - */ - private String tableComment; - /** - * 表数据条数 - */ - private Long tableRows; -} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java index 1e01ddb..2c6b112 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java @@ -1,5 +1,10 @@ package com.muyu.data.source.controller; +import com.muyu.common.core.domain.Result; +import com.muyu.data.source.service.DictTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,5 +19,10 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/dictType") public class DictTypeController { - +@Autowired + private DictTypeService dictTypeService; +@GetMapping("/getDictDataList/{id}") + public Result getDictDataList(@PathVariable("id") Long id){ + return Result.success(dictTypeService.getDictDataList(id)); +} } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java index 4566250..0f94b5f 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/DataSourceMapper.java @@ -1,12 +1,5 @@ package com.muyu.data.source.mapper; -import com.muyu.common.core.domain.Result; -import com.muyu.data.source.domain.AssetDataSource; -import com.muyu.data.source.domain.Children; -import com.muyu.data.source.domain.TableData; -import com.muyu.data.source.domain.resp.ColumnResp; -import com.muyu.data.source.domain.resp.Table; - import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.data.source.domain.DataSource; @@ -21,7 +14,4 @@ import org.apache.ibatis.annotations.Param; public interface DataSourceMapper extends BaseMapper { - List selectColumn(@Param("databaseName") String databaseName, @Param("tableName") String tableName); - - List selectTable(@Param("databaseName") String databaseName); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java index 16463da..4d491aa 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java @@ -2,6 +2,8 @@ package com.muyu.data.source.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.data.source.domain.DictType; +import com.muyu.data.source.domain.resp.DictDataResp; +import java.util.List; /** * 字典类型业务层 @@ -14,4 +16,6 @@ import com.muyu.data.source.domain.DictType; public interface DictTypeService extends IService { + List getDictDataList(Long id); + } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java index 6690df5..ad599b9 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java @@ -10,7 +10,6 @@ import com.muyu.data.source.domain.DataSource; import com.muyu.data.source.domain.DatabaseType; import com.muyu.data.source.domain.TableData; import com.muyu.data.source.domain.req.ShowTableReq; -import com.muyu.data.source.domain.resp.ColumnResp; import com.muyu.data.source.domain.resp.CountResp; import com.muyu.data.source.mapper.DataSourceMapper; import com.muyu.data.source.service.AssetDataSourceService; @@ -26,10 +25,7 @@ import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import lombok.extern.slf4j.Slf4j; @@ -288,7 +284,7 @@ public class DataSourceServiceImpl extends ServiceImpl implements com.muyu.data.source.service.DictTypeService { + @Autowired + private DictDataService dictDataService; + + + + @Override + public List getDictDataList(Long id) { + List dictTypeList = list(new LambdaQueryWrapper<>() {{ + eq(DictType::getAssetId, id); + }}); + + List dictDataRespList = dictTypeList.stream().map(dictType -> { + List dictDataList = dictDataService.list(new LambdaQueryWrapper<>() {{ + eq(DictData::getDictTypeId, dictType.getId()); + }}); + return dictType.toDictDataResp(dictDataList); + }).toList(); + + return dictDataRespList; + } } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml index b8c8404..330c7e5 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/DataSourceMapper.xml @@ -34,28 +34,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - - -