package org.xyzh.api.workcase.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.fastjson2.annotation.JSONField;
import java.util.Date;

/**
 * 工单列表VO
 * 用于前端列表展示（简化版）
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "工单列表VO")
public class TicketListVO extends BaseVO {
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "工单ID")
    private String ticketId;
    
    @Schema(description = "工单编号")
    private String ticketNo;
    
    @Schema(description = "客户姓名")
    private String customerName;
    
    @Schema(description = "工单标题")
    private String title;
    
    @Schema(description = "工单类型名称")
    private String ticketTypeName;
    
    @Schema(description = "优先级")
    private String priority;
    
    @Schema(description = "优先级名称")
    private String priorityName;
    
    @Schema(description = "工单状态")
    private String ticketStatus;
    
    @Schema(description = "工单状态名称")
    private String ticketStatusName;
    
    @Schema(description = "处理人姓名")
    private String assignedToName;
    
    @Schema(description = "SLA截止时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date slaDeadline;
    
    @Schema(description = "是否逾期", defaultValue = "false")
    private Boolean isOverdue;
    
    @Schema(description = "创建者姓名")
    private String creatorName;
}
