package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 users
 * 
 * @author ruoyi
 * @date 2025-05-14
 */
public class Users extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

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

    /** 微信昵称 */
    @Excel(name = "微信昵称")
    private String nickname;

    /** 电话 */
    @Excel(name = "电话")
    private String phone;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String password;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String rememberToken;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String openid;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 1:普通用户 2：师傅 */
    @Excel(name = "1:普通用户 2：师傅")
    private String type;

    /** 师傅签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "师傅签到时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workerTime;

    /** 可用积分 */
    @Excel(name = "可用积分")
    private Long integral;

    /** 累计积分 */
    @Excel(name = "累计积分")
    private Long totalIntegral;

    /** 1:启用  0：关闭 */
    @Excel(name = "1:启用  0：关闭")
    private Integer status;

    /** 师傅等级 */
    @Excel(name = "师傅等级")
    private Integer level;

    /** 师傅佣金 */
    @Excel(name = "师傅佣金")
    private BigDecimal commission;

    /** 累计佣金 */
    @Excel(name = "累计佣金")
    private BigDecimal totalComm;

    /** 质保金 */
    @Excel(name = "质保金")
    private BigDecimal margin;

    /** 工号 */
    @Excel(name = "工号")
    private Integer jobNumber;

    /** 禁止接单开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "禁止接单开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date prohibitTime;

    /** 禁止接单时长 */
    @Excel(name = "禁止接单时长")
    private Integer prohibitTimeNum;

    /** 师傅累计接单 */
    @Excel(name = "师傅累计接单")
    private Long toa;

    /** 师傅服务城市 */
    @Excel(name = "师傅服务城市")
    private Long serviceCityPid;

    /** 师傅服务区域 */
    @Excel(name = "师傅服务区域")
    private String serviceCityIds;

    /** 师傅技能ID */
    @Excel(name = "师傅技能ID")
    private String skillIds;

    /** 累计提现 */
    @Excel(name = "累计提现")
    private BigDecimal propose;

    /** 1:已退出 2：未退出 */
    @Excel(name = "1:已退出 2：未退出")
    private Integer loginStatus;

    /** 0:默认  1：停止接单 */
    @Excel(name = "0:默认  1：停止接单")
    private Integer isStop;

    /** 1：虚拟号码-已认证 */
    @Excel(name = "1：虚拟号码-已认证")
    private Integer middleAuth;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date updatedAt;

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

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public void setRememberToken(String rememberToken) 
    {
        this.rememberToken = rememberToken;
    }

    public String getRememberToken() 
    {
        return rememberToken;
    }

    public void setOpenid(String openid) 
    {
        this.openid = openid;
    }

    public String getOpenid() 
    {
        return openid;
    }

    public void setAvatar(String avatar) 
    {
        this.avatar = avatar;
    }

    public String getAvatar() 
    {
        return avatar;
    }

    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    public void setWorkerTime(Date workerTime) 
    {
        this.workerTime = workerTime;
    }

    public Date getWorkerTime() 
    {
        return workerTime;
    }

    public void setIntegral(Long integral) 
    {
        this.integral = integral;
    }

    public Long getIntegral() 
    {
        return integral;
    }

    public void setTotalIntegral(Long totalIntegral) 
    {
        this.totalIntegral = totalIntegral;
    }

    public Long getTotalIntegral() 
    {
        return totalIntegral;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setLevel(Integer level) 
    {
        this.level = level;
    }

    public Integer getLevel() 
    {
        return level;
    }

    public void setCommission(BigDecimal commission) 
    {
        this.commission = commission;
    }

    public BigDecimal getCommission() 
    {
        return commission;
    }

    public void setTotalComm(BigDecimal totalComm) 
    {
        this.totalComm = totalComm;
    }

    public BigDecimal getTotalComm() 
    {
        return totalComm;
    }

    public void setMargin(BigDecimal margin) 
    {
        this.margin = margin;
    }

    public BigDecimal getMargin() 
    {
        return margin;
    }

    public void setJobNumber(Integer jobNumber) 
    {
        this.jobNumber = jobNumber;
    }

    public Integer getJobNumber() 
    {
        return jobNumber;
    }

    public void setProhibitTime(Date prohibitTime) 
    {
        this.prohibitTime = prohibitTime;
    }

    public Date getProhibitTime() 
    {
        return prohibitTime;
    }

    public void setProhibitTimeNum(Integer prohibitTimeNum) 
    {
        this.prohibitTimeNum = prohibitTimeNum;
    }

    public Integer getProhibitTimeNum() 
    {
        return prohibitTimeNum;
    }

    public void setToa(Long toa) 
    {
        this.toa = toa;
    }

    public Long getToa() 
    {
        return toa;
    }

    public void setServiceCityPid(Long serviceCityPid) 
    {
        this.serviceCityPid = serviceCityPid;
    }

    public Long getServiceCityPid() 
    {
        return serviceCityPid;
    }

    public void setServiceCityIds(String serviceCityIds) 
    {
        this.serviceCityIds = serviceCityIds;
    }

    public String getServiceCityIds() 
    {
        return serviceCityIds;
    }

    public void setSkillIds(String skillIds) 
    {
        this.skillIds = skillIds;
    }

    public String getSkillIds() 
    {
        return skillIds;
    }

    public void setPropose(BigDecimal propose) 
    {
        this.propose = propose;
    }

    public BigDecimal getPropose() 
    {
        return propose;
    }

    public void setLoginStatus(Integer loginStatus) 
    {
        this.loginStatus = loginStatus;
    }

    public Integer getLoginStatus() 
    {
        return loginStatus;
    }

    public void setIsStop(Integer isStop) 
    {
        this.isStop = isStop;
    }

    public Integer getIsStop() 
    {
        return isStop;
    }

    public void setMiddleAuth(Integer middleAuth) 
    {
        this.middleAuth = middleAuth;
    }

    public Integer getMiddleAuth() 
    {
        return middleAuth;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("nickname", getNickname())
            .append("phone", getPhone())
            .append("password", getPassword())
            .append("rememberToken", getRememberToken())
            .append("openid", getOpenid())
            .append("avatar", getAvatar())
            .append("type", getType())
            .append("workerTime", getWorkerTime())
            .append("integral", getIntegral())
            .append("totalIntegral", getTotalIntegral())
            .append("status", getStatus())
            .append("level", getLevel())
            .append("commission", getCommission())
            .append("totalComm", getTotalComm())
            .append("margin", getMargin())
            .append("jobNumber", getJobNumber())
            .append("prohibitTime", getProhibitTime())
            .append("prohibitTimeNum", getProhibitTimeNum())
            .append("toa", getToa())
            .append("serviceCityPid", getServiceCityPid())
            .append("serviceCityIds", getServiceCityIds())
            .append("skillIds", getSkillIds())
            .append("propose", getPropose())
            .append("loginStatus", getLoginStatus())
            .append("isStop", getIsStop())
            .append("middleAuth", getMiddleAuth())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
