From 59d3dce7cf32975e59935920968b2266af3c60a6 Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期五, 02 六月 2023 14:31:01 +0800 Subject: [PATCH] 链接类型接口修正、页面修改。业务类型Feign接口修改。 --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 129 ++++++++++++++++++++++++++++++------------ 1 files changed, 92 insertions(+), 37 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java index 70559e2..2e7f48f 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java @@ -6,14 +6,13 @@ import com.alibaba.nacos.api.exception.NacosException; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.omd.constant.BtmTypeConstant; import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; import com.vci.ubcs.omd.entity.Attribute; import com.vci.ubcs.omd.repeater.DomainRepeater; -import com.vci.ubcs.omd.service.IAttributeService; -import com.vci.ubcs.omd.service.IBtmTypeAttributeService; -import com.vci.ubcs.omd.service.IModifyAttributeService; -import com.vci.ubcs.omd.vo.BtmTypeTreeVO; +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.ModifyAttributeWrapper; import com.vci.ubcs.starter.web.constant.OmdRegExpConstant; @@ -23,10 +22,6 @@ import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.entity.ModifyAttributeInfo; import com.vci.ubcs.omd.mapper.BtmTypeMapper; -import com.vci.ubcs.omd.service.IBtmTypeService; -import com.vci.ubcs.omd.vo.BtmTypeVO; -import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; -import com.vci.ubcs.omd.vo.LinkTypeVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; @@ -79,6 +74,12 @@ private IModifyAttributeService modifyAttributeService; /** + * 鐗堟湰瑙勫垯鐨勬湇鍔� + */ + @Autowired + private IRevisionRuleService revisionRuleService; + + /** * 灞炴�х殑鏈嶅姟 */ @Autowired @@ -87,7 +88,7 @@ /** * 琛ㄥ悕鍓嶇紑 */ - public static final String PL = "PL"; + public static final String PL = "PLBT"; /** * 璁剧疆骞冲彴鏈韩鐨勪笟鍔$被鍨� @@ -496,6 +497,7 @@ btmTypeDO.setTableName(getTableName(btmTypeDO.getId(),btmTypeDO.getDomain())); } // 娣诲姞灞炴�� + btmTypeDTO.setOid(btmTypeDO.getOid()); afterAttributes = addAttributeForBtm(btmTypeDTO); baseMapper.insert(btmTypeDO); }else { @@ -590,12 +592,12 @@ if (btmTypeDTO.isRevisionFlag()){ // 闇�瑕佹帶鍒剁増鏈� // 妫�鏌ヤ娇鐢ㄧ殑鐗堟湰瑙勫垯鏄惁瀛樺湪 -// if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) { -// if (revisionRuleServiceI.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) { -// throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", -// new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()}); -// } -// } + if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) { + if (revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) { + throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", + new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()}); + } + } btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP)); } if (btmTypeDTO.isLifeCycleFlag()){ @@ -620,9 +622,6 @@ // 闇�瑕佹帶鍒跺瘑绾� btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.SECRET_MANAGE_FIELD_MAP)); } - if (StringUtils.isBlank(btmTypeDTO.getOid())) { - btmTypeDTO.setOid(VciBaseUtil.getPk()); - } } @Override public boolean deleteLogic(@NotEmpty List<Long> ids) { @@ -640,20 +639,23 @@ * @return 鏌ヨ缁撴灉 */ @Override - public List<BtmTypeTreeVO> treeDomain() { + public List<BtmTreeVO> treeDomain() { try { - List<String> domain = DomainRepeater.getDomain(); + Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(s -> s.getValue(), t -> t.getLabel())); List<BtmTypeVO> vos = BtmTypeWrapper.build().listEntityVO(baseMapper.selectAll()); Map<String, List<BtmTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(BtmTypeVO::getDomain)); - List<BtmTypeTreeVO> treeList = new ArrayList<>(); + List<BtmTreeVO> treeList = new ArrayList<>(); domainMap.forEach((k,v)-> { - if (domain.contains(k)){ - BtmTypeTreeVO parent = new BtmTypeTreeVO(); - parent.setName(k); + if (domain.containsKey(k)){ + String label = domain.get(k); + BtmTreeVO parent = new BtmTreeVO(); + parent.setName(label); + parent.setId(k); parent.setChildList(v.stream().map(s -> { - BtmTypeTreeVO child = new BtmTypeTreeVO(); + BtmTreeVO child = new BtmTreeVO(); child.setOid(s.getOid()); child.setName(s.getId() + " " + (s.getName() == null ? "" : s.getName())); + child.setId(s.getId()); return child; }).collect(Collectors.toList())); treeList.add(parent); @@ -675,7 +677,7 @@ public List<BtmTypeVO> getFromTable(String domain) { VciBaseUtil.alertNotNull(domain,"棰嗗煙鍊�"); try { - if (!DomainRepeater.getDomain().contains(domain)){ + if (!DomainRepeater.getDomain().stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel)).containsKey(domain)){ return null; } R result = DomainRepeater.getFromTable(domain); @@ -720,7 +722,7 @@ btmType.setOid(VciBaseUtil.getPk()); btmType.setTs(now); btmType.setCreator(user); - btmType.setBtmName("btmType"); + btmType.setBtmName(BtmTypeConstant.BTMTYPE); btmType.setCreateTime(now); btmType.setDomain(domain); btmType.setLastModifyTime(now); @@ -735,9 +737,11 @@ }).map(attr -> { // 娣诲姞灞炴�э紝1鏄牎楠岋紝2鏄坊鍔� Attribute attribute = new Attribute(); - attribute.setKey(attr.getId()); - attribute.setLabel(attr.getName()); - attribute.setDictKey(attr.getAttrDataType()); + attribute.setId(attr.getId()); + attribute.setName(attr.getName()); + attribute.setTypeCode("attributeType"); + attribute.setTypeKey(attr.getAttrDataType()); +// attribute.setDictKey(attr.getAttrDataType()); attribute.setMaxLength(attr.getAttributeLength()); attribute.setPrecision(attr.getPrecisionLength()); attribute.setDescription(attr.getDescription()); @@ -747,10 +751,14 @@ attribute.setReferToId(attr.getReferBtmTypeId()); attribute.setReferToName(attr.getReferBtmTypeName()); attribute.setTs(now); + attribute.setOwner(user); attribute.setCreateTime(now); - attribute.setIsDeleted(0); - attribute.setCreateUser(AuthUtil.getUserId()); - idAttrMap.put(attribute.getKey(),attribute); + attribute.setLastModifier(user); + attribute.setLastModifyTime(now); + attribute.setBtmName(BtmTypeConstant.ATTRIBUTE); + attribute.setCreator(user); + attribute.setOid(VciBaseUtil.getPk()); + idAttrMap.put(attribute.getId(),attribute); // 鍦ㄨ繖閲岀粰涓氬姟绫诲瀷璁剧疆鐗堟湰鎺у埗銆佺敓鍛藉懆鏈熸帶鍒躲�佸瘑绾ф帶鍒剁浉鍏崇殑淇℃伅 // 娣诲姞涓氬姟绫诲瀷鍜屽睘鎬х殑鍏崇郴 @@ -760,7 +768,6 @@ btmTypeAttribute.setCreateTime(now); btmTypeAttribute.setLastModifier(user); btmTypeAttribute.setLastModifyTime(now); -// btmTypeAttribute.setBtmName("btmTypeAttribute"); btmTypeAttribute.setOid(VciBaseUtil.getPk()); btmTypeAttribute.setBtmName(btmType.getId()); btmTypeAttribute.setOwner(user); @@ -774,7 +781,7 @@ btmType.setConsistence(BooleanEnum.TRUE.getValue()); btmList.add(btmType); }); - List<Attribute> existAttr = attributeService.list(Wrappers.<Attribute>query().lambda().in(Attribute::getKey, attributeIds)); + List<Attribute> existAttr = attributeService.list(Wrappers.<Attribute>query().lambda().in(Attribute::getId, attributeIds)); if (!CollectionUtils.isEmpty(btmList)){ baseMapper.batchInsert(btmList); } @@ -796,11 +803,59 @@ if (CollectionUtils.isEmpty(existAttr)){ attributeService.saveBatch(idAttrMap.values()); }else { - List<Attribute> addList = idAttrMap.values().stream().filter(a -> existAttr.stream().noneMatch(b -> StringUtils.equals(a.getKey(), b.getKey()))).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(addList)) { + List<Attribute> addList = idAttrMap.values().stream().filter(a -> existAttr.stream().noneMatch(b -> StringUtils.equals(a.getId(), b.getId()))).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(addList)) { attributeService.saveBatch(addList); } } return BtmTypeWrapper.build().listEntityVO(btmList); } + + /** + * 鎸夌収涓氬姟绫诲瀷id鑾峰彇榛樿灞炴�� + * + * @param btmTypeId 涓氬姟绫诲瀷id + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getDefaultAttrByBtmId(String btmTypeId) { + BtmTypeVO btmType = getBtmTypeById(btmTypeId); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getDefaultAttribute(btmType)); + return btmType; + } + + /** + * 鎸夌収涓氬姟绫诲瀷id鑾峰彇鎵�鏈夌殑灞炴�� + * + * @param btmTypeId 涓氬姟绫诲瀷id + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getAllAttributeByBtmId(String btmTypeId) { + BtmTypeVO btmType = getBtmTypeById(btmTypeId); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType)); + return btmType; + } + + /** + * 鎸夌収涓氬姟绫诲瀷涓婚敭鑾峰彇鎵�鏈夌殑灞炴�� + * + * @param btmTypeOid 涓氬姟绫诲瀷涓婚敭 + * @return 涓氬姟绫诲瀷 + */ + @Override + public BtmTypeVO getAllAttributeByBtmOid(String btmTypeOid) { + BtmTypeVO btmType = getBtmTypeByOid(btmTypeOid); + if (btmType == null){ + return null; + } + btmType.setAttributes(btmTypeAttributeService.getAllAttribute(btmType)); + return btmType; + } } -- Gitblit v1.9.3