package com.gameplatform.server.model.dto.link;

import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;

@Schema(description = "选区响应")
public class SelectRegionResponse {
    
    @Schema(description = "操作是否成功", example = "true")
    private boolean success;
    
    @Schema(description = "消息", example = "选区成功")
    private String message;
    
    @Schema(description = "二维码URL", example = "http://36.138.184.60:12345/66L8NM3L/二维码.png")
    private String qrCodeUrl;
    
    @Schema(description = "二维码创建时间")
    private LocalDateTime qrCreatedAt;
    
    @Schema(description = "二维码过期时间")
    private LocalDateTime qrExpireAt;
    
    @Schema(description = "链接状态", example = "USING")
    private String status;
    
    @Schema(description = "选择的区域", example = "Q")
    private String region;
    
    @Schema(description = "二维码出现延迟时间（秒）", example = "5")
    private Integer qrDelaySeconds;

    @Schema(description = "MEC 机器ID", example = "f1")
    private String mecmachineId;



    public SelectRegionResponse() {}
    
    public SelectRegionResponse(boolean success, String message) {
        this.success = success;
        this.message = message;
    }
    
    public boolean isSuccess() {
        return success;
    }
    
    public void setSuccess(boolean success) {
        this.success = success;
    }
    
    public String getMessage() {
        return message;
    }
    
    public void setMessage(String message) {
        this.message = message;
    }
    
    public String getQrCodeUrl() {
        return qrCodeUrl;
    }
    
    public void setQrCodeUrl(String qrCodeUrl) {
        this.qrCodeUrl = qrCodeUrl;
    }
    
    public LocalDateTime getQrCreatedAt() {
        return qrCreatedAt;
    }
    
    public void setQrCreatedAt(LocalDateTime qrCreatedAt) {
        this.qrCreatedAt = qrCreatedAt;
    }
    
    public LocalDateTime getQrExpireAt() {
        return qrExpireAt;
    }
    
    public void setQrExpireAt(LocalDateTime qrExpireAt) {
        this.qrExpireAt = qrExpireAt;
    }
    
    public String getStatus() {
        return status;
    }
    
    public void setStatus(String status) {
        this.status = status;
    }
    
    public String getRegion() {
        return region;
    }
    
    public void setRegion(String region) {
        this.region = region;
    }
    
    public Integer getQrDelaySeconds() {
        return qrDelaySeconds;
    }
    
    public void setQrDelaySeconds(Integer qrDelaySeconds) {
        this.qrDelaySeconds = qrDelaySeconds;
    }

    public String getMecmachineId() {
        return mecmachineId;
    }
    public void setMecmachineId(String mecmachineId) {
        this.mecmachineId = mecmachineId;
    }
    @Override
    public String toString() {
        return "SelectRegionResponse{" +
                "success=" + success +
                ", message='" + message + '\'' +
                ", qrCodeUrl='" + qrCodeUrl + '\'' +
                ", qrCreatedAt=" + qrCreatedAt +
                ", qrExpireAt=" + qrExpireAt +
                ", status='" + status + '\'' +
                ", region='" + region + '\'' +
                ", qrDelaySeconds=" + qrDelaySeconds +
                ", mecmachineId='" + mecmachineId + '\'' +
                '}';
    }
}
