package com.ruoyi.docking.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.gysl.entity.baseModel.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 智能提醒（smart_reminders）表实体类
 *
 * @author du
 * @since 2024/7/1 13:33
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("智能提醒")
@TableName(value = "gysl_smart_reminders")
public class SmartReminders extends BaseModel implements Serializable {

    /**
     * Id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty("Id")
    private Long id;

    /**
     * 提醒名称
     */
    @ApiModelProperty("提醒名称")
    private String rulesName;


    /**
     * 提醒对象 1.企业用户 2政务用户
     */
    @ApiModelProperty("提醒对象 1.企业用户 2政务用户")
    private Integer alertRecipients;

    /**
     * 提醒方式 1.定时提醒 2.不定时提醒
     */
    @ApiModelProperty("提醒方式 1.定期提醒 2.不定期提醒")
    private Integer alertManner;

    /**
     * 提醒时间
     */
    @ApiModelProperty("提醒时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alertTime;

    /**
     * 提醒分类  1.全局自定义通知  2.项目即将结束(企业) 3.项目即将建设完成(政务) 4.项目自定义通知
     */
    @ApiModelProperty("提醒分类 1.全局自定义通知  2.项目即将结束(企业) 3.项目即将建设完成(政务) 4.项目自定义通知")
    private Integer alertType;

    /**
     * 提前月数提醒
     */
    @ApiModelProperty("提前月数提醒")
    private Integer daysAdvance;

    /**
     * 项目id
     */
    @ApiModelProperty("项目id")
    private Long projectId;


    /**
     * 提醒内容
     */
    @ApiModelProperty("提醒内容")
    private String alertContent;

}
