'desc','sort'=>'desc'] * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getIndexList(int $page,int $pageSize,array $field = [], array $vague = [],array $focus = [],array $order = []):array { $fields = array_keys($this->schema); $collection = $this->field($field)->where(function ($query) use ($fields,$focus) { //精准查询 if (!empty($focus)) { foreach ($focus as $key => $item) { if (in_array($key,$fields)) { $query->where($key,$item); } } } })->where(function($query) use ($fields,$vague) { //模糊查询 if (!empty($vague)) { foreach ($vague as $key => $item) { if (in_array($key,$fields)) { $query->whereOr($key,'like',"%".$item."%"); } } } })->order($order); //判断是否需要分页 if (0 == $page || 0 == $pageSize) { //不需要分页 return $collection->select()->toArray(); } else { //需要分布 $totalNum = $collection->count(); $data = $collection->page($page)->limit($pageSize)->select()->toArray();; return ['count'=>$totalNum,'data'=>$data]; } } /** * 新增数据 * @param array $data * @return bool */ public function addData(array $data) : bool { $result = $this->create($data); return (bool)$result; } /** * 编辑数据 * @param array $data * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function editData(array $data) : bool { if (isset($data['id']) && $data['id'] > 0) { $result = $this->find($data['id']); return $result && $result->save($data); } return false; } /** * 获取详情 * @param array $data * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getInfo(array $data) : array { if (isset($data['id'])) { $result = $this->find($data['id']); return $result ? $result->toArray() : []; } return []; } /** * 删除 * @param array $data * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function delData(array $data) : bool { if (isset($data['id'])) { $result = $this->find($data['id']); return $result && $result->delete(); } return false; } /** * 通过ID获取数据 * @param $ids * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getExportData($ids): array { $result = $this->whereIn($this->pk,$ids['ids'])->order('create_time','desc')->select(); return $result ? $result->toArray() : []; } /** * 批量修改 * @param $data * @return bool * @throws \Exception */ public function batchEditData($data):bool { $result = $this->saveAll($data); return (bool)$result; } /** * 批量删除 * @param array $data * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function batchDelData(array $data) : bool { $res = true; foreach ($data as $item) { if (isset($item['id']) && $item['id'] > 0) { $result = $this->find($item['id']); $result = $result->delete(); $res = $res && $result; } } return $res; } /** * 获取地区名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getAreaNameById($id):string { $data = Area::find($id); return $data ? $data['name'] : ''; } /** * 获取币种名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getCoinName($id):string { $result = Currency::find($id); return $result ? $result['name'] : ''; } /** * 获取站点语言名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getSiteLanguageName($id):string { $lang = Site::find($id); $result = Language::find($lang['language_id']); return $result ? $result['name'] : ''; } /** * 获取语言名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getLanguageName($id):string { $result = Language::find($id); return $result ? $result['name'] : ''; } /** * 获取语言名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getCountryName($id):string { $result = Country::find($id); return $result ? $result['zh'] : '其他'; } /** * 获取币种名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getPlatformName($id):string { $result = Platform::find($id); return $result ? $result['name'] : ''; } /** * 通过id获取名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getFileTypeName($id):string { $result = FileType::find($id); return $result ? $result['name'] : ''; } /** * 通过id获取名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getFaqTypeName($id):string { $result = FaqType::find($id); return $result ? $result['name'] : ''; } /** * 通过id获取名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getAdvertisePageName($id):string { $result = AdvertisePage::find($id); return $result ? $result['name'] : ''; } /** * 通过id获取名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getAdertiseSpaceName($id):string { $result = AdvertiseSpace::find($id); return $result ? $result['name'] : ''; } /** * 通过id获取尺寸 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getAdvertiseSpaceSpec($id):string { $result = AdvertiseSpace::find($id); if ($result) { $width = $result['width']; $height = $result['height']; return $width. 'x' . $height; } return ''; } /** * 通过id获取名称 * @param $id * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getGoodsName($id):string { $result = Goods::find($id); return $result ? $result['name'] : ''; } /** * 启用禁用 * @param $data * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function changeStatus($data):bool { $result = $this->find($data['id']); return $result && $result->save($data); } /** * 排序 * @param $data * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function changeSort($data):bool { $result = $this->find($data['id']); return $result && $result->save($data); } /** * 获取子类ID * @param $id * @return array */ public function getChildCategory($id):array { $res = $this->where('pid',$id)->column('id'); array_push($res,intval($id)); return $res ?: []; } /** * 获取父类ID * @param $id * @return array */ public function getPCategory($id):array { $res = $this->where('id',$id)->column('id'); array_push($res,intval($id)); return $res ?: []; } /** * 动态数据检测,检测提交过来的数据中ID是否合法 * @param $model * @param $condition * @return bool */ public function dynamicCheck($model,$condition):bool { return (bool) $model::where($condition)->find(); } }