From ba27959f196005d6bf4d91c2bc02e5ec12b67dbd Mon Sep 17 00:00:00 2001 From: yaoxin <1752800946@qq.com> Date: Thu, 25 Apr 2024 22:41:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E4=BA=86=E5=AD=97=E5=85=B8=E8=A1=A8=E7=9A=84=E6=96=B0=E5=A2=9E?= =?UTF-8?q?,=E5=88=A0=E9=99=A4,=E5=92=8C=E5=AD=97=E5=85=B8=E8=A1=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E6=96=B0=E5=A2=9E,=E4=BF=AE?= =?UTF-8?q?=E6=94=B9,=E4=BB=A5=E5=8F=8A=E5=9C=A8=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E7=9A=84=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- muyu-modules/muyu-etl/pom.xml | 5 ++ .../java/com/muyu/etl/MuYuETLApplication.java | 1 + .../etl/controller/AssetModelController.java | 2 +- .../java/com/muyu/etl/domain/AssetModel.java | 25 ++++++++ .../muyu/etl/feign/SysUserFeignService.java | 19 ++++++ .../com/muyu/etl/mapper/AssetModelMapper.java | 2 + .../muyu/etl/mapper/DictionaryDataMapper.java | 2 +- .../com/muyu/etl/mapper/DictionaryMapper.java | 3 + .../service/impl/AssetModelServiceImpl.java | 2 + .../service/impl/DataSourceServiceImpl.java | 63 +++++++++++++++---- .../service/impl/DictionaryServiceImpl.java | 25 ++++++-- .../mapper/system/AssetModelMapper.xml | 8 ++- .../mapper/system/DictionaryDataMapper.xml | 6 +- .../mapper/system/DictionaryMapper.xml | 10 +++ .../muyu/system/MuYuSystemApplication.java | 1 + .../system/controller/SysUserController.java | 1 - 16 files changed, 149 insertions(+), 26 deletions(-) create mode 100644 muyu-modules/muyu-etl/src/main/java/com/muyu/etl/feign/SysUserFeignService.java diff --git a/muyu-modules/muyu-etl/pom.xml b/muyu-modules/muyu-etl/pom.xml index 0a144a2..c8fce6b 100644 --- a/muyu-modules/muyu-etl/pom.xml +++ b/muyu-modules/muyu-etl/pom.xml @@ -18,6 +18,11 @@ + + com.muyu + muyu-modules-system + 3.6.3 + org.postgresql diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/MuYuETLApplication.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/MuYuETLApplication.java index 51f43c4..c8bd98b 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/MuYuETLApplication.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/MuYuETLApplication.java @@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * 系统模块 diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/controller/AssetModelController.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/controller/AssetModelController.java index 2bbd500..dac141c 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/controller/AssetModelController.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/controller/AssetModelController.java @@ -80,7 +80,7 @@ public class AssetModelController extends BaseController * 修改【请填写功能名称】 */ @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) - @PutMapping + @PostMapping("/UpdateAssetModel") public Result edit(@RequestBody AssetModel assetModel) { return toAjax(assetModelService.updateAssetModel(assetModel)); diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/domain/AssetModel.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/domain/AssetModel.java index 42dc6e2..a5fdb40 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/domain/AssetModel.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/domain/AssetModel.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 【请填写功能名称】对象 asset_model * @@ -65,6 +67,29 @@ public class AssetModel extends BaseEntity /** 字典key */ @Excel(name = "字典key") private String dictKey; + /** 字典id */ + @Excel(name = "字典key") + private Long dictionaryId; + + /** 字典信息 */ + @Excel(name = "字典信息") + private List dictionaryDatas; + + public Long getDictionaryId() { + return dictionaryId; + } + + public void setDictionaryId(Long dictionaryId) { + this.dictionaryId = dictionaryId; + } + + public List getDictionaryDatas() { + return dictionaryDatas; + } + + public void setDictionaryDatas(List dictionaryDatas) { + this.dictionaryDatas = dictionaryDatas; + } public void setId(Long id) { diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/feign/SysUserFeignService.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/feign/SysUserFeignService.java new file mode 100644 index 0000000..4914257 --- /dev/null +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/feign/SysUserFeignService.java @@ -0,0 +1,19 @@ +package com.muyu.etl.feign; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.common.system.domain.SysUser; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * @ClassName SysUserFeignService + * @Description 描述 + * @Author Xin.Yao + * @Date 2024/4/25 16:05 + */ +@FeignClient("muyu-system") +public interface SysUserFeignService { + @GetMapping("/user/list") + public Result> list (SysUser user); +} diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/AssetModelMapper.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/AssetModelMapper.java index ec7649a..7d60b8c 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/AssetModelMapper.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/AssetModelMapper.java @@ -63,4 +63,6 @@ public interface AssetModelMapper void batchInsert(@Param("tableAssets") List tableAssets); List getAssetModelList(@Param("longs") List longs); + + void updAssetModelDict(Long id); } diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryDataMapper.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryDataMapper.java index 8e41c60..9c6732a 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryDataMapper.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryDataMapper.java @@ -62,5 +62,5 @@ public interface DictionaryDataMapper List getDictionaryDataList(@Param("dictionaryIds") List dictionaryIds); - void deleteDictionaryData(@Param("dictionaryIds") List dictionaryIds); + void deleteDictionaryData(@Param("id") Long id); } diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryMapper.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryMapper.java index bd98c5b..ce8310b 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryMapper.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/mapper/DictionaryMapper.java @@ -2,6 +2,7 @@ package com.muyu.etl.mapper; import java.util.List; import com.muyu.etl.domain.Dictionary; +import com.muyu.etl.domain.DictionaryData; import org.apache.ibatis.annotations.Param; /** @@ -61,4 +62,6 @@ public interface DictionaryMapper public int deleteDictionaryByIds(Long[] ids); List getDictionaryList(@Param("dataSourceId") Long dataSourceId); + + List getDictionaryDataList(@Param("strings") List strings); } diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/AssetModelServiceImpl.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/AssetModelServiceImpl.java index 4418d3e..b5e8dd6 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/AssetModelServiceImpl.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/AssetModelServiceImpl.java @@ -2,6 +2,7 @@ package com.muyu.etl.service.impl; import java.util.List; import com.muyu.common.core.utils.DateUtils; +import com.muyu.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.muyu.etl.mapper.AssetModelMapper; @@ -67,6 +68,7 @@ public class AssetModelServiceImpl implements IAssetModelService public int updateAssetModel(AssetModel assetModel) { assetModel.setUpdateTime(DateUtils.getNowDate()); + assetModel.setUpdateBy(SecurityUtils.getUsername()); return assetModelMapper.updateAssetModel(assetModel); } diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DataSourceServiceImpl.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DataSourceServiceImpl.java index 81db1a7..a39e861 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DataSourceServiceImpl.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DataSourceServiceImpl.java @@ -1,22 +1,19 @@ package com.muyu.etl.service.impl; import java.sql.*; -import java.util.ArrayList; +import java.util.*; import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.DateUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.etl.domain.*; +import com.muyu.etl.domain.Dictionary; import com.muyu.etl.domain.custom.*; -import com.muyu.etl.mapper.AssetModelMapper; -import com.muyu.etl.mapper.DataAssetMapper; +import com.muyu.etl.feign.SysUserFeignService; +import com.muyu.etl.mapper.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.muyu.etl.mapper.DataSourceMapper; import com.muyu.etl.service.IDataSourceService; import org.springframework.transaction.annotation.Transactional; @@ -38,6 +35,21 @@ public class DataSourceServiceImpl implements IDataSourceService @Autowired private AssetModelMapper assetModelMapper; + @Autowired + private DictionaryDataMapper dictionaryDataMapper; + + @Autowired + private DictionaryServiceImpl dictionaryService; + + @Autowired + private SourceAccreditMapper sourceAccreditMapper; + + @Autowired + private AssetAccreditMapper assetAccreditMapper; + + @Autowired + private SysUserFeignService sysUserFeignService; + /** * 查询【请填写功能名称】 * @@ -112,14 +124,24 @@ public class DataSourceServiceImpl implements IDataSourceService @Transactional public int deleteDataSourceByIds(Long[] ids) { - deleteChildLevel(ids); + deleteChildLevel(ids,"delete"); return dataSourceMapper.deleteDataSourceByIds(ids); } - public void deleteChildLevel(Long[] ids){ + public void deleteAccredit(List sourceIds,List assetIds){ + if (!sourceIds.isEmpty()){ + sourceAccreditMapper.deleteSourceAccreditBySourceIds(sourceIds); + } + if (!assetIds.isEmpty()){ + assetAccreditMapper.deleteAssetAccreditByAssetIds(assetIds); + } + } + + public void deleteChildLevel(Long[] ids,String type){ List dataAssetList=dataAssetMapper.getDataAssetList(ids); + List dataAssetIds = new ArrayList<>(); if (!dataAssetList.isEmpty()){ - List dataAssetIds = dataAssetList.stream().map(DataAsset::getId).toList(); + dataAssetIds = dataAssetList.stream().map(DataAsset::getId).toList(); List assetModelList=assetModelMapper.getAssetModelList(dataAssetIds); dataAssetMapper.deleteDataAssetByIds(dataAssetIds.toArray(Long[]::new)); if (!assetModelList.isEmpty()){ @@ -127,6 +149,12 @@ public class DataSourceServiceImpl implements IDataSourceService assetModelMapper.deleteAssetModelByIds(assetModelIds.toArray(Long[]::new)); } } + if ("delete".equals(type)){ + deleteAccredit(Arrays.stream(ids).toList(),dataAssetIds); + }else{ + deleteAccredit(new ArrayList(),dataAssetIds); + } + } /** @@ -364,7 +392,7 @@ public class DataSourceServiceImpl implements IDataSourceService @Override public Result synchronousData(DataSource dataSource) { - deleteChildLevel(new Long[]{dataSource.getId()}); + deleteChildLevel(new Long[]{dataSource.getId()},"synchronous"); String jdbcUrl = ""; String sql=""; jdbcUrl = "jdbc:"+dataSource.getType().toLowerCase()+"://"+dataSource.getLinkAddress()+":"+dataSource.getPort()+"/"+dataSource.getDatabaseName(); @@ -439,6 +467,19 @@ public class DataSourceServiceImpl implements IDataSourceService AssetModel assetModel = new AssetModel(); assetModel.setDataAssetId(dataAsset.getId()); List assetModels = assetModelMapper.selectAssetModelList(assetModel); + List strings = assetModels.stream().map(AssetModel::getDictKey).toList(); + if (!strings.isEmpty()){ + Result> result = dictionaryService.getDictionaryDataList(strings); + List data = result.getData(); + assetModels.stream() + .forEach(assetModel1 -> { + data.stream().forEach(dataInfo -> { + if (assetModel1.getDictKey().equals(dataInfo.getDictionaryKey())){ + assetModel1.setDictionaryDatas(dataInfo.getDictionaryDataList()); + } + }); + }); + } return Result.success(assetModels); } diff --git a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DictionaryServiceImpl.java b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DictionaryServiceImpl.java index 676e366..c0164ef 100644 --- a/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DictionaryServiceImpl.java +++ b/muyu-modules/muyu-etl/src/main/java/com/muyu/etl/service/impl/DictionaryServiceImpl.java @@ -9,6 +9,7 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.DateUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.etl.domain.DictionaryData; +import com.muyu.etl.mapper.AssetModelMapper; import com.muyu.etl.mapper.DictionaryDataMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +33,9 @@ public class DictionaryServiceImpl implements IDictionaryService @Autowired private DictionaryDataMapper dictionaryDataMapper; + @Autowired + private AssetModelMapper assetModelMapper; + /** * 查询【请填写功能名称】 * @@ -125,13 +129,22 @@ public class DictionaryServiceImpl implements IDictionaryService @Override @Transactional public Result deleteDictionary(Long id) { - Dictionary dictionary = new Dictionary(); - dictionary.setId(id); - List dictionaryList = dictionaryMapper.selectDictionaryList(dictionary); - if (!dictionaryList.isEmpty()){ - dictionaryDataMapper.deleteDictionaryData(dictionaryList.stream().map(Dictionary::getId).toList()); - } + dictionaryDataMapper.deleteDictionaryData(id); dictionaryMapper.deleteDictionaryById(id); + assetModelMapper.updAssetModelDict(id); return Result.success(); } + + public Result getDictionaryDataList(List strings) { + List dictionaryList = dictionaryMapper.getDictionaryDataList(strings); + if (!dictionaryList.isEmpty()){ + List dictionaryDataList=dictionaryDataMapper.getDictionaryDataList(dictionaryList.stream().map(Dictionary::getId).toList()); + dictionaryList.stream() + .forEach(dictionary -> { + List dictionaryDatas = dictionaryDataList.stream().filter(dictionaryData -> dictionaryData.getDictionaryId() == dictionary.getId()).toList(); + dictionary.setDictionaryDataList(dictionaryDatas); + }); + } + return Result.success(dictionaryList); + } } diff --git a/muyu-modules/muyu-etl/src/main/resources/mapper/system/AssetModelMapper.xml b/muyu-modules/muyu-etl/src/main/resources/mapper/system/AssetModelMapper.xml index 981ab6e..f2d093d 100644 --- a/muyu-modules/muyu-etl/src/main/resources/mapper/system/AssetModelMapper.xml +++ b/muyu-modules/muyu-etl/src/main/resources/mapper/system/AssetModelMapper.xml @@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, data_asset_id, name, comment, is_primary_key, type, mapping_type, length, decimal_places, is_null, is_dict,default_value, dict_key, create_by, create_time, update_by, update_time, remark from asset_model + select id, data_asset_id, name, comment, is_primary_key, type, mapping_type, length, decimal_places, is_null, is_dict,default_value, dict_key,dictionary_id, create_by, create_time, update_by, update_time, remark from asset_model @@ -158,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_dict = #{isDict}, default_value = #{defaultValue}, dict_key = #{dictKey}, + dictionary_id = #{dictionaryId}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -166,6 +169,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update asset_model set is_dict='', dict_key='',dictionary_id=null where dictionary_id = #{id} + delete from asset_model where id = #{id} diff --git a/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryDataMapper.xml b/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryDataMapper.xml index c0c976c..55457c5 100644 --- a/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryDataMapper.xml +++ b/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryDataMapper.xml @@ -94,10 +94,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from dictionary_data where dictionary_id in ( - - #{id} - - ) + delete from dictionary_data where dictionary_id = #{id} \ No newline at end of file diff --git a/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryMapper.xml b/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryMapper.xml index 7e72c3a..f22fa6e 100644 --- a/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryMapper.xml +++ b/muyu-modules/muyu-etl/src/main/resources/mapper/system/DictionaryMapper.xml @@ -39,6 +39,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and data_source_id = #{dataSourceId} + insert into dictionary diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java index 8dab51e..354efdd 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/MuYuSystemApplication.java @@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * 系统模块 diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 9811a0e..af40fa9 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -59,7 +59,6 @@ public class SysUserController extends BaseController { /** * 获取用户列表 */ - @RequiresPermissions("system:user:list") @GetMapping("/list") public Result> list (SysUser user) { startPage();