package com.flossom.common.core.domain.entity;

import com.flossom.common.core.annotation.Excel;
import com.flossom.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 共创管理-留言管理对象 ct_leave_message
 *
 * @author flossom
 * @date 2023-12-11
 */
public class CtLeaveMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 来源 1-我的模块  */
    @Excel(name = "来源 1-我的模块 ")
    private Integer source;

    private Long userId;

    /** 来源名称 */
    @Excel(name = "来源名称")
    private String sourceName;
    /** 用户编号 */
    @Excel(name = "用户编号")
    private Integer userNumber;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String userImg;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String userName;

    /** 用户手机号码 */
    @Excel(name = "用户手机号码")
    private String userPhone;

    /** 用户留言 */
    @Excel(name = "用户留言")
    @NotBlank(message = "留言反馈不能为空")
    @Length(min = 1, max = 100)
    private String messageInfo;
    /** 查询开始时间 */
    private Date beginTime;
    /** 查询结束时间 */
    private Date endTime;

    /** 查询用户ID处理 */
    private String userNumberStr;
    /** 查询用户电话处理 */
    private WxUserMember wxUserMember;

    public Long getUserId() {
        return userId;
    }

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

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

    public Long getId()
    {
        return id;
    }
    public void setSource(Integer source)
    {
        this.source = source;
    }

    public Integer getSource()
    {
        return source;
    }
    public void setSourceName(String sourceName)
    {
        this.sourceName = sourceName;
    }

    public String getSourceName()
    {
        return sourceName;
    }
    public void setUserImg(String userImg)
    {
        this.userImg = userImg;
    }

    public String getUserImg()
    {
        return userImg;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setUserPhone(String userPhone)
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone()
    {
        return userPhone;
    }
    public void setMessageInfo(String messageInfo)
    {
        this.messageInfo = messageInfo;
    }

    public String getMessageInfo()
    {
        return messageInfo;
    }

    public Integer getUserNumber() {
        return userNumber;
    }

    public void setUserNumber(Integer userNumber) {
        this.userNumber = userNumber;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getUserNumberStr() {
        return userNumberStr;
    }

    public void setUserNumberStr(String userNumberStr) {
        this.userNumberStr = userNumberStr;
    }

    public WxUserMember getWxUserMember() {
        return wxUserMember;
    }

    public void setWxUserMember(WxUserMember wxUserMember) {
        this.wxUserMember = wxUserMember;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("source", getSource())
            .append("sourceName", getSourceName())
            .append("userImg", getUserImg())
            .append("userName", getUserName())
            .append("userPhone", getUserPhone())
            .append("messageInfo", getMessageInfo())
            .append("createTime", getCreateTime())
            .toString();
    }
}
