package com.microservices.zone.detail.domain.vo;

import com.microservices.common.core.utils.bean.BeanUtils;
import com.microservices.zone.detail.domain.ZoneDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @author otto
 */

@Data
@ApiModel("专区详情更新对象")
public class ZoneDetailUpdateVo {
    @ApiModelProperty(value = "特色专区主键")
    @NotNull
    private Long id;
    /** 特色专区标识 */
    @ApiModelProperty(value = "特色专区标识")
    private String key;
    @ApiModelProperty(value = "主标题")
    private String mainTitle;
    @ApiModelProperty(value = "副标题")
    private String subTitle;
    @ApiModelProperty(value = "首页一级标题")
    private String firstTitle;
    @ApiModelProperty(value = "banner列表")
    private String bannerList;
    @ApiModelProperty(value = "简介标题")
    private String introductionTitle;
    @ApiModelProperty(value = "简介内容")
    private String introductionContent;
    @ApiModelProperty(value = "简介配图")
    private String introductionImage;
    @ApiModelProperty(value = "首页会员展示个数")
    private Long homepageMembershipSize;
    @ApiModelProperty(value = "首页项目展示个数")
    private Long homepageProjectSize;
    @ApiModelProperty(value = "首页新闻展示个数")
    private Long homepageCmsSize;
    @ApiModelProperty(value = "需展示的项目Key列表")
    private String gitlinkProjectKeys;

    /**
     * 帮助中心板块标题
     */
    @ApiModelProperty(value = "帮助中心板块标题")
    private String helperTitle;

    /**
     * 帮助中心板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "帮助中心板块是否展示（0:不展示，1：展示） ")
    private Integer helperShow;


    /**
     * 资讯板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "资讯板块是否展示（0:不展示，1：展示） ")
    private Integer cmsShow;

    /**
     * 项目板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "项目板块是否展示（0:不展示，1：展示）")
    private Integer projectShow;

    /** 会员板块是否展示（0:不展示，1：展示） */
    @ApiModelProperty(value = "会员板块是否展示（0:不展示，1：展示）")
    private Integer memberShow;

    /** 合作伙伴板块是否展示（0:不展示，1：展示） */
    @ApiModelProperty(value = "合作伙伴板块是否展示（0:不展示，1：展示）")
    private Integer partnersShow;

    /** 首页资讯标题 */
    @ApiModelProperty(value = "首页资讯标题")
    private String homepageCmsTitle;

    /** 首页项目标题 */
    @ApiModelProperty(value = "首页项目标题")
    private String homepageProjectTitle;

    /** 首页会员标题 */
    @ApiModelProperty(value = "首页会员标题")
    private String homepageMemberTitle;

    /** 首页合作伙伴标题 */
    @ApiModelProperty(value = "首页合作伙伴标题")
    private String homepagePartnersTitle;

    /**
     * 专区模板
     */
    @ApiModelProperty(value = "专区模板")
    private String template;

    /**
     * 是否需要审核（0：不需要，1：需要）
     */
    @ApiModelProperty(value = "是否需要审核，（0：不需要审核，1：需要审核")
    private Integer docNeedAudit;

    /**
     * 资源是否需要审核（0：不需要，1：需要）
     */
    @ApiModelProperty(value = "资源是否需要审核（0:不需要审核，1：需要审核）")
    private Integer resourceNeedAudit;

    /**
     * 资讯是否锁定中（0：未锁定，1：锁定）
     */
    @ApiModelProperty(value = "资讯是否锁定中（0：未锁定，1：锁定）", hidden = true)
    private Integer isLockCms;

    /**
     * 资讯板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "资讯板块是否展示（0:不展示，1：展示）")
    private Integer sectionCmsShow;

    /**
     * 项目板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "项目板块是否展示（0:不展示，1：展示）")
    private Integer sectionProjectShow;

    /**
     * 会员板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "会员板块是否展示（0:不展示，1：展示）")
    private Integer sectionMemberShow;

    /**
     * 帮助中心板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "帮助中心板块是否展示（0:不展示，1：展示）")
    private Integer sectionHelperShow;


    /**
     * 首页板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "首页板块是否展示（0:不展示，1：展示）")
    private Integer sectionHomepageShow;

    /**
     * 资源板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "资源板块是否展示（0:不展示，1：展示）")
    private Integer sectionResourceShow;

    /**
     * 数据集板块是否展示（0:不展示，1：展示）
     */
    @ApiModelProperty(value = "数据集板块是否展示（0:不展示，1：展示）")
    private Integer sectionDataSetShow;

    /**
     * 资讯板块标题
     */
    @ApiModelProperty(value = "资讯板块标题")
    private String sectionCmsTitle;

    /**
     * 项目板块标题
     */
    @ApiModelProperty(value = "项目板块标题")
    private String sectionProjectTitle;

    /**
     * 会员板块标题
     */
    @ApiModelProperty(value = "会员板块标题")
    private String sectionMemberTitle;

    /**
     * 帮助中心板块标题
     */
    @ApiModelProperty(value = "帮助中心板块标题")
    private String sectionHelperTitle;


    /**
     * 首页板块标题
     */
    @ApiModelProperty(value = "首页板块标题")
    private String sectionHomepageTitle;

    /**
     * 资源板块标题
     */
    @ApiModelProperty(value = "资源板块标题")
    private String sectionResourceTitle;

    /**
     * 数据集板块标题
     */
    @ApiModelProperty(value = "数据集板块标题")
    private String sectionDataSetTitle;

    public ZoneDetail toZoneDetail() {
        ZoneDetail target = new ZoneDetail();
        BeanUtils.copyProperties(this, target);
        return target;
    }

}
