package com.xindazhou.business.controller.admin.service.feedback.vo;

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

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 意见反馈 Response VO")
@Data
public class FeedbackRespVO {

    @Schema(description = "反馈ID", example = "1")
    private Long id;

    @Schema(description = "反馈编号", example = "FB001")
    private String feedbackId;

    @Schema(description = "用户ID", example = "1")
    private Long userId;

    @Schema(description = "用户信息")
    private UserInfo userInfo;

    @Schema(description = "反馈类型：suggestion-功能建议，problem-问题反馈，other-其他", example = "suggestion")
    private String type;

    @Schema(description = "反馈内容", example = "希望增加XX功能")
    private String content;

    @Schema(description = "反馈图片列表")
    private List<String> images;

    @Schema(description = "处理状态：0-待处理，1-已处理", example = "0")
    private Integer handleStatus;

    @Schema(description = "处理结果：1-已解决，2-已记录", example = "1")
    private Integer handleResult;

    @Schema(description = "处理备注", example = "已记录，将在下个版本考虑")
    private String handleRemark;

    @Schema(description = "处理时间")
    private LocalDateTime handleTime;

    @Schema(description = "处理人ID", example = "1")
    private Long handlerId;

    @Schema(description = "处理人名称", example = "管理员")
    private String handlerName;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "用户信息")
    @Data
    public static class UserInfo {
        @Schema(description = "用户昵称", example = "张三")
        private String nickname;

        @Schema(description = "用户手机号", example = "13800138000")
        private String mobile;

        @Schema(description = "用户头像", example = "https://example.com/avatar.jpg")
        private String avatar;
    }

}

