setWebsite(__NAMESPACE__); $this->isLoginJson(); } /** * @param Request $request * @return JsonResponse */ public function showList(Request $request): JsonResponse { $currentPage = $request->post('page', 1); $size = $request->post('size', 20); $site_id = $request->post('site_id'); $category_type = $request->post('category_type'); $title = $request->post('title'); $id = $request->post('id'); if (empty($site_id)) { return responseMessage(2001, '参数错误!'); } $find = DB::table($this->table); $find->where(['is_delete' => 0, 'website_id' => $site_id])->orderBy('id', 'desc'); if ($category_type) { $find->where('category_type', $category_type); } // 为了显示input搜索的文本 if ($id) { $find->where("id", $id); } if ($title) { // 转义特殊字符 $title = str_replace("_", "\_", $title); $title = str_replace("*", "\*", $title); $find->where(function ($query) use ($title) { $query->where('title', 'like', '%' . $title . '%'); $query->orWhere('en_alias', 'like', '%' . $title . '%'); }); } // DB::connection()->enableQueryLog();#开启执行日志 $total = $find->count(); $list = $find->offset(($currentPage - 1) * $size)->limit($size)->get(); // Log::info(" sql === ", DB::getQueryLog()); return responseMessage(1002, 'success', ['list' => $list, 'total' => $total]); } /** * @param Request $request * @return JsonResponse */ public function info(Request $request): JsonResponse { $mid = $request->post('mid'); if (empty($mid)) { return responseMessage(2001, '参数错误!'); } $info = DB::table($this->table)->where('mid', $mid)->first(); if ($info) { $info->request_settings = json_decode($info->request_settings, true); $info->upload_config = json_decode($info->upload_config, true); $info->result_settings = json_decode($info->result_settings, true); $info->condition_settings = json_decode($info->condition_settings, true); $info->sort_settings = json_decode($info->sort_settings, true); return responseMessage(1002, '', $info); } else { return responseMessage(2001, '数据不存在,请重试!'); } } /** * @param InterfaceForm $request * @return JsonResponse * @throws \Throwable */ public function save(InterfaceForm $request): JsonResponse { $data = $request->all(); $data['is_use'] = intval($data['is_use']); $data['is_login'] = intval($data['is_login']); $data['search_column_id'] = intval($data['search_column_id'] ?? 0); $alias = $data['en_alias']; unset($data['isUse']); unset($data['isLogin']); $data['request_settings'] = json_encode($data['request_settings']); $data['upload_config'] = json_encode($data['upload_config']); $data['result_settings'] = json_encode($data['result_settings']); $data['condition_settings'] = json_encode($data['condition_settings']); $data['sort_settings'] = json_encode($data['sort_settings']); $data['conditions'] = json_encode($data['conditions']); if (isset($data['id']) && ($id = $data['id'])) { // 获取信息 $info = DB::table($this->table)->find($id); if ($info) { $isExist = DB::table($this->table) ->where(['en_alias' => $alias, 'website_id' => $data['website_id'], 'is_delete' => 0]) ->where('id', '!=', $id) ->count(); if ($isExist) { return responseMessage(2003, '接口英文别名已经存在,换一个名称吧!'); } $isSuccess = DB::table($this->table)->where('id', $id)->update($data); } else { return responseMessage(2005, '数据不存在,请重试!'); } } else { $isExist = DB::table($this->table)->where(['en_alias' => $alias, 'website_id' => $data['website_id'], 'is_delete' => 0])->count(); if ($isExist) { return responseMessage(2004, '接口英文别名已经存在,换一个名称吧!'); } $data['mid'] = Str::random(12); $data['created_at'] = time(); $data['updated_at'] = time(); $isSuccess = DB::table($this->table)->insert($data); } if ($isSuccess) { return responseMessage(1001, '操作成功!'); } else { return responseMessage(2006, '操作失败!'); } } /** * 更新状态 * * @param Request $request * @return JsonResponse * @throws \Throwable */ public function updateStatus(Request $request): JsonResponse { $id = $request->post('id'); $is_use = $request->post('is_use'); $is_login = $request->post('is_login'); // 获取信息 $info = ES::table($this->table)->find($id); if ($info) { $data = []; if ($is_use || $is_use === 0) { $is_use = intval($is_use); $data['is_use'] = $is_use; } if ($is_login || $is_login === 0) { $is_login = intval($is_login); $data['is_login'] = $is_login; } if (empty($data)) { return responseMessage(2001, '数据为空,请重试!'); } $isSuccess = ES::table($this->table)->toRefresh()->updateEntityById($id, $data); if ($isSuccess) { return responseMessage(1001, '操作成功!'); } else { return responseMessage(2006, '操作失败!'); } } else { return responseMessage(2005, '数据不存在,请重试!'); } } /** * 伪删除, * 删除后,其他接口绑定了该接口,也不影响 */ public function del(Request $request): JsonResponse { $mid = $request->input('mid'); if (empty($mid)) { return responseMessage(2002, '参数错误'); } return $this->fakeDeleteData($this->table, ['mid' => $mid]); } }