276 lines
6.8 KiB
PHP
276 lines
6.8 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: lock
|
|
* Date: 2018/11/11
|
|
* Time: 6:57 PM
|
|
*/
|
|
|
|
namespace app\index\model;
|
|
|
|
|
|
use think\Model;
|
|
|
|
class Common extends Model
|
|
{
|
|
const PARAM_FIELD_FIELD = 'field';
|
|
const PARAM_FIELD_ORDER = 'order';
|
|
const PARAM_FIELD_LIMIT = 'limit';
|
|
const DEFAULT_ARR = array(self::PARAM_FIELD_FIELD => '*',self::PARAM_FIELD_ORDER => 'id DESC',self::PARAM_FIELD_LIMIT => '');
|
|
|
|
/**
|
|
* baseCom
|
|
* @param $new_arr
|
|
* @return array
|
|
*/
|
|
public function baseCom($new_arr)
|
|
{
|
|
$param_value_arr = self::DEFAULT_ARR;
|
|
if(!empty($new_arr))
|
|
{
|
|
foreach ($param_value_arr as $each_k => $each_v)
|
|
{
|
|
if(array_key_exists($each_k,$new_arr))
|
|
{
|
|
$param_value_arr[$each_k] = $new_arr[$each_k];
|
|
}
|
|
}
|
|
}
|
|
return $param_value_arr;
|
|
}
|
|
|
|
/**
|
|
* lists
|
|
* @param $model
|
|
* @param $page
|
|
* @param $pageSize
|
|
* @param $where
|
|
* @return mixed
|
|
*/
|
|
public function modelLists($model,$page,$pageSize,$where,$param = array())
|
|
{
|
|
$param_value_arr = $this->baseCom($param);
|
|
$lists = array();
|
|
$lists = $model->page($page,$pageSize)->where($where)->field($param_value_arr[self::PARAM_FIELD_FIELD])->order($param_value_arr[self::PARAM_FIELD_ORDER])->limit($param_value_arr[self::PARAM_FIELD_LIMIT])->select();
|
|
return $lists;
|
|
}
|
|
|
|
/**
|
|
* modelCacheLists
|
|
* @param $model
|
|
* @param $page
|
|
* @param $pageSize
|
|
* @param $where
|
|
* @return mixed
|
|
*/
|
|
public function modelCacheLists($model,$page,$pageSize,$where,$cacheName,$param = array())
|
|
{
|
|
$param_value_arr = $this->baseCom($param);
|
|
$lists = $model->cache($cacheName)->page($page,$pageSize)->where($where)->field($param_value_arr[self::PARAM_FIELD_FIELD])->order($param_value_arr[self::PARAM_FIELD_ORDER])->limit($param_value_arr[self::PARAM_FIELD_LIMIT])->select();
|
|
return $lists;
|
|
}
|
|
|
|
/**
|
|
* modelAllLists
|
|
* @param $model
|
|
* @param $where
|
|
* @return mixed
|
|
*/
|
|
public function modelAllLists($model,$where,$param = array())
|
|
{
|
|
$param_value_arr = $this->baseCom($param);
|
|
$lists = array();
|
|
$lists = $model->where($where)->field($param_value_arr[self::PARAM_FIELD_FIELD])->order($param_value_arr[self::PARAM_FIELD_ORDER])->limit($param_value_arr[self::PARAM_FIELD_LIMIT])->select();
|
|
return $lists;
|
|
}
|
|
|
|
/**
|
|
* modelCacheAllLists
|
|
* @param $model
|
|
* @param $where
|
|
* @param $cacheName
|
|
* @return mixed
|
|
*/
|
|
public function modelCacheAllLists($model,$where,$cacheName,$param = array())
|
|
{
|
|
$param_value_arr = $this->baseCom($param);
|
|
$lists = $model->cache($cacheName)->where($where)->field($param_value_arr[self::PARAM_FIELD_FIELD])->order($param_value_arr[self::PARAM_FIELD_ORDER])->limit($param_value_arr[self::PARAM_FIELD_LIMIT])->select();
|
|
return $lists;
|
|
}
|
|
|
|
/**
|
|
* getOneById
|
|
* @param $where
|
|
* @param $model
|
|
* @return mixed
|
|
*/
|
|
public function getOneById($model,$where,$param = array())
|
|
{
|
|
$param_value_arr = $this->baseCom($param);
|
|
$info = $model->where($where)->field($param_value_arr[self::PARAM_FIELD_FIELD])->find();
|
|
return $info;
|
|
}
|
|
|
|
/**
|
|
* addData
|
|
* @param $model
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function addData($model,$data)
|
|
{
|
|
$add_rs = $model->isUpdate(false)->allowField(true)->save($data);
|
|
return $add_rs;
|
|
}
|
|
|
|
/**
|
|
* addCacheData
|
|
* @param $model
|
|
* @param $data
|
|
* @param $cacheName
|
|
* @return int
|
|
*/
|
|
public function addCacheData($model,$data,$cacheName)
|
|
{
|
|
$tmp_cache = getRedisValue($cacheName);
|
|
$cache_result = 1;
|
|
if(!empty($tmp_cache))
|
|
{
|
|
$cache_result = deleteRedisValue($cacheName);
|
|
}
|
|
$add_rs = 0;
|
|
if($cache_result)
|
|
{
|
|
$add_rs = $model->allowField(true)->save($data);
|
|
}
|
|
return $add_rs;
|
|
}
|
|
|
|
|
|
/**
|
|
* addInsertData
|
|
* @param $model
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function addInsertData($model,$data)
|
|
{
|
|
$add_rs = $model->allowField(true)->insertGetId($data);
|
|
return $add_rs;
|
|
}
|
|
|
|
/**
|
|
* addCacheInsertData
|
|
* @param $model
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function addCacheInsertData($model,$data,$cacheName)
|
|
{
|
|
$tmp_cache = getRedisValue($cacheName);
|
|
$cache_result = 1;
|
|
if(!empty($tmp_cache))
|
|
{
|
|
$cache_result = deleteRedisValue($cacheName);
|
|
}
|
|
$add_rs = 0;
|
|
if($cache_result){
|
|
$add_rs = $model->allowField(true)->insertGetId($data);
|
|
}
|
|
return $add_rs;
|
|
}
|
|
|
|
/**
|
|
* addMoreData
|
|
* @param $model
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function addMoreData($model,$data)
|
|
{
|
|
$add_rs = $model->saveALL($data);
|
|
return $add_rs;
|
|
}
|
|
|
|
/**
|
|
* updateByWhere
|
|
* @param $where
|
|
* @param $data
|
|
* @param $model
|
|
* @return mixed
|
|
*/
|
|
public function updateByWhere($model,$where,$data)
|
|
{
|
|
$update_rs = $model->force(true)->save($data,$where);
|
|
return $update_rs;
|
|
}
|
|
|
|
/**
|
|
* updateCacheByWhere
|
|
* @param $model
|
|
* @param $where
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function updateCacheByWhere($model,$where,$data,$cacheName)
|
|
{
|
|
$tmp_cache = getRedisValue($cacheName);
|
|
$cache_result = 1;
|
|
if(!empty($tmp_cache))
|
|
{
|
|
$cache_result = deleteRedisValue($cacheName);
|
|
}
|
|
$update_rs = 0;
|
|
if($cache_result)
|
|
{
|
|
$update_rs = $model->force(true)->save($data,$where);
|
|
}
|
|
return $update_rs;
|
|
}
|
|
|
|
/**
|
|
* updateAllByWhere
|
|
* @param $model
|
|
* @param $data
|
|
* @return mixed
|
|
*/
|
|
public function updateAllByWhere($model,$data)
|
|
{
|
|
$update_rs = $model->force(true)->saveAll($data);
|
|
return $update_rs;
|
|
}
|
|
|
|
/**
|
|
* deleteByWhere
|
|
* @param $model
|
|
* @param $where
|
|
* @return mixed
|
|
*/
|
|
public function deleteByWhere($model,$where)
|
|
{
|
|
$delete_rs = $model->where($where)->delete();
|
|
return $delete_rs;
|
|
}
|
|
|
|
/**
|
|
* deleteCacheByWhere
|
|
* @param $model
|
|
* @param $where
|
|
* @return mixed
|
|
*/
|
|
public function deleteCacheByWhere($model,$where,$cacheName)
|
|
{
|
|
$tmp_cache = getRedisValue($cacheName);
|
|
$cache_result = 1;
|
|
if(!empty($tmp_cache))
|
|
{
|
|
$cache_result = deleteRedisValue($cacheName);
|
|
}
|
|
$delete_rs = 0;
|
|
if($cache_result)
|
|
{
|
|
$delete_rs = $model->where($where)->delete();
|
|
}
|
|
return $delete_rs;
|
|
}
|
|
} |