From 8ea4c69b64b5088d7821f7bc3dd8f724b78b314d Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期二, 06 六月 2023 16:46:08 +0800 Subject: [PATCH] 链接类型联调接口。DDL服务修正。业务类型新增接口修正。 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java | 76 ++++++++++++++++++++++++++++++++++--- 1 files changed, 69 insertions(+), 7 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java index 6086205..7406ba9 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java @@ -1,15 +1,19 @@ package com.vci.ubcs.omd.wrapper; +import com.vci.ubcs.omd.cache.BtmTypeCache; import com.vci.ubcs.omd.constant.BtmTypeConstant; import com.vci.ubcs.omd.entity.LinkType; +import com.vci.ubcs.omd.vo.BtmTypeVO; +import com.vci.ubcs.omd.vo.LinkTypeAttributeVO; import com.vci.ubcs.omd.vo.LinkTypeVO; +import com.vci.ubcs.starter.web.enumpck.NewAppConstantEnum; +import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -26,13 +30,39 @@ @Override public LinkTypeVO entityVO(LinkType entity) { - LinkTypeVO vo = BeanUtil.copy(entity, LinkTypeVO.class); + LinkTypeVO vo = Optional.ofNullable(BeanUtil.copy(entity, LinkTypeVO.class)).orElseGet(LinkTypeVO::new); + List<String> fromIdList = Func.toStrList(",", vo.getFromBtmType()); + List<String> toIdList = Func.toStrList(",", vo.getToBtmType()); + Set<String> btmIdSet = new HashSet<>(); + btmIdSet.addAll(fromIdList); + btmIdSet.addAll(toIdList); + List<BtmTypeVO> btmTypeVOList = BtmTypeCache.selectByIdCollection(new ArrayList<>(btmIdSet)); + List<BtmTypeVO> fromBtm = new ArrayList<>(); + List<BtmTypeVO> toBtm = new ArrayList<>(); + Optional.ofNullable(btmTypeVOList).orElseGet(ArrayList::new).forEach(btm -> { + if (vo.getFromBtmType().contains(btm.getId())){ + fromBtm.add(btm); + } + if (vo.getToBtmType().contains(btm.getId())){ + toBtm.add(btm); + } + }); + vo.setFromBtmTypes(fromBtm); + vo.setToBtmTypes(toBtm); // 鏋氫妇澶勭悊 + vo.setDomainText(NewAppConstantEnum.getTextByName(vo.getDomain())); return vo; } - public List<LinkTypeVO> listEntityVO(List<LinkType> entityList){ - return Optional.ofNullable(entityList).orElseGet(ArrayList::new).stream().map(this::entityVO).collect(Collectors.toList()); + public List<LinkTypeVO> listEntityVO(List<LinkType> entityList, Map<String, List<LinkTypeAttributeVO>> pkLinkTypeAndAttributeMap){ + List<LinkTypeVO> voList = Optional.ofNullable(entityList).orElseGet(ArrayList::new).stream().map(this::entityVO).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(voList) && pkLinkTypeAndAttributeMap != null){ + voList.forEach(vo -> { + List<LinkTypeAttributeVO> attributes = pkLinkTypeAndAttributeMap.getOrDefault(vo.getOid(), new ArrayList<>()); + vo.setAttributes(attributes); + }); + } + return voList; } public void copyLinkTypeVO2DO(LinkTypeVO linkTypeVO, LinkType linkTypeDO, String creator, Date now) { @@ -51,4 +81,36 @@ linkTypeDO.setLastModifyTime(now); linkTypeDO.setBtmName(BtmTypeConstant.LINK_TYPE); } + + /** + * 缂栬緫淇濆瓨鍓嶈缃粯璁ゅ瓧娈靛�� + * + * @param linkTypeDO 閾炬帴绫诲瀷 + * @param modifier 淇敼浜� + * @param modifyTime 淇敼鏃堕棿 + * @return + */ + public LinkType setBeforeUpdate(LinkType linkTypeDO, String modifier, Date modifyTime) { + linkTypeDO.setLastModifier(modifier); + linkTypeDO.setTs(modifyTime); + linkTypeDO.setLastModifyTime(modifyTime); + return linkTypeDO; + } + + /** + * 鎻掑叆鍓嶈缃粯璁ゅ瓧娈� + * @param linkTypeDO 閾炬帴绫诲瀷 + * @param creator 鍒涘缓浜� + * @param createTime 鍒涘缓鏃堕棿 + */ + public void setBeforeInsert(LinkType linkTypeDO, String creator, Date createTime) { + linkTypeDO.setOid(VciBaseUtil.getPk()); + linkTypeDO.setCreator(creator); + linkTypeDO.setCreateTime(createTime); + linkTypeDO.setOwner(creator); + linkTypeDO.setBtmName(BtmTypeConstant.LINK_TYPE); + linkTypeDO.setTs(createTime); + linkTypeDO.setLastModifyTime(createTime); + linkTypeDO.setLastModifier(creator); + } } -- Gitblit v1.9.3