feat(): 资产模型基本信息
parent
8a897e1066
commit
c66661c52c
|
@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.etl.common.core.annotation.Excel;
|
||||
import com.etl.common.core.web.domain.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
|
@ -21,9 +19,8 @@ import lombok.experimental.SuperBuilder;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("asset_table_details")
|
||||
public class AssetTableDetails extends BaseEntity {
|
||||
public class AssetTableDetails {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.etl.data.structure.domain.resp;
|
||||
|
||||
import com.etl.data.structure.domain.AssetStructureTable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -23,7 +22,7 @@ public class AssetStructureTableResp {
|
|||
/**
|
||||
* 数据资产
|
||||
*/
|
||||
private List<AssetStructureTable> assetStructureList;
|
||||
private List<TableDetailsResp> tableDetailsRespList;
|
||||
|
||||
/**
|
||||
* 数据资产表总数
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
package com.etl.data.structure.domain.resp;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.etl.common.core.annotation.Excel;
|
||||
import com.etl.data.structure.domain.AssetTableDetails;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据表和数据表数据详情返回类
|
||||
*
|
||||
* @author Chao
|
||||
* @ClassName: TableDetailsResp 数据表和数据表数据详情返回类
|
||||
* @CreateTime: 2024/4/26 上午10:41
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public class TableDetailsResp {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 数据资产id
|
||||
*/
|
||||
@Excel(name = "数据资产id")
|
||||
private Long assetStructureId;
|
||||
|
||||
/**
|
||||
* 数据资产表
|
||||
*/
|
||||
@Excel(name = "数据资产表")
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 数据库数据总数
|
||||
*/
|
||||
@Excel(name = "表数据总数")
|
||||
private Long tableDataCount;
|
||||
|
||||
/**
|
||||
* 表注释
|
||||
*/
|
||||
@Excel(name = "表注释")
|
||||
private String tableNameAnnotation;
|
||||
|
||||
/**
|
||||
* 表数据结构详细返回类
|
||||
*/
|
||||
private List<AssetTableDetails> assetTableDetailsList;
|
||||
}
|
|
@ -3,6 +3,8 @@ package com.etl.data.structure.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.etl.data.structure.domain.AssetTableDetails;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据详情 Service 接口
|
||||
*
|
||||
|
@ -11,4 +13,6 @@ import com.etl.data.structure.domain.AssetTableDetails;
|
|||
* @CreateTime: 2024/4/23 下午7:38
|
||||
*/
|
||||
public interface IAssetTableDetailsService extends IService<AssetTableDetails> {
|
||||
|
||||
public List<AssetTableDetails> selectAssetTableDetailsList();
|
||||
}
|
||||
|
|
|
@ -3,12 +3,18 @@ package com.etl.data.structure.service.impl;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.etl.data.structure.domain.AssetStructureTable;
|
||||
import com.etl.data.structure.domain.AssetTableDetails;
|
||||
import com.etl.data.structure.domain.resp.AssetStructureTableResp;
|
||||
import com.etl.data.structure.domain.resp.TableDetailsResp;
|
||||
import com.etl.data.structure.mapper.AssetStructureTableMapper;
|
||||
import com.etl.data.structure.service.IAssetStructureTableService;
|
||||
import com.etl.data.structure.service.IAssetTableDetailsService;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 资产结构表表Service业务实现层
|
||||
|
@ -18,7 +24,12 @@ import java.util.List;
|
|||
* @CreateTime: 2024/4/22 下午5:22
|
||||
*/
|
||||
@Service
|
||||
@Log4j2
|
||||
public class AssetStructureTableServiceImpl extends ServiceImpl<AssetStructureTableMapper, AssetStructureTable> implements IAssetStructureTableService {
|
||||
|
||||
@Autowired
|
||||
private IAssetTableDetailsService assetTableDetailsService;
|
||||
|
||||
/**
|
||||
* 查询该数据资产表
|
||||
*
|
||||
|
@ -27,16 +38,51 @@ public class AssetStructureTableServiceImpl extends ServiceImpl<AssetStructureTa
|
|||
*/
|
||||
@Override
|
||||
public AssetStructureTableResp selectAssetSouructureTableList(Long assetStructureId) {
|
||||
// 检查assetStructureId是否为null
|
||||
if (assetStructureId == null) {
|
||||
log.info("数据资产id不能为空");
|
||||
throw new IllegalArgumentException("数据资产id不能为空");
|
||||
}
|
||||
log.info("查询该数据资产表");
|
||||
List<AssetStructureTable> assetStructureTableList = this.list(
|
||||
new LambdaQueryWrapper<AssetStructureTable>()
|
||||
.eq(AssetStructureTable::getAssetStructureId, assetStructureId)
|
||||
);
|
||||
// 如果assetStructureTableList为空,则返回空的AssetStructureTableResp对象
|
||||
if (assetStructureTableList.isEmpty()){
|
||||
log.info("该数据资产表为空");
|
||||
return AssetStructureTableResp.builder().build();
|
||||
}
|
||||
|
||||
// 获取所有AssetTableDetails
|
||||
log.info("获取所有表数据详情");
|
||||
List<AssetTableDetails> assetTableDetails = assetTableDetailsService.selectAssetTableDetailsList();
|
||||
|
||||
// 遍历assetStructureTableList,获取每个AssetStructureTable的AssetTableDetails
|
||||
log.info("开始过滤并获取每一个表的数据结构");
|
||||
List<TableDetailsResp> assetTableDetailsList = assetStructureTableList.stream()
|
||||
.map(assetStructureTable -> {
|
||||
List<AssetTableDetails> matchingDetails = assetTableDetails.stream()
|
||||
.filter(tableDetails -> assetStructureTable.getId().equals(tableDetails.getAssetStructureTableId()))
|
||||
.collect(Collectors.toList());
|
||||
return TableDetailsResp.builder()
|
||||
.id(assetStructureTable.getId())
|
||||
.assetStructureId(assetStructureTable.getAssetStructureId())
|
||||
.tableName(assetStructureTable.getTableName())
|
||||
.tableDataCount(assetStructureTable.getTableDataCount())
|
||||
.tableNameAnnotation(assetStructureTable.getTableNameAnnotation())
|
||||
.assetTableDetailsList(matchingDetails)
|
||||
.build();
|
||||
}).collect(Collectors.toList());
|
||||
// 统计数据表总数
|
||||
log.info("统计数据表总数");
|
||||
long tableCount = assetStructureTableList.size();
|
||||
log.info("统计数据表数据总数");
|
||||
long tableDataCount = assetStructureTableList.stream().mapToLong(AssetStructureTable::getTableDataCount).sum();
|
||||
|
||||
log.info("------------------------------分隔符------------------------------------");
|
||||
return AssetStructureTableResp.builder()
|
||||
.assetStructureList(assetStructureTableList)
|
||||
.tableDetailsRespList(assetTableDetailsList)
|
||||
.tableCount(tableCount)
|
||||
.tableDataCount(tableDataCount)
|
||||
.build();
|
||||
|
|
|
@ -6,9 +6,10 @@ import com.etl.data.structure.mapper.AssetTableDetailsMapper;
|
|||
import com.etl.data.structure.service.IAssetTableDetailsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* 数据详情 Service 业务实现层
|
||||
* 数据详情 Service 业务实现层
|
||||
*
|
||||
* @author Chao
|
||||
* @ClassName: AssetTableDetailsServiceImpl
|
||||
|
@ -16,4 +17,13 @@ import org.springframework.stereotype.Service;
|
|||
*/
|
||||
@Service
|
||||
public class AssetTableDetailsServiceImpl extends ServiceImpl<AssetTableDetailsMapper, AssetTableDetails> implements IAssetTableDetailsService {
|
||||
/**
|
||||
* 根据表id获取数据详情
|
||||
*
|
||||
* @return 数据详情列表
|
||||
*/
|
||||
@Override
|
||||
public List<AssetTableDetails> selectAssetTableDetailsList() {
|
||||
return this.list();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue