package com.sptg.device.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sptg.common.core.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * title: TimeStrategy
 * package: com.sptg.device.api.entity
 * description: 时间策略
 */
@Getter
@Setter
@TableName(value = "time_strategy")
public class TimeStrategy extends BaseEntity {
    /**
     * 策略名称
     */
    @TableField(value="s_name")
    private String name;

    /**
     * 策略类型：{ 1：工作日，2：范围 }
     */
    @TableField(value="i_type")
    private int type;

    /**
     * 周1~周7，中间用“,”分割
     */
    @TableField(value="s_working_day")
    private String workingDay;

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone="GMT+8")
    @TableField(value="t_begin_date")
    private Date beginDate;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @TableField(value="t_end_date")
    private Date endDate;
    /**
     * 备注
     */
    @TableField(value="s_remark")
    private String remark;

    /**
     * 创建人
     */
    @TableField(value="l_create_account_id")
    private long createAccountId;
    /**
     * 机构位置
     */
    @TableField(value="s_org_position")
    private String orgPosition;

    /*---------------------------------------------------------------------------------------------*/
    /**
     * 时间策略详细
     */
    @TableField(exist = false)
    private List<TimeStrategyConf> timeStrategyConfList;
}
