From c872aefd925dd631b3ff12d4470041ba13252d94 Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Thu, 23 May 2024 17:54:55 +0800 Subject: [PATCH] update --- .../works/rcbg/OaWorkCommentController.php | 108 +++++++++++++++++ .../lists/works/rcbg/OaWorkCommentLists.php | 82 +++++++++++++ .../logic/works/rcbg/OaWorkCommentLogic.php | 109 ++++++++++++++++++ app/adminapi/logic/works/rcbg/OaWorkLogic.php | 4 + .../works/rcbg/OaWorkCommentValidate.php | 98 ++++++++++++++++ app/common/model/works/rcbg/OaWorkComment.php | 34 ++++++ 6 files changed, 435 insertions(+) create mode 100644 app/adminapi/controller/works/rcbg/OaWorkCommentController.php create mode 100644 app/adminapi/lists/works/rcbg/OaWorkCommentLists.php create mode 100644 app/adminapi/logic/works/rcbg/OaWorkCommentLogic.php create mode 100644 app/adminapi/validate/works/rcbg/OaWorkCommentValidate.php create mode 100644 app/common/model/works/rcbg/OaWorkComment.php diff --git a/app/adminapi/controller/works/rcbg/OaWorkCommentController.php b/app/adminapi/controller/works/rcbg/OaWorkCommentController.php new file mode 100644 index 000000000..ac9f71c8c --- /dev/null +++ b/app/adminapi/controller/works/rcbg/OaWorkCommentController.php @@ -0,0 +1,108 @@ +dataLists(new OaWorkCommentLists()); + } + + + /** + * @notes 添加工作汇报点评表 + * @return \think\response\Json + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function add() + { + $params = (new OaWorkCommentValidate())->post()->goCheck('add'); + $result = OaWorkCommentLogic::add($params,$this->adminId); + if (true === $result) { + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(OaWorkCommentLogic::getError()); + } + + + /** + * @notes 编辑工作汇报点评表 + * @return \think\response\Json + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function edit() + { + $params = (new OaWorkCommentValidate())->post()->goCheck('edit'); + $result = OaWorkCommentLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(OaWorkCommentLogic::getError()); + } + + + /** + * @notes 删除工作汇报点评表 + * @return \think\response\Json + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function delete() + { + $params = (new OaWorkCommentValidate())->post()->goCheck('delete'); + OaWorkCommentLogic::delete($params); + return $this->success('删除成功', [], 1, 1); + } + + + /** + * @notes 获取工作汇报点评表详情 + * @return \think\response\Json + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function detail() + { + $params = (new OaWorkCommentValidate())->goCheck('detail'); + $result = OaWorkCommentLogic::detail($params); + return $this->data($result); + } + + +} \ No newline at end of file diff --git a/app/adminapi/lists/works/rcbg/OaWorkCommentLists.php b/app/adminapi/lists/works/rcbg/OaWorkCommentLists.php new file mode 100644 index 000000000..a97e3a29a --- /dev/null +++ b/app/adminapi/lists/works/rcbg/OaWorkCommentLists.php @@ -0,0 +1,82 @@ + ['work_id'] + ]; + } + + + /** + * @notes 获取工作汇报点评表列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function lists(): array + { + return OaWorkComment::where($this->searchWhere) + ->field(['id', 'work_id', 'admin_id', 'content']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function($data){ + $user = Admin::field('name,avatar')->where('id',$data['admin_id'])->findOrEmpty(); + $data['admin_name'] = $user['name']; + $data['admin_avatar'] = $user['avatar']; + }) + ->toArray(); + } + + + /** + * @notes 获取工作汇报点评表数量 + * @return int + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function count(): int + { + return OaWorkComment::where($this->searchWhere)->count(); + } + +} \ No newline at end of file diff --git a/app/adminapi/logic/works/rcbg/OaWorkCommentLogic.php b/app/adminapi/logic/works/rcbg/OaWorkCommentLogic.php new file mode 100644 index 000000000..1f6c88602 --- /dev/null +++ b/app/adminapi/logic/works/rcbg/OaWorkCommentLogic.php @@ -0,0 +1,109 @@ + $params['work_id'], + 'admin_id' => $admin_id, + 'content' => $params['content'] + ]); + + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑工作汇报点评表 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + OaWorkComment::where('id', $params['id'])->update([ + 'work_id' => $params['work_id'], + 'content' => $params['content'] + ]); + + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除工作汇报点评表 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public static function delete(array $params): bool + { + return OaWorkComment::destroy($params['id']); + } + + + /** + * @notes 获取工作汇报点评表详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public static function detail($params): array + { + return OaWorkComment::findOrEmpty($params['id'])->toArray(); + } +} \ No newline at end of file diff --git a/app/adminapi/logic/works/rcbg/OaWorkLogic.php b/app/adminapi/logic/works/rcbg/OaWorkLogic.php index 256c03857..53ed713c3 100644 --- a/app/adminapi/logic/works/rcbg/OaWorkLogic.php +++ b/app/adminapi/logic/works/rcbg/OaWorkLogic.php @@ -18,6 +18,7 @@ namespace app\adminapi\logic\works\rcbg; use app\common\model\auth\Admin; use app\common\model\works\rcbg\OaWork; use app\common\logic\BaseLogic; +use app\common\model\works\rcbg\OaWorkComment; use app\common\model\works\rcbg\OaWorkRecord; use think\facade\Db; @@ -117,6 +118,9 @@ class OaWorkLogic extends BaseLogic OaWorkRecord::destroy(function($query)use($params){ $query->where('wid','=',$params['id']); }); + OaWorkComment::destroy(function($query)use($params){ + $query->where('work_id','=',$params['id']); + }); Db::commit(); return true; } catch (\Exception $e) { diff --git a/app/adminapi/validate/works/rcbg/OaWorkCommentValidate.php b/app/adminapi/validate/works/rcbg/OaWorkCommentValidate.php new file mode 100644 index 000000000..0172fc82a --- /dev/null +++ b/app/adminapi/validate/works/rcbg/OaWorkCommentValidate.php @@ -0,0 +1,98 @@ + 'require', + 'work_id' => 'require', + 'content' => 'require' + ]; + + + /** + * 参数描述 + * @var string[] + */ + protected $field = [ + 'id' => 'id', + 'work_id' => '工作汇报id', + 'content' => '点评内容', + ]; + + + /** + * @notes 添加场景 + * @return OaWorkCommentValidate + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function sceneAdd() + { + return $this->only(['work_id','content']); + } + + + /** + * @notes 编辑场景 + * @return OaWorkCommentValidate + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function sceneEdit() + { + return $this->only(['id','work_id','content']); + } + + + /** + * @notes 删除场景 + * @return OaWorkCommentValidate + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function sceneDelete() + { + return $this->only(['id']); + } + + + /** + * @notes 详情场景 + * @return OaWorkCommentValidate + * @author likeadmin + * @date 2024/05/23 17:39 + */ + public function sceneDetail() + { + return $this->only(['id']); + } + +} \ No newline at end of file diff --git a/app/common/model/works/rcbg/OaWorkComment.php b/app/common/model/works/rcbg/OaWorkComment.php new file mode 100644 index 000000000..6fa9d0f46 --- /dev/null +++ b/app/common/model/works/rcbg/OaWorkComment.php @@ -0,0 +1,34 @@ +