package com.huimv.employment.service.auth.dto;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 登录成功响应体。
 */
@Schema(description = "登录成功响应")
public class LoginResponse {

    @Schema(description = "JWT 访问令牌，后续请求 Header 携带 Authorization: Bearer <token>", example = "eyJhbGciOiJIUzI1NiIs...")
    private String token;

    @Schema(description = "Token 有效时长（秒）", example = "7200")
    private long expiresIn;

    @Schema(description = "用户 ID", example = "1001")
    private Long userId;

    @Schema(description = "用户类型：enterprise / worker", example = "enterprise")
    private String userType;

    @Schema(description = "脱敏手机号", example = "138****8000")
    private String mobileMask;

    @Schema(description = "用户昵称，可空", example = "张三")
    private String nickname;

    @Schema(description = "是否已设置登录密码", example = "false")
    private boolean passwordSet;

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public long getExpiresIn() {
        return expiresIn;
    }

    public void setExpiresIn(long expiresIn) {
        this.expiresIn = expiresIn;
    }

    public Long getUserId() {
        return userId;
    }

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

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getMobileMask() {
        return mobileMask;
    }

    public void setMobileMask(String mobileMask) {
        this.mobileMask = mobileMask;
    }

    public String getNickname() {
        return nickname;
    }

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

    public boolean isPasswordSet() {
        return passwordSet;
    }

    public void setPasswordSet(boolean passwordSet) {
        this.passwordSet = passwordSet;
    }
}
