package com.sckw.system.model.vo.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.sckw.core.utils.LongToStringUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 系统版本管理返回对象
 * @author chenxiaofei
 * @date 2026-01-07
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "系统版本管理返回对象")
public class AppVersionsResVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 雪花ID
     */
    @JsonSerialize(using = LongToStringUtils.class)
    @Schema(description = "雪花ID")
    private Long id;

    /**
     * 版本号
     */
    @Schema(description = "版本号")
    private String versionCode;

    /**
     * 平台类型: 1-Android, 2-iOS
     */
    @Schema(description = "平台类型: 1-Android, 2-iOS")
    private Integer platform;

    /**
     * 更新日志
     */
    @Schema(description = "更新日志")
    private String updateLog;

    /**
     * 安装包下载地址
     */
    @Schema(description = "安装包下载地址")
    private String downloadUrl;

    /**
     * 是否强制更新: 0-否, 1-是
     */
    @Schema(description = "是否强制更新: 0-否, 1-是")
    private Integer isForceUpdate;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Schema(description = "创建时间")
    private Date createdAt;

}






