package com.yida.data.common.core.entity.school;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.enums.AppTypeEnum;
import com.yida.data.common.core.enums.EnableStatusEnum;
import com.yida.data.common.core.enums.UserTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 部门微官网应用配置 Entity
 *
 * @author ZYJ
 * @date 2023-06-28 15:24:25
 */
@Data
@TableName("edu_dept_home_app")
public class EduDeptHomeApp {

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

    /**
     * 是否删除，1删除0未删除，默认0
     */
    @ApiModelProperty(value = "是否删除，1删除0未删除，默认0")
    @TableField("del_flag")
    @TableLogic(value = "0", delval = "1")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    @TableField(value = "create_id", fill = FieldFill.INSERT)
    private Long createId;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间")
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateDate;

    /**
     * 最后修改人id
     */
    @ApiModelProperty(value = "最后修改人id")
    @TableField(value = "update_id", fill = FieldFill.UPDATE)
    private Long updateId;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    @TableField("dept_id")
    private Long deptId;

    /**
     * 应用类型. 0:系统应用, 1:第三方应用 {@link AppTypeEnum}
     */
    @ApiModelProperty(value = "应用类型. 0:系统应用, 1:第三方应用,2:微信小程序")
    @TableField("app_type")
    private Integer appType;

    /**
     * 类型. 0:教职工, 1:家长 {@link UserTypeEnum}
     */
    @ApiModelProperty(value = "类型. 0:教职工, 1:家长")
    @TableField("user_type")
    private Integer userType;

    /**
     * 基础应用id
     */
    @ApiModelProperty(value = "基础应用id")
    @TableField("base_app_id")
    private Long baseAppId;

    /**
     * 应用名称
     */
    @ApiModelProperty(value = "应用名称")
    @TableField("name")
    private String name;

    /**
     * 应用代码
     */
    @ApiModelProperty(value = "应用代码")
    @TableField("code")
    private String code;

    /**
     * 应用logo
     */
    @ApiModelProperty(value = "应用logo")
    @TableField("logo")
    private String logo;

    /**
     * 应用地址
     */
    @ApiModelProperty(value = "应用地址")
    @TableField("app_src")
    private String appSrc;

    /**
     * 启用状态. 0:未启用,1:已启用 {@link EnableStatusEnum}
     */
    @ApiModelProperty(value = "启用状态. 0:未启用,1:已启用")
    @TableField("enable_status")
    private Integer enableStatus;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    @TableField("sort")
    private Integer sort;

    /**
     * 微信小程序appid
     */
    @ApiModelProperty(value = "微信小程序appid")
    @TableField("app_id")
    private String appId;

    /**
     * 微信小程序secret
     */
    @ApiModelProperty(value = "微信小程序secret")
    @TableField("app_secret")
    private String appSecret;
    
}