From 59d81b4db454e884feb70d63f2152fc57430d9b0 Mon Sep 17 00:00:00 2001 From: "HESU\\HESU" <1696136552@qq.com> Date: Thu, 17 Jul 2025 10:42:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.sql | 3 - app/common/controller/PresetController.php | 36 +++++++++ app/common/logic/BaseLogic.php | 86 +++++++++++++++++++++ app/common/logic/CorpFeishuAppLogic.php | 16 ++++ app/common/logic/CorpLogic.php | 14 ++++ app/common/model/UserFeishuApp_bak.php | 69 +++++++++++++++++ app/common/model/UserRoles.php | 47 +++++++++++ app/common/model/UserSystems.php | 53 +++++++++++++ app/common/service/CorpFeishuAppService.php | 21 +++++ app/common/service/CorpService.php | 24 ++++++ 10 files changed, 366 insertions(+), 3 deletions(-) delete mode 100644 1.sql create mode 100644 app/common/controller/PresetController.php create mode 100644 app/common/logic/BaseLogic.php create mode 100644 app/common/logic/CorpFeishuAppLogic.php create mode 100644 app/common/logic/CorpLogic.php create mode 100644 app/common/model/UserFeishuApp_bak.php create mode 100644 app/common/model/UserRoles.php create mode 100644 app/common/model/UserSystems.php create mode 100644 app/common/service/CorpFeishuAppService.php create mode 100644 app/common/service/CorpService.php diff --git a/1.sql b/1.sql deleted file mode 100644 index ea1e67c..0000000 --- a/1.sql +++ /dev/null @@ -1,3 +0,0 @@ -User ← user_roles → Role ← role_resources → Resource (type=menu/button) - ↘︎ - role_permissions → Permission \ No newline at end of file diff --git a/app/common/controller/PresetController.php b/app/common/controller/PresetController.php new file mode 100644 index 0000000..964b2a6 --- /dev/null +++ b/app/common/controller/PresetController.php @@ -0,0 +1,36 @@ +getList(); + return $this->success($result, '获取公司列表'); + } catch (\Throwable $e) { + return $this->error($e->getMessage()); + } + } + + + + public function feishuApp(Request $request) + { + try { + $corpId = $request->get('corp_id'); + $result = (new CorpFeishuAppService())->getFeishuApp($corpId); + return $this->success($result, '获取飞书应用信息'); + } catch (\Throwable $e) { + return $this->error($e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/common/logic/BaseLogic.php b/app/common/logic/BaseLogic.php new file mode 100644 index 0000000..94beff3 --- /dev/null +++ b/app/common/logic/BaseLogic.php @@ -0,0 +1,86 @@ +paginate($params['per_page'], ['*'], 'page', $params['page']); + } + + return $query->get(); + } + + /** + * 获取单个记录 + */ + public function getDetail(int $id, string $modelClass) + { + $record = $modelClass::find($id); + if (!$record) { + throw new BusinessException("记录不存在", 404); + } + + return $record; + } + + /** + * 创建记录 + */ + public function create(array $data, string $modelClass) + { + $model = new $modelClass; + $model->fill($data); // 根据字段填充数据 + try { + $model->save(); + } catch (\Throwable $e) { + throw new BusinessException("创建记录失败: " . $e->getMessage(), 500); + } + + return $model; + } + + /** + * 更新记录 + */ + public function update(array $data, string $modelClass) + { + $record = $modelClass::find($data['id']); + if (!$record) { + throw new BusinessException("记录不存在", 404); + } + + $record->update($data); + return $record; + } + + /** + * 删除记录 + */ + public function delete(int $id, string $modelClass) + { + $record = $modelClass::find($id); + if (!$record) { + throw new BusinessException("记录不存在", 404); + } + + try { + $record->delete(); + } catch (\Throwable $e) { + throw new BusinessException("删除记录失败: " . $e->getMessage(), 500); + } + + return true; + } +} diff --git a/app/common/logic/CorpFeishuAppLogic.php b/app/common/logic/CorpFeishuAppLogic.php new file mode 100644 index 0000000..2073aac --- /dev/null +++ b/app/common/logic/CorpFeishuAppLogic.php @@ -0,0 +1,16 @@ +first(['id', 'corp_id', 'name', 'app_id', 'r_url', 'state']); + } + +} \ No newline at end of file diff --git a/app/common/logic/CorpLogic.php b/app/common/logic/CorpLogic.php new file mode 100644 index 0000000..cac9672 --- /dev/null +++ b/app/common/logic/CorpLogic.php @@ -0,0 +1,14 @@ +orderBy('sort', 'asc')->get(['id', 'name', 'abbr', 'tenant_key']); + } +} \ No newline at end of file diff --git a/app/common/model/UserFeishuApp_bak.php b/app/common/model/UserFeishuApp_bak.php new file mode 100644 index 0000000..9aa06c0 --- /dev/null +++ b/app/common/model/UserFeishuApp_bak.php @@ -0,0 +1,69 @@ +logic = (new CorpFeishuAppLogic()); + } + + public function getFeishuApp(int $corpId) + { + return $this->logic->getFeishuApp($corpId); + } +} \ No newline at end of file diff --git a/app/common/service/CorpService.php b/app/common/service/CorpService.php new file mode 100644 index 0000000..7d18d49 --- /dev/null +++ b/app/common/service/CorpService.php @@ -0,0 +1,24 @@ +logic = (new CorpLogic()); + } + + /** + * 获取公司list + */ + public function getList() + { + return $this->logic->getList(); + } +} \ No newline at end of file