package com.njcn.rdms.module.project.controller.admin.product.vo.member;

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

@Schema(description = "管理后台 - 产品团队成员更新 Request VO")
@Data
public class ProductMemberUpdateReqVO {

    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3100000002002")
    @NotNull(message = "角色编号不能为空")
    private Long roleId;

    @Schema(description = "备注", example = "调整为产品观察者")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;

    @Schema(description = "变更原因", example = "职责调整")
    @Size(max = 500, message = "变更原因长度不能超过500个字符")
    private String reason;

    @Schema(description = "原产品经理用户编号，仅切换产品经理时传递", example = "2048")
    private Long previousManagerUserId;

    @Schema(description = "原产品经理交接后的角色编号，仅切换产品经理时传递", example = "3100000002002")
    private Long previousManagerRoleId;

}
