package com.njcn.rdms.module.project.controller.admin.project.execution.vo.assignee;

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

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 执行协办人变更历史 Response VO")
@Data
public class ExecutionAssigneeLogRespVO {

    @Schema(description = "日志编号", example = "12001")
    private Long id;

    @Schema(description = "所属执行编号", example = "5001")
    private Long executionId;

    @Schema(description = "事件类型：join / inactive / owner_transfer_in / owner_transfer_out", example = "join")
    private String actionType;

    @Schema(description = "被操作人用户编号", example = "3002")
    private Long userId;

    @Schema(description = "被操作人昵称，返回时按当前用户信息回填")
    private String userNicknameSnapshot;

    @Schema(description = "操作人用户编号", example = "3001")
    private Long operatorUserId;

    @Schema(description = "操作人昵称，返回时按当前用户信息回填")
    private String operatorNicknameSnapshot;

    @Schema(description = "事件时间")
    private LocalDateTime actionTime;

    @Schema(description = "原因；inactive 必填，其余可空")
    private String reason;

}
