<?php

namespace catchAdmin\logs\model;

use catcher\base\CatchModel as Model;
use catcher\generate\factory\SQL;
class BatteryLog extends Model
{
    // 表名
    public $name = 'battery_log';
    // 数据库字段映射
    public $field = array(
        'id',
        // 设备imei
        'imei',
        // 电池电量
        'battery_level',
        // 是否低电
        'is_low',
        // 是否充电中
        'is_charge',
        // 是否充满
        'is_charge_full',
        // 创建人ID
        'creator_id',
        // 创建时间
        'created_at',
        // 更新时间
        'updated_at',
        // 软删除
        'deleted_at',
    );
    public function getList($heartTime=null)
    {
        if($heartTime){
            $this->name='battery_log_'.date('Ym',strtotime($heartTime));
        }else{
            $this->name='battery_log_'.date('Ym');
        }
        if (!(new SQL())->hasTableExists($this->name)) {
            $this->name="battery_log";
        }
        $res = $this->catchSearch()
            ->order($this->aliasField('id'), 'desc')
            ->paginate();
            // var_dump($this->getLastSql());
        return $res;
    }
    /**
     * 请求时间
     */
    public function searchHeartTimeAttr($query, $value, $data)
    {
        $start_time=strtotime($value[0]);
        $end_time=strtotime($value[1]);
        return $query->whereBetweenTime('created_at', $start_time,$end_time);
    }
    /**
     * 设备Imei过滤
     */
    public function searchImeiAttr($query, $value, $data)
    {
        return $query->where('imei',$value);
    }

    /**
     * 电量
     */
    public function getBatteryLevelAttr($value)
    {
        if($value==0){
            return '<5';
        }
        return $value;   
    }
    public function getIsLowAttr($value)
    {
        return $value ? '是' : '否';
    }
    public function getIsChargeFullAttr($value)
    {
        return $value ? '是' : '否';
    }
    public function getIsChargeAttr($value)
    {
        return $value ? '是' : '否';
    }
}