<?php

namespace app\common\model;

use think\Model;

/**
 * OTA 版本模型
 *
 * 供 API 控制器使用的公共模型，与后台管理模型共享数据访问。
 */
class OtaVersion extends Model
{
    // 表名
    protected $name = 'ota_version';

    // 自动写入时间戳
    protected $autoWriteTimestamp = 'int';

    // 时间字段格式
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';

    // 追加属性
    protected $append = [
        'is_force_update_text',
        'status_text',
    ];

    /**
     * 获取强制更新状态文本
     *
     * @return string
     */
    public function getIsForceUpdateTextAttr()
    {
        return $this->getData('is_force_update') ? '强制更新' : '可选更新';
    }

    /**
     * 获取状态文本
     *
     * @param string $value
     * @param array $data
     * @return string
     */
    public function getStatusTextAttr($value, $data)
    {
        $statusMap = [
            'draft'     => '草稿',
            'published' => '已发布',
            'archived'  => '已归档',
        ];
        $status = $data['status'] ?? '';
        return $statusMap[$status] ?? '未知';
    }
}
