From 42f805d7ccacc3e5bca5836eff84a7ed0c6702c8 Mon Sep 17 00:00:00 2001 From: weifashi <605403358@qq.com> Date: Fri, 21 Jul 2023 20:59:08 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A1.=E4=BB=AA=E8=A1=A8=E7=9B=98?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=8F=AF=E8=A7=81=E6=80=A7=E6=9C=89=E6=88=91?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E4=B8=8D=E6=98=AF=E6=88=91=E8=B4=9F=E8=B4=A3?= =?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E7=9A=84bug=20=EF=BC=8C2.=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E8=AF=84=E8=AE=BA=E9=97=B4=E8=B7=9D=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=8E=E5=8F=AF=E8=AF=84=E8=AE=BAemoj?= =?UTF-8?q?=E8=A1=A8=E6=83=85=E5=8A=A0=E8=AF=84=E8=AE=BA=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=20=EF=BC=8C3,=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E4=BA=A4=E9=9B=86?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=86=85=E4=BB=BB=E5=8A=A1=E8=B0=83=E6=95=B4?= =?UTF-8?q?=20=EF=BC=8C4.=20=E5=AE=A1=E6=89=B9=E6=B5=81=E7=A8=8B=E6=92=A4?= =?UTF-8?q?=E5=9B=9E=E5=90=8E=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D,=205.=20=E5=AE=A1=E6=89=B9=E6=B7=BB=E5=8A=A0=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E5=90=8E=E8=87=AA=E5=8A=A8=E6=BB=9A=E5=8A=A8=E5=88=B0?= =?UTF-8?q?=E4=B8=8B=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/ApproveController.php | 24 ++++++++++++++++++- .../Controllers/Api/ProjectController.php | 4 ++-- docker-compose.yml | 2 +- .../js/pages/manage/approve/details.vue | 22 +++++++++++++---- .../assets/js/pages/manage/approve/index.vue | 1 - resources/assets/js/pages/manage/calendar.vue | 2 +- .../pages/manage/components/ProjectPanel.vue | 2 +- resources/assets/js/store/getters.js | 4 ++-- resources/assets/sass/pages/page-approve.scss | 3 +-- resources/views/push/bot.blade.php | 12 ++++++++++ 10 files changed, 60 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/Api/ApproveController.php b/app/Http/Controllers/Api/ApproveController.php index d0c408515..35f871fd2 100755 --- a/app/Http/Controllers/Api/ApproveController.php +++ b/app/Http/Controllers/Api/ApproveController.php @@ -190,12 +190,25 @@ class ApproveController extends AbstractController $data['userid'] = (string)$user->userid; $data['content'] = Request::input('content'); //内容+图片 + $processInst = $this->getProcessById($data['proc_inst_id']); + $ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/addGlobalComment', json_encode(Base::arrayKeyToCamel($data))); $process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true); if (!$process || $process['status'] != 200) { return Base::retError($process['message'] ?? '添加失败'); } - // + + // 推送通知 + $botUser = User::botGetOrCreate('approval-alert'); + foreach ( $processInst['userids'] as $id) { + if($id != $user->userid){ + $dialog = WebSocketDialog::checkUserDialog($botUser, $id); + $processInst['comment_user_id'] = $user->userid; + $processInst['comment_content'] = json_decode($data['content'],true)['content']; + $this->approveMsg('approve_comment_notifier', $dialog, $botUser, $processInst, $processInst); + } + } + $res = Base::arrayKeyToUnderline($process['data']); return Base::retSuccess('success', $res); } @@ -958,6 +971,8 @@ class ApproveController extends AbstractController 'type' => $process['var']['type'], 'start_time' => $process['var']['start_time'], 'end_time' => $process['var']['end_time'], + 'comment_nickname' => $process['comment_user_id'] ? User::userid2nickname($process['comment_user_id']) : '', + 'comment_content' => $process['comment_content'] ?? '' ]; $text = view('push.bot', ['type' => $type, 'action' => $action, 'is_finished' => $process['is_finished'], 'data' => (object)$data])->render(); $text = preg_replace("/^\x20+/", "", $text); @@ -1011,6 +1026,7 @@ class ApproveController extends AbstractController } // $res = Base::arrayKeyToUnderline($process['data']); + $res['userids'] = []; foreach ($res['node_infos'] as &$val) { if (isset($val['node_user_list'])) { $node = $val['node_user_list']; @@ -1020,10 +1036,12 @@ class ApproveController extends AbstractController continue; } $val['node_user_list'][$k]['userimg'] = User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname); + $res['userids'][] = $item['target_id']; } }else if($val['aprover_id']){ $info = User::whereUserid($val['aprover_id'])->first(); $val['userimg'] = $info ? User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname) : ''; + $res['userids'][] = $val['aprover_id']; } } // 全局评论 @@ -1039,6 +1057,10 @@ class ApproveController extends AbstractController } $info = User::whereUserid($res['start_user_id'])->first(); $res['userimg'] = $info ? User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname) : ''; + // + $res['userids'][] = $info->userid; + $res['userids'] = array_unique($res['userids']); + // return $res; } diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index 613177483..91bbf462b 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -1079,8 +1079,8 @@ class ProjectController extends AbstractController $timerange = explode(',', $timerange); } if (Base::isDateOrTime($timerange[0]) && Base::isDateOrTime($timerange[1])) { - $query->where('project_tasks.start_at', '>=', Carbon::parse($timerange[0])->startOfDay()); - $query->where('project_tasks.end_at', '<=', Carbon::parse($timerange[1])->endOfDay()); + $query->where('project_tasks.start_at', '<=', Carbon::parse($timerange[1])->endOfDay()); + $query->where('project_tasks.end_at', '>=', Carbon::parse($timerange[0])->startOfDay()); } }) ->when(!empty($taskid), function ($query) use ($taskid) { diff --git a/docker-compose.yml b/docker-compose.yml index 8e656f032..b89aba407 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -150,7 +150,7 @@ services: approve: container_name: "dootask-approve-${APP_ID}" - image: "hitosea2020/go-approve:latest" + image: "hitosea2020/go-approve:0.1.1" environment: TZ: "Asia/Shanghai" MYSQL_HOST: "${DB_HOST}" diff --git a/resources/assets/js/pages/manage/approve/details.vue b/resources/assets/js/pages/manage/approve/details.vue index 1f9616fc6..b2fd8c984 100644 --- a/resources/assets/js/pages/manage/approve/details.vue +++ b/resources/assets/js/pages/manage/approve/details.vue @@ -1,6 +1,6 @@