package com.greenorange.promotion.model.vo.project;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.ibatis.ognl.BooleanExpression;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 项目 视图对象
 */
@Data
@Schema(description = "项目 视图对象")
public class ProjectVO implements Serializable {

    /**
     * 项目 ID
     */
    @Schema(description = "项目 ID", example = "1")
    private Long id;

    /**
     * 项目名称
     */
    @Schema(description = "项目名称", example = "美团省钱包")
    private String projectName;

    /**
     * 项目图片URL
     */
    @Schema(description = "项目图片URL", example = "8E9WE24M")
    private String projectImage;

    /**
     * 项目结算周期
     */
    @Schema(description = "项目结算周期", example = "2")
    private Integer projectSettlementCycle;

    /**
     * 最大推广人数
     */
    @Schema(description = "最大推广人数", example = "200")
    private Integer maxPromoterCount;

    /**
     * 项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]
     */
    @Schema(description = "项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]", example = "running")
    private String projectStatus;

    /**
     * 项目简介
     */
    @Schema(description = "项目简介", example = "不限制推广方式，禁止/恶意/夸大虚假宣传")
    private String projectDescription;

    /**
     * 结算说明（富文本）
     */
    @Schema(description = "结算说明（富文本）", example = "富文本")
    private String settlementDesc;

    /**
     * 项目说明（富文本）
     */
    @Schema(description = "项目说明（富文本）", example = "富文本")
    private String projectDesc;

    /**
     * 项目流程（富文本）
     */
    @Schema(description = "项目流程（富文本）", example = "富文本")
    private String projectFlow;

    /**
     * 申请推广码说明（富文本）
     */
    @Schema(description = "申请推广码说明（富文本）", example = "富文本")
    private String applyPromoCodeDesc;


    @Serial
    private static final long serialVersionUID = 1L;
}
