lihang
2023-04-25 dd3a6c681f938fd53d5f6cc3a4fcee40e71b259c
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/OmdAttributeServiceImpl.java ÐÞ¸Ä
@@ -4,13 +4,13 @@
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;
@@ -36,7 +36,7 @@
 * @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) {
@@ -55,9 +55,9 @@
    * @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));
   }
   /**
@@ -67,14 +67,14 @@
    * @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);
   }
@@ -111,7 +111,7 @@
    */
   @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 {
@@ -134,11 +134,11 @@
    * @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;
@@ -150,14 +150,14 @@
    * @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);
               }
@@ -191,7 +191,7 @@
    * @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());