package com.jiatui.modules.management.model.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
public class QueryContentVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "内容库表主键ID")
private Long id;
@ApiModelProperty(value = "父级内容ID")
private Long parentId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "文件大小")
private String fileSize;
@ApiModelProperty(value = "内容类型(0:文章;1:海报;2视屏;)")
private String contentType;
@ApiModelProperty(value = "上架类型(0:自动上架;1:定时上架;)")
private Integer shelfType;
@ApiModelProperty(value = "创建人ID")
private String creatorUserId;
@ApiModelProperty(value = "创建人名称")
private String creatorUserName;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "创建时间")
private Date creatorTime;
@TableField(exist=false)
@ApiModelProperty(value = "子集")
private List<QueryContentVO> list=new ArrayList<>();
}
public List<QueryContentVO> getContentList(List<QueryContentVO> list) {
if(CollectionUtils.isEmpty(list)) {
return null;
}
HashMap<Long, QueryContentVO> menuMap = new HashMap<>(12);
for (QueryContentVO s : list) {
menuMap.put(s.getId(), s);
}
Iterator<QueryContentVO> iterator = list.iterator();
while (iterator.hasNext()) {
QueryContentVO obj = iterator.next();
QueryContentVO parent = menuMap.get(obj.getParentId());
if (Objects.nonNull(parent)) {
parent.getList().add(obj);
iterator.remove();
}
}
return list;
}```