| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<EnumVO> getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS) { |
| | | public R getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS) { |
| | | if(Func.isEmpty(groupAttrPoolMappingVOS.getClassifyId())){ |
| | | throw new ServiceException("必传参数分类oid不能为空!"); |
| | | } |
| | |
| | | List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyClient.listCodeAttributeByClassId(groupAttrPoolMappingVOS.getClassifyId()); |
| | | // 筛选出模板属性中id等于codeMetaAttrKey的,并取出enumId |
| | | if(attrVOS.isEmpty()){ |
| | | return new ArrayList<>(); |
| | | return R.fail("当前分类所使用模板的模板属性中未查询到相关的属性配置,请排查模板配置是否正确。"); |
| | | } |
| | | List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOS = attrVOS.stream().filter(item -> item.getId().equalsIgnoreCase(groupAttrPoolMappingVOS.getCodeMetaAttrKey())).collect(Collectors.toList()); |
| | | // 根据上一步取出的enumId调用枚举服务查询出枚举并返回 |
| | | String enumId = codeClassifyTemplateAttrVOS.get(0).getEnumId(); |
| | | if(Func.isBlank(enumId)){ |
| | | return new ArrayList<>(); |
| | | return R.fail("在系统中根据当前配置的模板属性未查询到关于枚举的配置,请排查元数据上是否存在枚举属性!"); |
| | | } |
| | | R<List<EnumVO>> list = enumClient.getList(enumId); |
| | | return list.getData(); |
| | | return R.data(list.getData()); |
| | | } |
| | | |
| | | } |