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.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.BaseEntityWrapper; 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; /** * Description: * * @author LiHang * @date 2023/4/23 */ public class BtmTypeAttributeWrapper extends BaseEntityWrapper { public static BtmTypeAttributeWrapper build() { return new BtmTypeAttributeWrapper(); } /** * do2vo * @param entity pojo * @return 显示对象 */ @Override public BtmTypeAttributeVO entityVO(BtmTypeAttribute entity) { BtmTypeAttributeVO vo = Objects.requireNonNull(BeanUtil.copy(entity, BtmTypeAttributeVO.class)); // 在这里设置枚举显示值 vo.setAttrDataTypeText(EnumCache.getValue("attributeType",vo.getAttrDataType())); return vo; } /** * 批量转vo * @param list pojo集合 * @return 显示对象 */ public List listEntityVO(List list) { return list.stream().map(this::entityVO).collect(Collectors.toList()); } /** * 拷贝业务类型 数据传输对象到 数据对象 * * @param dto 业务类型数据传输对象 * @param creator 创建人 * @param now 当时时间 */ public BtmTypeAttribute copyBtmTypeAttributeDTO2Entity(BtmTypeLinkAttributesDTO dto, String btmTypeOid, String creator, Date now){ BtmTypeAttribute entity = Objects.requireNonNull(BeanUtil.copy(dto, BtmTypeAttribute.class)); if (StringUtil.isBlank(entity.getOid())) { entity.setOid(VciBaseUtil.getPk()); } entity.setBtmName(BtmTypeConstant.BTM_TYPE_ATTRIBUTE); entity.setOwner(creator); entity.setCreator(creator); entity.setCreateTime(now); entity.setLastModifier(creator); entity.setLastModifyTime(now); entity.setTs(now); entity.setPkBtmType(btmTypeOid); // 在这进行通用字段处理 return entity; } }