/*
|
* 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<EnumItem, EnumItemVO> {
|
|
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<EnumVO> listNodeVO(List<EnumItem> list) {
|
List<EnumItem> collect = list.stream().map(omdEnumItem -> BeanUtil.copy(omdEnumItem, EnumItem.class)).collect(Collectors.toList());
|
return ForestNodeMerger.merge((List)collect);
|
}
|
|
}
|