package com.njcn.rdms.module.project.controller.admin.project.project.vo.myproject;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Schema(description = "管理后台 - 我参与的项目 Response VO")
@Data
public class MyProjectParticipatedRespVO {

    @Schema(description = "项目编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2001")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "商城 V2 升级")
    private String name;
    @Schema(description = "项目编码", example = "MALL-V2")
    private String code;
    @Schema(description = "项目状态编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "active")
    private String statusCode;
    @Schema(description = "项目状态名称", example = "进行中")
    private String statusName;
    @Schema(description = "项目整体进度百分比 0-100", requiredMode = Schema.RequiredMode.REQUIRED, example = "70")
    private Integer progress;
    @Schema(description = "当前用户在该项目中的角色名（主角色 / 附加角色拼接）", example = "前端负责人")
    private String myRole;
    @Schema(description = "我负责的任务总数", requiredMode = Schema.RequiredMode.REQUIRED, example = "8")
    private Integer myTaskCount;
    @Schema(description = "我负责的未完成任务数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
    private Integer myPendingTaskCount;

}
