田源
2024-04-18 3aae81075a18a11d6b605c7583eb03b75366b466
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/AttributeWrapper.java
@@ -1,12 +1,19 @@
package com.vci.ubcs.omd.wrapper;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.constant.BtmTypeConstant;
import com.vci.ubcs.omd.dto.AttributeDTO;
import com.vci.ubcs.omd.entity.Attribute;
import com.vci.ubcs.omd.vo.*;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.system.cache.DictBizCache;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.StringUtil;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -32,12 +39,13 @@
   @Override
   public AttributeVO entityVO(Attribute entity) {
      AttributeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, AttributeVO.class));
      vo.setTypeValue(DictBizCache.getValue(vo.getTypeCode(),vo.getTypeKey()));
      vo.setTypeValue(EnumCache.getValue(vo.getTypeCode(),vo.getTypeKey()));
      if (StringUtil.isNotBlank(vo.getReferTypeCode())){
         vo.setReferTypeValue(DictBizCache.getValue(vo.getReferTypeCode(),vo.getReferTypeKey()));
         vo.setReferTypeValue(EnumCache.getValue(vo.getReferTypeCode(),vo.getReferTypeKey()));
      }
      vo.setDictValue(vo.getDictKey());
      vo.setTypeValue(vo.getTypeKey());
      if (StringUtil.isNotBlank(vo.getDictCode())) {
         vo.setDictValue(EnumCache.getValue(vo.getDictCode(),vo.getDictKey()));
      }
      return vo;
   }
@@ -49,4 +57,31 @@
   public List<AttributeVO> listEntityVO(List<Attribute> list) {
      return list.stream().map(this::entityVO).collect(Collectors.toList());
   }
   /**
    * 在保存之前要设置默认属性
    * @param dto
    * @return
    */
    public Attribute copyBeforeSave(AttributeDTO dto) {
      Attribute attribute = BeanUtil.copy(dto, Attribute.class);
      Objects.requireNonNull(attribute);
      String currentUser = AuthUtil.getUserAccount();
      Date now = new Date();
      if (StringUtil.isBlank(dto.getOid())) {
         attribute.setBtmName(BtmTypeConstant.ATTRIBUTE);
         attribute.setCreator(currentUser);
         attribute.setCreateTime(now);
         attribute.setOwner(currentUser);
         attribute.setOid(VciBaseUtil.getPk());
      }
      attribute.setLastModifier(currentUser);
      attribute.setLastModifyTime(now);
      attribute.setTs(now);
      if (StringUtil.equals(dto.getUsingDict(),BooleanEnum.TRUE.getValue())){
         attribute.setUsingDict(BooleanEnum.TRUE.getValue());
      }
      return attribute;
   }
}