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 ProductMemberSaveReqVO {

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    @NotNull(message = "用户编号不能为空")
    private Long userId;

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

    @Schema(description = "备注", example = "来自产品团队维护")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;

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

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

}
