<?php

/**
 * +----------------------------------------------------------------------
 * | Created By PhpStorm
 * +----------------------------------------------------------------------
 * | DATE: 2021/8/2
 * +----------------------------------------------------------------------
 * | TIME: 9:03
 * +----------------------------------------------------------------------
 * | Author: YangXing(925032253@qq.com)
 * +----------------------------------------------------------------------
 * | Class: importLog
 * +----------------------------------------------------------------------
 */

namespace model\excel;


class importLog extends \model
{
    /**
     * @var string
     */
    public $table = 'import_log';

    /**
     * @param $rules
     * @param string $where
     * @param int $page
     * @param int $pagesize
     * @param string $sidx
     * @param string $sord
     * @param string $orderby
     * @return array
     */
    public function list($rules, $where='',$page=0,$pagesize=0,$sidx='',$sord='asc',$orderby=''){


        $where = $this->filter2medoo($where,function(&$field,&$op,&$data){
            switch($field){
                case 'is_error':
                    if($data == '是'){
                        $op = 'eq';
                        $data = '1';
                    }else if($data == '否'){
                        $op = 'eq';
                        $data = '0';
                    }
                    break;
            }
        });

        $where = $this->listWhere($where,$page,$pagesize,$sidx,$sord,$orderby);
        $where['is_delete'] = '0';//软删除
        $where['opuser'] = $_SESSION['userID'];
        if($page>0 && $pagesize>0){
            $pages = $this->paging($this->table,$where,$page,$pagesize);
            $where["LIMIT"] = [$pages['limit'],$pagesize];
        }
        $fields = [
            'id',
            'generate_file',
            'create_time',
//            'update_time',
            'original_file',
            'message',
            'is_error',
        ];
        $rows = $this->db->select($this->table,$fields,$where);

        foreach ($rows as &$value)
        {
            $temp = date('Y-m',strtotime($value['create_time']));
            $value['generate_files'] = $temp.'/'.$value['generate_file'];
            $value['original_files'] = $temp.'/'.$value['original_file'];
            $value['is_error'] = $value['is_error'] == 1 ? '是' : '否';
        }
        $data = [
            'page'=> $page,
            'total'=> $pages['total'],
            'records' => $pages['records'],
            'rows' => $rows
        ];
        return $data;
    }

    /**
     * @param $ids
     * @return false|\PDOStatement
     */
    public function delete($ids)
    {
        $ids = explode(',',$ids);
        foreach ($ids as $k => &$id)
        {
            $id = (int) $id;
            if($id <= 0){
                unset($ids[$k]);
            }
        }
        $ids = array_values($ids);
        if(empty($ids)){
            return false;
        }
        $ids = array_map('trim',$ids);
        $res = $this->db->delete($this->table,[
            'opuser' => $_SESSION['userID'],
            'id' => $ids
        ]);
        return $res;
    }
}
