From 29d2aabc6a07be091d7b52ba51e12a6baf16f7ac Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期二, 06 六月 2023 17:40:18 +0800 Subject: [PATCH] 接口配置冲突 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java | 102 ++++++++++++++++++++++++++------------------------ 1 files changed, 53 insertions(+), 49 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java index e616cd2..571c89d 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java @@ -4,15 +4,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.api.exception.NacosException; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper; -import com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper; -import com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.omd.constant.BtmTypeConstant; import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; @@ -27,7 +20,6 @@ import com.vci.ubcs.omd.repeater.DomainRepeater; import com.vci.ubcs.omd.service.*; import com.vci.ubcs.omd.vo.*; -import com.vci.ubcs.omd.wrapper.BtmTypeWrapper; import com.vci.ubcs.omd.wrapper.LinkTypeAttributeWrapper; import com.vci.ubcs.omd.wrapper.LinkTypeWrapper; import com.vci.ubcs.starter.exception.VciBaseException; @@ -49,12 +41,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.DefaultTransactionDefinition; import org.springframework.util.CollectionUtils; -import java.io.Serializable; import java.util.*; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -169,7 +160,8 @@ if(!CollectionUtils.isEmpty(pkLinkTypeCollection)){ List<LinkType> linkTypeDOList = listLinkTypeDOByOidCollection(pkLinkTypeCollection); if(!CollectionUtils.isEmpty(linkTypeDOList)) { - return LinkTypeWrapper.build().listEntityVO(linkTypeDOList); + Map<String,List<LinkTypeAttributeVO>> pkLinkTypeAndAttributeMap = linkTypeAttributeService.batchGetAttributesNoDefault(linkTypeDOList); + return LinkTypeWrapper.build().listEntityVO(linkTypeDOList,pkLinkTypeAndAttributeMap); } } return null; @@ -194,6 +186,7 @@ linkTypeDOList.addAll(linkTypeDOS); } }); + return linkTypeDOList; } return null; } @@ -241,7 +234,8 @@ if(!CollectionUtils.isEmpty(linkTypeIdCollection)){ List<LinkType> linkTypeDOList = listLinkTypeDOByIdCollection(linkTypeIdCollection); if(!CollectionUtils.isEmpty(linkTypeDOList)) { - return LinkTypeWrapper.build().listEntityVO(linkTypeDOList); + Map<String,List<LinkTypeAttributeVO>> pkLinkTypeAndAttributeMap = linkTypeAttributeService.batchGetAttributesNoDefault(linkTypeDOList); + return LinkTypeWrapper.build().listEntityVO(linkTypeDOList, pkLinkTypeAndAttributeMap); } } return null; @@ -352,6 +346,7 @@ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override + @Transactional public LinkTypeVO addSave(LinkTypeVO linkTypeVO, boolean autoCreateTable) throws VciBaseException { TransactionStatus transaction = null; if(autoCreateTable) { @@ -398,20 +393,29 @@ } LinkType linkTypeDO = new LinkType(); BeanUtil.copy(linkTypeVO, linkTypeDO); + if (StringUtils.isBlank(linkTypeDO.getTableName())){ + linkTypeDO.setTableName(getTableName(linkTypeDO.getId(),linkTypeDO.getDomain())); + } String creator = AuthUtil.getUserAccount(); Date now = new Date(); - linkTypeDO.setCreator(creator); - linkTypeDO.setCreateTime(now); - linkTypeDO.setOwner(creator); - linkTypeDO.setBtmName(BtmTypeConstant.LINK_TYPE); - linkTypeDO.setTs(now); + LinkTypeWrapper.build().setBeforeInsert(linkTypeDO,creator,now); //澶勭悊灞炴�� - addAttributeForLink(linkTypeVO.getAttributes(),linkTypeDO.getOid(),creator,now); + List<LinkTypeAttributeVO> attributeVOList = addAttributeForLink(linkTypeVO.getAttributes(), linkTypeDO.getOid(), creator, now); baseMapper.insert(linkTypeDO); if(autoCreateTable) { - dataSourceTransactionManager.commit(transaction); + LinkTypeVO typeVO = LinkTypeWrapper.build().entityVO(linkTypeDO); + typeVO.setAttributes(attributeVOList); + List<LinkTypeAttributeVO> attributes = typeVO.getAttributes(); + attributes.addAll(linkTypeAttributeService.getDefaultAttributes(typeVO)); + typeVO.setAttributes(attributes); + R r = DomainRepeater.submitLinkType(typeVO.getDomain(), typeVO); + if (!r.isSuccess()){ + dataSourceTransactionManager.rollback(transaction); + }else { + dataSourceTransactionManager.commit(transaction); + } } }catch (VciBaseException e){ if(autoCreateTable) { @@ -424,9 +428,9 @@ } throw e; } - if(autoCreateTable) { + /*if(autoCreateTable) { checkTableSame(linkTypeVO); - } + }*/ return linkTypeVO; } @@ -437,11 +441,11 @@ * @param creator 鍒涘缓浜� * @param now 褰撳墠鏃堕棿 */ - private void addAttributeForLink(List<LinkTypeAttributeVO> attributesVOList,String pkLinkType,String creator,Date now){ + private List<LinkTypeAttributeVO> addAttributeForLink(List<LinkTypeAttributeVO> attributesVOList,String pkLinkType,String creator,Date now){ List<LinkTypeAttribute> linkTypeAttributeDOList = new ArrayList<>(); if(!CollectionUtils.isEmpty(attributesVOList)) { List<String> attributeIdList = new ArrayList<>(); - attributesVOList.stream().forEachOrdered(s -> { + attributesVOList.forEach(s -> { linkTypeAttributeService.checkAttribute(s); linkTypeAttributeDOList.add(LinkTypeAttributeWrapper.build().copyVO2DO(s, pkLinkType, creator, now)); attributeIdList.add(s.getId().toLowerCase().trim()); @@ -449,7 +453,9 @@ //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 attributeService.checkAttributeExists(attributeIdList); linkTypeAttributeService.saveOrUpdateBatch(linkTypeAttributeDOList,10000); + return LinkTypeAttributeWrapper.build().listEntityVO(linkTypeAttributeDOList); } + return null; } /** @@ -478,8 +484,8 @@ } if (!CollectionUtils.isEmpty(modifyAttributeInfoDOList)) { modifyAttributeService.saveOrUpdateBatch(modifyAttributeInfoDOList); + modifyAttributeService.finishModify(modifyAttributeInfoDOList); } - modifyAttributeService.finishModify(modifyAttributeInfoDOList); } /** @@ -542,15 +548,10 @@ if(StringUtils.isNotBlank(unExistBtmTypeId)){ throw new VciBaseException("閾炬帴绫诲瀷浣跨敤鐨勪笟鍔$被鍨媨0}涓嶅瓨鍦紝璇锋煡璇�",new Object[]{unExistBtmTypeId}); } - String creator = AuthUtil.getUserAccount(); Date now = new Date(); - linkTypeDO.setLastModifier(creator); - linkTypeDO.setLastModifyTime(now); - linkTypeDO.setTs(now); + linkTypeDO = LinkTypeWrapper.build().setBeforeUpdate(linkTypeDO,creator,now); //澶勭悊灞炴�� - - LinkTypeWrapper.build().copyLinkTypeVO2DO(linkTypeVO,linkTypeDO,creator,new Date()); //鍏堟煡璇㈣繖涓摼鎺ョ被鍨嬪寘鍚灏戝睘鎬� @@ -564,22 +565,23 @@ } saveOrUpdate(linkTypeDO); if(autoCreateTable) { + List<LinkTypeAttributeVO> defaultAttributes = linkTypeAttributeService.getDefaultAttributes(linkTypeVO); + List<LinkTypeAttributeVO> attributes = linkTypeVO.getAttributes(); + attributes.addAll(defaultAttributes); + linkTypeVO.setAttributes(attributes); + BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); + DomainRepeater.checkDifferent(ddlDTO,linkTypeVO.getDomain()); dataSourceTransactionManager.commit(transaction); } - }catch (VciBaseException e){ + } catch (Throwable e){ if(autoCreateTable) { dataSourceTransactionManager.rollback(transaction); } - throw e; - }catch (Throwable e) { - if(autoCreateTable) { - dataSourceTransactionManager.rollback(transaction); - } - throw e; + throw new VciBaseException(e.getMessage()); } - if(autoCreateTable) { + /*if(autoCreateTable) { checkTableSame(linkTypeVO); - } + }*/ return linkTypeVO; } @@ -807,19 +809,19 @@ attributeVO.setLastModifier(creator); attributeVO.setLastModifyTime(now); attributeVO.setTs(now); - //鏌ヨ閾炬帴绫诲瀷鏄惁瀛樺湪 linkTypeAttributeService.saveOrUpdate(attributeDO); if (autoEdit2Table) { BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); -// ddlDTO.setLinkTypeList(); -// DomainRepeater.checkDifferent(,domain); + LinkTypeVO linkTypeVO = LinkTypeWrapper.build().entityVO(linkTypeDO); + ddlDTO.setLinkTypeList(Collections.singletonList(linkTypeVO)); + DomainRepeater.checkDifferent(ddlDTO,domain); dataSourceTransactionManager.commit(transaction); } -// }catch (NacosException e){ -// if(autoEdit2Table) { -// dataSourceTransactionManager.rollback(transaction); -// } -// throw new RuntimeException(e); + }catch (NacosException e){ + if(autoEdit2Table) { + dataSourceTransactionManager.rollback(transaction); + } + throw new RuntimeException(e); }catch (Throwable e){ if(autoEdit2Table) { dataSourceTransactionManager.rollback(transaction); @@ -873,7 +875,7 @@ public List<BtmTreeVO> treeDomain() { try { Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel)); - List<LinkTypeVO> vos = LinkTypeWrapper.build().listEntityVO(baseMapper.selectAll()); + List<LinkTypeVO> vos = LinkTypeWrapper.build().listEntityVO(baseMapper.selectAll(), null); Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getDomain)); List<BtmTreeVO> treeList = new ArrayList<>(); domainMap.forEach((k,v)-> { @@ -882,11 +884,13 @@ BtmTreeVO parent = new BtmTreeVO(); parent.setName(label); parent.setId(k); + parent.setLabel(label); parent.setChildList(v.stream().map(s -> { BtmTreeVO child = new BtmTreeVO(); child.setOid(s.getOid()); - child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName())); + child.setLabel(s.getId() + (s.getName() == null ? "" : "(" + s.getName() + ")")); child.setId(s.getId()); + child.setName(s.getName()); return child; }).collect(Collectors.toList())); treeList.add(parent); -- Gitblit v1.9.3