package com.yuchen.saas.park.api.entity.property;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.Date;

/**
 * <p>
 * 减免活动-缴费减免
 * </p>
 *
 * @author cxj
 * @since 2023-12-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("property_pay_reduction")
@ApiModel(value="PropertyPayReduction对象", description="减免活动-缴费减免")
public class PropertyPayReduction extends TenantEntity {

    /**
     * 园区id
     */
    @ApiModelProperty(name = "parkId", value = "园区id")
    private Long parkId;
    /**
     * 客户id
     */
    @ApiModelProperty(name = "customerId", value = "客户id")
    private Long customerId;
    /**
     * 客户名称
     */
    @ApiModelProperty(name = "customerName", value = "客户名称")
    private String customerName;
    /**
     * 减免活动名称
     */
    @ApiModelProperty(name = "reductionName", value = "减免活动名称")
    private String reductionName;
    /**
     * 减免方式:1交满指定月数费用,2交清指定时间内费用
     */
    @ApiModelProperty(name = "reductionType", value = "减免方式:1交满指定月数费用,2交清指定时间内费用")
    private Integer reductionType;
    /**
     * 开启减免时段;1-开启，0-关闭
     */
    @ApiModelProperty(name = "isOnTime", value = "开启减免时段;1-开启，0-关闭")
    private Integer isOnTime;
    /**
     * 减免开始时间
     */
    @ApiModelProperty(name = "reductionTimeStart", value = "减免开始时间")
    private Date reductionTimeStart;
    /**
     * 减免结束时间
     */
    @ApiModelProperty(name = "reductionTimeEnd", value = "减免结束时间")
    private Date reductionTimeEnd;
    /**
     * 减免详情:指定减免月数,2减免单价,3减免总金额
     */
    @ApiModelProperty(name = "reductionDetailType", value = "减免详情:1指定减免月数,2减免单价,3减免总金额")
    private Integer reductionDetailType;
    /**
     * 需不需要缴清费用,0不需要,1需要
     */
    @ApiModelProperty(name = "isPaidFee", value = "需不需要缴清费用,0不需要,1需要")
    private Integer isPaidFee;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    /**
     * 序号,(同园区越大活动越优先)
     */
    @ApiModelProperty(name = "seq", value = "序号,(同园区越大活动越优先)")
    private Integer seq;
    /**
     * 审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝））
     */
    @ApiModelProperty(name = "reviewState", value = "审核状态（0 待审核 1 进行中 2 已完成 3 已撤回 4 已拒绝）")
    private Integer reviewState;
    /**
     * 审核用户账号id
     */
    @ApiModelProperty(name = "reviewUserId", value = "审核用户账号id")
    private Long reviewUserId;
    /**
     * 审核用户名称
     */
    @ApiModelProperty(name = "reviewUserName", value = "审核用户名称")
    private String reviewUserName;
    /**
     * 审核备注
     */
    @ApiModelProperty(name = "reviewRemark", value = "审核备注")
    private String reviewRemark;
    /**
     * 审核时间
     */
    @ApiModelProperty(name = "reviewTime", value = "审核时间")
    private Date reviewTime;
    /**
     * 创建人组织姓名
     */
    @ApiModelProperty(name = "orgUserName", value = "创建人组织姓名")
    private String orgUserName;

    @ApiModelProperty(name = "sourceText", value = "提交减免范围")
    private String sourceText;

}
