diff --git a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/Dictionary.java b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/Dictionary.java
index 07d919b..93e23d3 100644
--- a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/Dictionary.java
+++ b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/Dictionary.java
@@ -1,6 +1,8 @@
package com.etl.data.domain;
+import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -11,9 +13,10 @@ import lombok.experimental.SuperBuilder;
import java.util.List;
/**
- * 字典表
- * @author YunFei.Du
- * @date 21:27 2024/4/25
+ * 字典表
+ *
+ * @author YunFei.Du
+ * @date 21:27 2024/4/25
*/
@Data
@AllArgsConstructor
@@ -25,6 +28,7 @@ public class Dictionary {
/**
* 主键
*/
+ @TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 数据源id
@@ -36,7 +40,10 @@ public class Dictionary {
*/
private String dictionaryName;
- @TableField(select = false)
- private List< DictionaryInfo > dictionaryList;
+ /**
+ * 字典值
+ */
+ private String dictionaryValue;
+
}
diff --git a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/DictionaryInfo.java b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/DictionaryInfo.java
index 36d1305..e341356 100644
--- a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/DictionaryInfo.java
+++ b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/DictionaryInfo.java
@@ -1,5 +1,7 @@
package com.etl.data.domain;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -22,6 +24,7 @@ public class DictionaryInfo {
/**
* 主键
*/
+ @TableId(value = "id",type = IdType.INPUT)
private Long id;
/**
* 字典表id
@@ -39,6 +42,6 @@ public class DictionaryInfo {
/**
* 是否编辑 (默认 0 不编辑)
*/
- private Integer isEdit;
+// private Integer isEdit;
}
diff --git a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/model/DictionaryModel.java b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/model/DictionaryModel.java
index e940e83..25dceb4 100644
--- a/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/model/DictionaryModel.java
+++ b/etl-modules/etl-data-source/etl-data-source-common/src/main/java/com/etl/data/domain/model/DictionaryModel.java
@@ -1,7 +1,9 @@
package com.etl.data.domain.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.etl.data.domain.Dictionary;
+import com.etl.data.domain.DictionaryInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -35,7 +37,24 @@ public class DictionaryModel {
*/
private String dictionaryName;
- private List< Dictionary > dictionaries;
+ /**
+ * 字典值
+ */
+ private String dictionaryValue;
+ private String dictionaryNameAndValue;
+ private List< DictionaryInfo > dictionaryList;
+
+
+ public static DictionaryModel dictionaryInfoBuild(Dictionary dictionary, List< DictionaryInfo > dictionaryInfos) {
+ return DictionaryModel.builder ( )
+ .id ( dictionary.getId ( ) )
+ .dataSourceId ( dictionary.getDataSourceId ())
+ .dictionaryName ( dictionary.getDictionaryName ())
+ .dictionaryValue ( dictionary.getDictionaryValue ())
+ .dictionaryNameAndValue (dictionary.getDictionaryName ()+'('+dictionary.getDictionaryValue ()+')')
+ .dictionaryList (dictionaryInfos )
+ .build ( );
+ }
}
diff --git a/etl-modules/etl-data-source/etl-data-source-server/pom.xml b/etl-modules/etl-data-source/etl-data-source-server/pom.xml
index 186eaf7..0e1e747 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/pom.xml
+++ b/etl-modules/etl-data-source/etl-data-source-server/pom.xml
@@ -92,6 +92,13 @@
etl-data-source-remote
+
+
+ org.postgresql
+ postgresql
+ 42.5.0
+
+
diff --git a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DataSourceController.java b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DataSourceController.java
index a663a8f..5f898c4 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DataSourceController.java
+++ b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DataSourceController.java
@@ -55,7 +55,7 @@ public class DataSourceController extends BaseController {
return success();
}
@PostMapping("/testConnect")
- public Result testConnect(@RequestBody DataSourceResp dataSourceResp){
+ public Boolean testConnect(@RequestBody DataSourceResp dataSourceResp){
return dataSourceService.testConnect(dataSourceResp);
}
diff --git a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DictionaryController.java b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DictionaryController.java
index 7df6e5f..2b7f3c8 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DictionaryController.java
+++ b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/controller/DictionaryController.java
@@ -2,13 +2,11 @@ package com.etl.data.controller;
import com.etl.common.core.domain.Result;
import com.etl.data.domain.Dictionary;
+import com.etl.data.domain.DictionaryInfo;
import com.etl.data.mapper.DictionaryMapper;
import com.etl.data.service.DictionaryService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -29,7 +27,28 @@ public class DictionaryController {
* @return
*/
@GetMapping("/getDictionaryByDataSourceId")
- public Result< List< Dictionary > > getDictionaryByDataSourceId(@RequestParam Integer dataSourceId){
+ public Result getDictionaryByDataSourceId(@RequestParam Integer dataSourceId){
return dictionaryService.getDictionaryByDataSourceId(dataSourceId);
}
+
+
+ /**
+ * 新增字典表
+ */
+ @PostMapping("insertDictionary")
+ public Result insertDictionary(@RequestBody Dictionary dictionary){
+ return dictionaryService.insertDictionary(dictionary);
+ }
+
+ /**
+ * 新增字典选项
+ */
+ @PostMapping("insertDictionarySelect")
+ public Result insertDictionarySelect(@RequestBody DictionaryInfo dictionaryInfo){
+ return dictionaryService.insertDictionarySelect(dictionaryInfo);
+ }
+
+
+
+
}
diff --git a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DataSourceService.java b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DataSourceService.java
index 60c02ab..4c3f074 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DataSourceService.java
+++ b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DataSourceService.java
@@ -19,7 +19,7 @@ import java.util.List;
public interface DataSourceService extends IService {
List list(DataSourceQueryReq dataSourceQueryReq);
- Result testConnect(DataSourceResp dataSourceResp);
+ Boolean testConnect(DataSourceResp dataSourceResp);
Result queryTableStructure(TableStructureQueryReq tableStructureQueryReq);
diff --git a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DictionaryService.java b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DictionaryService.java
index b88c968..b83b713 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DictionaryService.java
+++ b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/DictionaryService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.common.core.domain.Result;
import com.etl.data.domain.DataType;
import com.etl.data.domain.Dictionary;
+import com.etl.data.domain.DictionaryInfo;
import java.util.List;
@@ -14,5 +15,14 @@ import java.util.List;
* @Date 2024/4/20 11:48
*/
public interface DictionaryService extends IService< Dictionary > {
- Result< List< Dictionary > > getDictionaryByDataSourceId(Integer dataSourceId);
+ Result getDictionaryByDataSourceId(Integer dataSourceId);
+ /**
+ * 新增字典表
+ */
+ Result insertDictionary(Dictionary dictionary);
+
+ /**
+ * 新增字典选项
+ */
+ Result insertDictionarySelect(DictionaryInfo dictionaryInfo);
}
diff --git a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/impl/DataSourceServiceImpl.java b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/impl/DataSourceServiceImpl.java
index 06b1ff8..b0fbcda 100644
--- a/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/impl/DataSourceServiceImpl.java
+++ b/etl-modules/etl-data-source/etl-data-source-server/src/main/java/com/etl/data/service/impl/DataSourceServiceImpl.java
@@ -84,10 +84,8 @@ public class DataSourceServiceImpl extends ServiceImpl dataTableLambdaQueryWrapper1 = new LambdaQueryWrapper<> ( );
+ dataTableLambdaQueryWrapper1.eq ( DataTable::getDataSourceId,dataSourceResp.getId () );
+ List< DataTable > list = dataTableService.list ( dataTableLambdaQueryWrapper1 );
+ list.stream ().map ( DataTable::getId ).toList ();
+
+ if (list != null &&list.size ()!=0) {
+ LambdaQueryWrapper< AssetsModel > assetsModelLambdaQueryWrapper = new LambdaQueryWrapper<> ( );
+ assetsModelLambdaQueryWrapper.in ( AssetsModel::getDataTableId, list );
+
+ }
+
//获取所有表,根据数据源id'
LambdaQueryWrapper dataTableLambdaQueryWrapper = new LambdaQueryWrapper<>();
dataTableLambdaQueryWrapper.eq(DataTable::getDataSourceId,dataSourceResp.getId());
@@ -297,7 +316,6 @@ public class DataSourceServiceImpl extends ServiceImpl > getDictionaryByDataSourceId(Integer dataSourceId) {
+ public Result> getDictionaryByDataSourceId(Integer dataSourceId) {
- List< Dictionary > dictionaryList = dictionaryMapper.selectList ( new LambdaQueryWrapper< Dictionary > ( ).eq ( Dictionary::getDataSourceId, dataSourceId ) );
- if (!dictionaryList.isEmpty ()){
- List< DictionaryInfo > dictionaryInfos = dictionaryInfoMapper.selectList ( new LambdaQueryWrapper< DictionaryInfo > ( ).in ( DictionaryInfo::getDictionaryId, dictionaryList.stream ().map ( Dictionary::getId ).collect ( Collectors.toList () ) ) );
- dictionaryList.stream ()
- .forEach ( dictionary -> {
- List< DictionaryInfo > list = dictionaryInfos.stream ( ).filter ( dictionaryInfo -> dictionaryInfo.getDictionaryId ( ) == dictionary.getId ( ) ).toList ( );
- dictionary.setDictionaryList ( list );
+ List< DictionaryModel > dictionaryModels = new ArrayList<> ( );
- });
+ List< Dictionary > dictionaryList = this.list ( new LambdaQueryWrapper< Dictionary > ( ).eq ( Dictionary::getDataSourceId, dataSourceId ) );
+
+ for (Dictionary dictionary : dictionaryList) {
+ List< DictionaryInfo > dictionaryInfoList = dictionaryInfoService.list ( new LambdaQueryWrapper< DictionaryInfo > ( ).eq (
+ DictionaryInfo::getDictionaryId, dictionary.getId ( ) ));
+
+ dictionaryModels.add ( DictionaryModel.dictionaryInfoBuild (dictionary, dictionaryInfoList ));
}
- return Result.success (dictionaryList );
+
+ return Result.success (dictionaryModels);
+ }
+
+ @Override
+ public Result insertDictionary(Dictionary dictionary) {
+
+ boolean save = this.save ( dictionary );
+ if (!save) {
+ return Result.error ( "添加失败" );
+ }
+ return Result.success ( "添加成功" );
+ }
+
+ @Override
+ public Result insertDictionarySelect(DictionaryInfo dictionaryInfo) {
+ String returnString = "";
+ boolean save;
+ if (dictionaryInfo.getId ( ) == null) {
+ save = dictionaryInfoService.save ( dictionaryInfo );
+ returnString = save ? "添加字典标签成功" : "添加字典标签失败";
+ } else {
+ save = dictionaryInfoService.updateById ( dictionaryInfo );
+ returnString = save ? "修改字典标签成功" : "修改字典标签失败";
+ }
+ if (save) {
+ return Result.success ( null, returnString );
+ }
+ return Result.error ( returnString );
}
}