package com.yonge.cooleshow.biz.dal.entity;


import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yonge.cooleshow.biz.dal.enums.AuditStatusEnum;
import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * (ImGroupMemberAudit)表实体类
 *
 * @author zx
 * @since 2022-03-22 17:18:51
 */
@ApiModel(value = "im_group_member_audit-申请入群")
public class ImGroupMemberAudit implements Serializable {
    @TableId(value = "id_", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

    @TableField("user_id_")
    @ApiModelProperty(value = "用户编号")
    private Long userId;

    @TableField("role_type_")
    @ApiModelProperty(value = "群角色TEACHER老师、STUDENT学生")
    private ImGroupMemberRoleType roleType;

    @TableField("group_id_")
    @NotBlank(message = "群编号不可为空")
    @ApiModelProperty(value = "群组编号")
    private String groupId;

    @TableField("desc_")
    @ApiModelProperty(value = "申请原因")
    private String desc;

    @TableField("audit_status_")
    @ApiModelProperty(value = "审核状态")
    private AuditStatusEnum auditStatus = AuditStatusEnum.AUDITING;

    @TableField("create_time_")
    @ApiModelProperty(value = "新增时间")
    private Date createTime;

    @TableField("update_time_")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public ImGroupMemberRoleType getRoleType() {
        return roleType;
    }

    public void setRoleType(ImGroupMemberRoleType roleType) {
        this.roleType = roleType;
    }

    public String getGroupId() {
        return groupId;
    }

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public AuditStatusEnum getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(AuditStatusEnum auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

}

