ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java ÐÞ¸Ä |
| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.omd.constant.OmdCacheConstant; |
| | | import com.vci.ubcs.omd.dto.OmdAttributeDTO; |
| | | import com.vci.ubcs.omd.dto.OmdBtmTypeLinkAttributesDTO; |
| | | import com.vci.ubcs.omd.entity.OmdAttribute; |
| | | import com.vci.ubcs.omd.mapper.OmdAttributeMapper; |
| | | import com.vci.ubcs.omd.service.IOmdAttributeService; |
| | | import com.vci.ubcs.omd.vo.OmdAttributeVO; |
| | | import com.vci.ubcs.omd.wrapper.OmdAttributeWrapper; |
| | | import com.vci.ubcs.omd.dto.AttributeDTO; |
| | | import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; |
| | | import com.vci.ubcs.omd.entity.Attribute; |
| | | import com.vci.ubcs.omd.mapper.AttributeMapper; |
| | | import com.vci.ubcs.omd.service.IAttributeService; |
| | | import com.vci.ubcs.omd.vo.AttributeVO; |
| | | import com.vci.ubcs.omd.wrapper.AttributeWrapper; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.springblade.core.cache.utils.CacheUtil; |
| | |
| | | * @date 2023/4/3 |
| | | */ |
| | | @Service |
| | | public class OmdAttributeServiceImpl extends ServiceImpl<OmdAttributeMapper, OmdAttribute> implements IOmdAttributeService { |
| | | public class AttributeServiceImpl extends ServiceImpl<AttributeMapper, Attribute> implements IAttributeService { |
| | | |
| | | @Override |
| | | public boolean deleteLogic(@NotEmpty List<Long> ids) { |
| | |
| | | * @return å
æ°æ®æ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public OmdAttributeVO getAttributeDetail(Long id) { |
| | | public AttributeVO getAttributeDetail(Long id) { |
| | | Func.requireNotNull(id,"主é®ä¸è½ä¸ºç©º"); |
| | | return OmdAttributeWrapper.build().entityVO(baseMapper.selectByPrimaryKey(id)); |
| | | return AttributeWrapper.build().entityVO(baseMapper.selectByPrimaryKey(id)); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return æ§è¡ç»æ |
| | | */ |
| | | @Override |
| | | public boolean submit(OmdAttributeDTO dto) { |
| | | LambdaQueryWrapper<OmdAttribute> wrapper = Wrappers.<OmdAttribute>query().lambda().eq(OmdAttribute::getKey, dto.getKey()); |
| | | Long count = baseMapper.selectCount((Func.isEmpty(dto.getId())) ? wrapper : wrapper.notIn(OmdAttribute::getId, dto.getId())); |
| | | public boolean submit(AttributeDTO dto) { |
| | | LambdaQueryWrapper<Attribute> wrapper = Wrappers.<Attribute>query().lambda().eq(Attribute::getKey, dto.getKey()); |
| | | Long count = baseMapper.selectCount((Func.isEmpty(dto.getId())) ? wrapper : wrapper.notIn(Attribute::getId, dto.getId())); |
| | | if (count > 0L) { |
| | | throw new ServiceException("屿§åå·²åå¨!"); |
| | | } |
| | | dto.setIsDeleted(BladeConstant.DB_NOT_DELETED); |
| | | OmdAttribute omdAttribute = BeanUtil.copy(dto, OmdAttribute.class); |
| | | Attribute omdAttribute = BeanUtil.copy(dto, Attribute.class); |
| | | CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); |
| | | return saveOrUpdate(omdAttribute); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public boolean checkAttributeExists(Collection<String> keyCollections) throws VciBaseException { |
| | | List<OmdAttributeVO> existAttributeVOList = listAttributeByKeyCollection(keyCollections); |
| | | List<AttributeVO> existAttributeVOList = listAttributeByKeyCollection(keyCollections); |
| | | if (CollectionUtils.isEmpty(existAttributeVOList)) { |
| | | throw new VciBaseException("使ç¨ç屿§é½å¨ç³»ç»ä¸ä¸åå¨ï¼è¯·å
æ¥è¯"); |
| | | } else { |
| | |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
æ¥è¯¢åºéæ¶ä¼æåºé误 |
| | | */ |
| | | @Override |
| | | public List<OmdAttributeVO> listAttributeByKeyCollection(Collection<String> attributeIdCollection) throws VciBaseException { |
| | | public List<AttributeVO> listAttributeByKeyCollection(Collection<String> attributeIdCollection) throws VciBaseException { |
| | | if(!CollectionUtils.isEmpty(attributeIdCollection)){ |
| | | List<OmdAttribute> attributeDOList = listAttributeByKeyCollectionDO(attributeIdCollection); |
| | | List<Attribute> attributeDOList = listAttributeByKeyCollectionDO(attributeIdCollection); |
| | | if(!CollectionUtils.isEmpty(attributeDOList)) { |
| | | return OmdAttributeWrapper.build().listEntityVO(attributeDOList); |
| | | return AttributeWrapper.build().listEntityVO(attributeDOList); |
| | | } |
| | | } |
| | | return null; |
| | |
| | | * @return 屿§æ°æ®å¯¹è±¡å表ï¼å¦ææä¸åå¨çä¸ä¼è¿åï¼å
¨é¨ä¸åå¨çåè¿å空å表 |
| | | * @throws VciBaseException mybatisæ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | private List<OmdAttribute> listAttributeByKeyCollectionDO(Collection<String> attributeIdCollection) throws VciBaseException { |
| | | private List<Attribute> listAttributeByKeyCollectionDO(Collection<String> attributeIdCollection) throws VciBaseException { |
| | | if(!CollectionUtils.isEmpty(attributeIdCollection)){ |
| | | List<OmdAttribute> attributeDOList = new ArrayList<>(); |
| | | List<Attribute> attributeDOList = new ArrayList<>(); |
| | | Collection<String> distAttributeIdCollection = attributeIdCollection.stream().distinct().collect(Collectors.toList()); |
| | | Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(distAttributeIdCollection); |
| | | if(!CollectionUtils.isEmpty(idCollections)) { |
| | | idCollections.stream().forEach(s -> { |
| | | List<OmdAttribute> attributeDOS = baseMapper.selectList(Wrappers.<OmdAttribute>query().lambda().in(OmdAttribute::getKey, s)); |
| | | List<Attribute> attributeDOS = baseMapper.selectList(Wrappers.<Attribute>query().lambda().in(Attribute::getKey, s)); |
| | | if(!CollectionUtils.isEmpty(attributeDOS)){ |
| | | attributeDOList.addAll(attributeDOS); |
| | | } |
| | |
| | | * @throws VciBaseException ä¸ç¬¦åæ¶æåºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public boolean checkAttribute(OmdBtmTypeLinkAttributesDTO attributesDTO) throws VciBaseException { |
| | | public boolean checkAttribute(BtmTypeLinkAttributesDTO attributesDTO) throws VciBaseException { |
| | | VciBaseUtil.alertNotNull(attributesDTO.getId(), "屿§çè±æåç§°", attributesDTO.getName(), "屿§ç䏿åç§°", |
| | | attributesDTO.getAttrDataType(), "屿§çæ°æ®ç±»å"); |
| | | boolean pass = checkAttributePass(attributesDTO.getId(), attributesDTO.getAttrDataType(), attributesDTO.getAttributeLength(), attributesDTO.getDefaultValue()); |