<?php
namespace model;
use \model;
class cms extends model
{
	public function getList($params, $rules = [])
	{
		$filters = $params['filters'];
		$page = $params['page'];
		$pagesize = $params['rows'];
		$sidx = empty($params['sidx'])? '': $params['sidx'];
		$sord = empty($params['sord'])? 'asc': $params['sord'];
		$orderby = empty($params['orderby'])? 'news_id desc': $params['orderby'];
		$table = 'gsp_news';
		$where = $this->filter2medoo($filters,function(&$field,&$op,&$data){
        });
		if($params['news_cate_id']) $where['news_cate_id'] = $params['news_cate_id'];
		if(isset($params['news_archive']))
			$where['news_archive'] = $params['news_archive'];
		if(!empty($params['news_id'])) $where['news_id'] = $params['news_id'];
        $where = $this->listWhere($where,$page,$pagesize,$sidx,$sord,$orderby);
		if($page>0 && $pagesize>0){
			$pages = $this->paging($table,$where,$page,$pagesize);
			$where["LIMIT"] = [$pages['limit'],$pagesize];
		}
        $rows = $this->db->select($table, '*', $where);
		$data = [
			'page'=> $page,
			'total'=> $pages['total'],
			'records' => $pages['records'],
			'rows' => $rows
		];
		return $data;
	}

	public function del($idArr, $params)
	{
		$this->db->delete('gsp_news', ['news_id'=>$idArr]);
		return [];
	}

	
	public function saveDetail($id, $dataArr)
	{
		$datetime = getNowTime();
		$opuser = getOpuser();
		$setArr = [
			'news_title'=>$dataArr['news_title'],
			'news_remark'=>$dataArr['news_remark'],
			'news_file'=>!empty($dataArr['news_file'])? $dataArr['news_file']: '[]',
			'news_archive'=>(int)$dataArr['news_archive'],
			'opuser'=>$opuser,
			'news_update_time'=>$datetime
		];
		if($id > 0)
		{
			$this->db->update('gsp_news', $setArr, ['news_id'=>$id]);
		}
		else
		{
			$setArr['news_create_time'] = $datetime;
			$setArr['news_cate_id'] = $dataArr['news_cate_id'];
			$this->db->insert('gsp_news', $setArr);
			$id = $this->db->id();
		}
		return ['id'=>$id];
	}
}