package com.sckw.system.model.vo.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 修改密码请求对象
 * @author chenxiaofei
 * @date 2026-01-08
 */
@Data
@Schema(description = "修改密码请求对象")
public class UpdatePasswordReqVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    @Schema(description = "用户ID", required = true, example = "1234567890")
    private Long userId;

    /**
     * 旧密码
     */
    @NotBlank(message = "旧密码不能为空")
    @Schema(description = "旧密码", required = true, example = "Old123456")
    private String oldPassword;

    /**
     * 新密码
     */
    @NotBlank(message = "新密码不能为空")
    @Schema(description = "新密码", required = true, example = "New123456")
    private String newPassword;
    /**
     * 设备id
     */
    @NotBlank(message = "设备id不能为空")
    @Schema(description = "设备id", required = true, example = "1234567890")
    private String deviceId;
}
