| | |
| | | import org.springframework.transaction.support.DefaultTransactionDefinition; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | LinkType linkTypeDO = new LinkType(); |
| | | BeanUtil.copy(linkTypeVO, linkTypeDO); |
| | | if (StringUtils.isBlank(linkTypeDO.getTableName())){ |
| | | linkTypeDO.setTableName(getTableName(linkTypeDO.getId(),linkTypeDO.getDomain())); |
| | | linkTypeDO.setTableName(getTableName(linkTypeDO.getId(),linkTypeDO.getBizDomain())); |
| | | } |
| | | String creator = AuthUtil.getUserAccount(); |
| | | Date now = new Date(); |
| | |
| | | List<LinkTypeAttributeVO> attributes = typeVO.getAttributes(); |
| | | attributes.addAll(linkTypeAttributeService.getDefaultAttributes(typeVO)); |
| | | typeVO.setAttributes(attributes); |
| | | R r = DomainRepeater.submitLinkType(typeVO.getDomain(), typeVO); |
| | | R r = DomainRepeater.submitLinkType(typeVO.getBizDomain(), typeVO); |
| | | if (!r.isSuccess()){ |
| | | dataSourceTransactionManager.rollback(transaction); |
| | | }else { |
| | |
| | | attributes.addAll(defaultAttributes); |
| | | linkTypeVO.setAttributes(attributes); |
| | | BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO(); |
| | | DomainRepeater.checkDifferent(ddlDTO,linkTypeVO.getDomain()); |
| | | DomainRepeater.checkDifferent(ddlDTO,linkTypeVO.getBizDomain()); |
| | | dataSourceTransactionManager.commit(transaction); |
| | | } |
| | | } catch (Throwable e){ |
| | |
| | | List<TableCheckDTO> checkList = linkTypeDOList.stream().map(linkType -> { |
| | | TableCheckDTO tableCheckDTO = new TableCheckDTO(); |
| | | tableCheckDTO.setBtmName(linkType.getId()); |
| | | tableCheckDTO.setTableName(getTableName(linkType.getId(),linkType.getDomain())); |
| | | tableCheckDTO.setTableName(getTableName(linkType.getId(),linkType.getBizDomain())); |
| | | tableCheckDTO.setCheckTableHasData(true); |
| | | tableCheckDTO.setNeedDelete(true); |
| | | tableCheckDTO.setDomain(linkType.getDomain()); |
| | | tableCheckDTO.setDomain(linkType.getBizDomain()); |
| | | return tableCheckDTO; |
| | | }).collect(Collectors.toList()); |
| | | R result = DomainRepeater.checkTableHasDataByTableNameThenDrop(checkList); |
| | |
| | | }else { |
| | | throw new VciBaseException("领域名称不符合规则"); |
| | | } |
| | | return PL + StringPool.UNDERSCORE + domain + StringPool.UNDERSCORE + id; |
| | | return PL + StringPool.UNDERSCORE + domain.toUpperCase(Locale.ROOT) + StringPool.UNDERSCORE + id.toUpperCase(Locale.ROOT); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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(), null); |
| | | Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getDomain)); |
| | | Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getBizDomain)); |
| | | List<BtmTreeVO> treeList = new ArrayList<>(); |
| | | domainMap.forEach((k,v)-> { |
| | | if (domain.containsKey(k)){ |
| | |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean deleteLogic(@NotEmpty List<Long> ids) { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) { |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 获取链接类型,只有默认字段 |
| | | * |
| | | * @param linkTypeId 链接类型id |
| | | * @return 默认字段属性 |
| | | */ |
| | | @Override |
| | | public LinkTypeVO getLinkTypeDefaultAttrById(String linkTypeId) { |
| | | LinkTypeVO vo = getLinkTypeById(linkTypeId); |
| | | List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getDefaultAttributes(vo); |
| | | vo.setAttributes(attributes); |
| | | return vo; |
| | | } |
| | | |
| | | /** |
| | | * 获取链接类型,有所有的字段 |
| | | * |
| | | * @param linkTypeId 链接类型id |
| | | * @return 所有字段 |
| | | */ |
| | | @Override |
| | | public LinkTypeVO getLinkTypeAllAttrById(String linkTypeId) { |
| | | LinkTypeVO vo = getLinkTypeById(linkTypeId); |
| | | List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo); |
| | | vo.setAttributes(attributes); |
| | | return vo; |
| | | } |
| | | |
| | | /** |
| | | * 获取链接类型,有所有的字段 |
| | | * |
| | | * @param linkTypeOid 链接类型主键 |
| | | * @return 所有字段 |
| | | */ |
| | | @Override |
| | | public LinkTypeVO getLinkTypeAllAttrByOid(String linkTypeOid) { |
| | | LinkTypeVO vo = getLinkTypeByOid(linkTypeOid); |
| | | List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo); |
| | | vo.setAttributes(attributes); |
| | | return vo; |
| | | } |
| | | } |