/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.omd.wrapper; import com.vci.ubcs.omd.cache.EnumCache; import com.vci.ubcs.omd.entity.Enum; import com.vci.ubcs.omd.vo.EnumVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.utils.BeanUtil; import com.vci.ubcs.omd.entity.EnumItem; import com.vci.ubcs.omd.vo.EnumItemVO; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 枚举定义子表 包装类,返回视图层所需的字段 * * @author yuxc * @since 2023-05-08 */ public class EnumitemWrapper extends BaseEntityWrapper { public static EnumitemWrapper build() { return new EnumitemWrapper(); } @Override public EnumItemVO entityVO(EnumItem enumitem) { EnumItemVO enumItemVO = Objects.requireNonNull(BeanUtil.copy(enumitem, EnumItemVO.class)); if (enumitem.getParentoid() == null ) { enumItemVO.setParentName(BladeConstant.TOP_PARENT_NAME); } else { Enum parent = EnumCache.getById(enumitem.getParentoid()); enumItemVO.setParentName(parent.getLabel()); } return enumItemVO; } public List listNodeVO(List list) { List collect = list.stream().map(omdEnumItem -> BeanUtil.copy(omdEnumItem, EnumItem.class)).collect(Collectors.toList()); return ForestNodeMerger.merge((List)collect); } }