package com.sckw.system.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * 系统版本管理表
 * @author chenxiaofei
 * @date 2026-01-07
 */
@EqualsAndHashCode(callSuper = false)
@Data
@Accessors(chain = true)
@TableName("app_versions")
@Builder
public class AppVersions implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 雪花ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 版本号
     */
    @TableField("version_code")
    private String versionCode;

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

    /**
     * 更新日志
     */
    @TableField("update_log")
    private String updateLog;

    /**
     * 安装包下载地址
     */
    @TableField("download_url")
    private String downloadUrl;

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

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

}

