From 88d8be3908fd8c62f784bf6f33c1915820c9ba07 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Tue, 3 Mar 2020 17:48:42 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E5=AF=BC=E5=85=A5=E6=88=90=E5=91=98=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/common/Model/DepartmentMember.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/application/common/Model/DepartmentMember.php b/application/common/Model/DepartmentMember.php index 99fdc33..20249e3 100644 --- a/application/common/Model/DepartmentMember.php +++ b/application/common/Model/DepartmentMember.php @@ -146,6 +146,12 @@ class DepartmentMember extends CommonModel } } else { $memberAccount = MemberAccount::where(['member_code' => $member['code'], 'organization_code' => $organizationCode])->find(); + if (!$memberAccount) { + $memberAccount = MemberAccount::inviteMember($member['code'], $organizationCode, $position, $mobile, '', $description); + if (!isError($memberAccount)) { + $count++; + } + } } if ($departments) { $departmentList = explode(';', $departments); @@ -168,6 +174,8 @@ class DepartmentMember extends CommonModel } catch (Exception $e) { return error(2, $e->getMessage()); } + }else{ + } } } From 826c9c4e79e9a05ad6a3c752d7447eb25f49e693 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Tue, 3 Mar 2020 21:11:53 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0-=E6=88=91?= =?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/common/Model/Task.php | 24 ++++++++++++++++++++++-- application/project/controller/Task.php | 5 ++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/application/common/Model/Task.php b/application/common/Model/Task.php index 53ff405..c30745f 100644 --- a/application/common/Model/Task.php +++ b/application/common/Model/Task.php @@ -481,7 +481,16 @@ class Task extends CommonModel return false; } - public function getMemberTasks($memberCode = '', $done = 0, $page = 1, $pageSize = 10) + /** + * 成员任务 + * @param string $memberCode + * @param int $done + * @param int $taskType 搜索类型 1-我执行的 2-我参与的 3-我创建的 + * @param int $page + * @param int $pageSize + * @return array + */ + public function getMemberTasks($memberCode = '', $done = 0, $taskType = 1, $page = 1, $pageSize = 10) { if (!$memberCode) { $memberCode = getCurrentMember()['code']; @@ -496,7 +505,18 @@ class Task extends CommonModel if ($done != -1) { $doneSql = " and t.done = {$done}"; } - $sql = "select *,t.id as id,t.name as name,t.code as code,t.create_time as create_time,t.end_time,t.begin_time from {$prefix}task as t join {$prefix}project as p on t.project_code = p.code where t.deleted = 0 {$doneSql} and t.assign_to = '{$memberCode}' and p.deleted = 0 order by t.id desc"; + //我执行的 + if ($taskType == 1) { + $sql = "select *,t.id as id,t.name as name,t.code as code,t.create_time as create_time,t.end_time,t.begin_time from {$prefix}task as t join {$prefix}project as p on t.project_code = p.code where t.deleted = 0 {$doneSql} and t.assign_to = '{$memberCode}' and p.deleted = 0 order by t.id desc"; + } + //我参与的 + if ($taskType == 2) { + $sql = "select *,t.id as id,t.name as name,t.code as code,t.create_time as create_time,t.end_time,t.begin_time from {$prefix}task as t join {$prefix}project as p on t.project_code = p.code left join {$prefix}task_member as tm on tm.task_code = t.code where t.deleted = 0 {$doneSql} and tm.member_code = '{$memberCode}' and p.deleted = 0 order by t.id desc"; + } + //我创建的 + if ($taskType == 3) { + $sql = "select *,t.id as id,t.name as name,t.code as code,t.create_time as create_time,t.end_time,t.begin_time from {$prefix}task as t join {$prefix}project as p on t.project_code = p.code where t.deleted = 0 {$doneSql} and t.create_by = '{$memberCode}' and p.deleted = 0 order by t.id desc"; + } $total = Db::query($sql); $total = count($total); $sql .= " limit {$offset},{$limit}"; diff --git a/application/project/controller/Task.php b/application/project/controller/Task.php index f28f052..4b1001d 100644 --- a/application/project/controller/Task.php +++ b/application/project/controller/Task.php @@ -77,6 +77,7 @@ class Task extends BasicApi */ public function selfList() { + $taskType = Request::post('taskType', 1); $type = Request::post('type', 0); $memberCode = Request::post('memberCode', ''); if (!$memberCode) { @@ -89,9 +90,11 @@ class Task extends BasicApi $done = 0; } $type == -1 && $done = $type; - $list = $this->model->getMemberTasks($member['code'], $done, Request::post('page'), Request::post('pageSize')); + $list = $this->model->getMemberTasks($member['code'], $done, $taskType, Request::post('page'), Request::post('pageSize')); + $status = [0 => '普通', 1 => '紧急', 2 => '非常紧急']; if ($list['list']) { foreach ($list['list'] as &$task) { + $task['priText'] = $status[$task['pri']]; $task['executor'] = Member::where(['code' => $task['assign_to']])->field('name,avatar')->find(); $task['projectInfo'] = \app\common\Model\Project::where(['code' => $task['project_code']])->field('name,code')->find(); } From 903fb7e276d50b3b65b13d7c0a4f19ac5424e0b3 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Tue, 3 Mar 2020 22:14:52 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0-=E6=88=91?= =?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/common/Model/Task.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/common/Model/Task.php b/application/common/Model/Task.php index c30745f..13626ab 100644 --- a/application/common/Model/Task.php +++ b/application/common/Model/Task.php @@ -498,7 +498,7 @@ class Task extends CommonModel if ($page < 1) { $page = 1; } - $offset = ($page - 1) * $page; + $offset = ($page - 1) * $pageSize; $limit = $pageSize; $prefix = config('database.prefix'); $doneSql = ''; From 893449ab6c04f7f896992909b8f9a245cb02ab58 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Wed, 4 Mar 2020 09:52:58 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/common/Model/Task.php | 13 ++++++++++++- application/project/behavior/Task.php | 4 ++++ application/project/controller/Task.php | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/application/common/Model/Task.php b/application/common/Model/Task.php index 13626ab..772bd86 100644 --- a/application/common/Model/Task.php +++ b/application/common/Model/Task.php @@ -19,7 +19,7 @@ use think\facade\Hook; */ class Task extends CommonModel { - protected $append = ['priText', 'liked', 'stared', 'tags', 'childCount', 'hasUnDone', 'parentDone', 'hasComment', 'hasSource', 'canRead']; + protected $append = ['priText','statusText', 'liked', 'stared', 'tags', 'childCount', 'hasUnDone', 'parentDone', 'hasComment', 'hasSource', 'canRead']; public function read($code) { @@ -112,6 +112,9 @@ class Task extends CommonModel if (isset($data['pri'])) { $type = 'pri'; } + if (isset($data['status'])) { + $type = 'status'; + } if (isset($data['begin_time'])) { $type = 'setBeginTime'; if (!$data['begin_time']) { @@ -720,6 +723,14 @@ class Task extends CommonModel $status = [0 => '普通', 1 => '紧急', 2 => '非常紧急']; return $status[$data['pri']]; } + public function getStatusTextAttr($value, $data) + { + if (!isset($data['status'])) { + $data['status'] = 0; + } + $status = [0 => '未开始', 1 => '已完成', 2 => '进行中', 3 => '挂起', 4 => '测试中']; + return $status[$data['status']]; + } /** * 标签 diff --git a/application/project/behavior/Task.php b/application/project/behavior/Task.php index 0174c10..5a82552 100644 --- a/application/project/behavior/Task.php +++ b/application/project/behavior/Task.php @@ -118,6 +118,10 @@ class Task $icon = 'user'; $remark = '更新任务优先级为 ' . $task['priText']; break; + case 'status': + $icon = 'deployment-unit'; + $remark = '修改执行状态为 ' . $task['statusText']; + break; case 'removeExecutor': $icon = 'user-delete'; $remark = '移除了执行者 '; diff --git a/application/project/controller/Task.php b/application/project/controller/Task.php index 4b1001d..4d6ce8e 100644 --- a/application/project/controller/Task.php +++ b/application/project/controller/Task.php @@ -294,7 +294,7 @@ class Task extends BasicApi */ public function edit(Request $request) { - $data = $request::only('name,sort,end_time,begin_time,pri,description,work_time'); + $data = $request::only('name,sort,end_time,begin_time,pri,description,work_time,status'); $code = $request::post('taskCode'); if (!$code) { $this->error("请选择一个任务"); From cec4cf50243066d7cc5334ba83f6e36add6cfe78 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Wed, 4 Mar 2020 10:42:51 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/common/Model/TaskStages.php | 9 ++++++--- application/project/controller/TaskStages.php | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/application/common/Model/TaskStages.php b/application/common/Model/TaskStages.php index b8f2e35..379e120 100644 --- a/application/common/Model/TaskStages.php +++ b/application/common/Model/TaskStages.php @@ -34,7 +34,7 @@ class TaskStages extends CommonModel * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ - public function tasks($stageCode, $deleted = 0, $done = -1, $title = '', $pri = [], $executor = [], $creator = [], $joiner = [], $endTime = [], $beginTime = [], $createTime = [], $doneTime = []) + public function tasks($stageCode, $deleted = 0, $done = -1, $title = '', $pri = [], $executor = [], $creator = [], $joiner = [], $status = [], $endTime = [], $beginTime = [], $createTime = [], $doneTime = []) { $where = ['pcode' => '', 'deleted' => $deleted]; if ($done != -1) { @@ -43,7 +43,7 @@ class TaskStages extends CommonModel $taskModel = Task::alias('t')->where($where); if (is_array($stageCode)) { $taskModel = $taskModel->whereIn('t.stage_code', $stageCode); - }else{ + } else { $taskModel = $taskModel->where('t.stage_code', $stageCode); } if ($title) { @@ -52,6 +52,9 @@ class TaskStages extends CommonModel if ($pri) { $taskModel = $taskModel->whereIn('t.pri', $pri); } + if ($status) { + $taskModel = $taskModel->whereIn('t.status', $status); + } if ($endTime) { $taskModel = $taskModel->whereBetween('t.end_time', implode(',', $endTime)); } @@ -62,7 +65,7 @@ class TaskStages extends CommonModel $taskModel = $taskModel->whereBetween('t.create_time', implode(',', $createTime)); } if ($doneTime) { - $taskModel = $taskModel->leftJoin('project_log pl', 't.code = pl.source_code')->where(['pl.action_type'=> 'task', 'pl.type' => 'done'])->whereBetween('pl.create_time', $doneTime); + $taskModel = $taskModel->leftJoin('project_log pl', 't.code = pl.source_code')->where(['pl.action_type' => 'task', 'pl.type' => 'done'])->whereBetween('pl.create_time', $doneTime); } //todo 查询范围问题 $joinTaskMember = false; diff --git a/application/project/controller/TaskStages.php b/application/project/controller/TaskStages.php index 7d5cecf..2db7a27 100644 --- a/application/project/controller/TaskStages.php +++ b/application/project/controller/TaskStages.php @@ -69,6 +69,7 @@ class TaskStages extends BasicApi $done = Request::param('done', -1); $title = Request::param('title', ''); $pri = json_decode(Request::post('pri', '')); + $status = json_decode(Request::post('status', '')); $stage = json_decode(Request::post('stage', '')); $executor = json_decode(Request::post('executor', '')); $creator = json_decode(Request::post('creator', '')); @@ -81,7 +82,7 @@ class TaskStages extends BasicApi $this->error("数据解析异常"); } $where[] = ['stage_code', '=', $code]; - $list = $this->model->tasks($code, 0, $done, $title, $pri, $executor, $creator, $joiner, $endTime, $beginTime, $createTime, $doneTime); + $list = $this->model->tasks($code, 0, $done, $title, $pri, $executor, $creator, $joiner, $status, $endTime, $beginTime, $createTime, $doneTime); // $list = \app\common\Model\Task::alias('t')->join('member m','t.assign_to = m.code')->field()->where(['stage_code'=>$code])->select(); $this->success('', $list); From 2db6337e0c535c8ab2063a97fae757428e099cb3 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Fri, 6 Mar 2020 11:54:18 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- thinkphp/library/think/session/driver/Redis.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thinkphp/library/think/session/driver/Redis.php b/thinkphp/library/think/session/driver/Redis.php index 646700b..5a0e7bc 100644 --- a/thinkphp/library/think/session/driver/Redis.php +++ b/thinkphp/library/think/session/driver/Redis.php @@ -124,7 +124,7 @@ class Redis implements SessionHandlerInterface */ public function destroy($sessID) { - return $this->handler->delete($this->config['session_name'] . $sessID) > 0; + return $this->handler->del($this->config['session_name'] . $sessID) > 0; } /** From 24e0b789b4bbc65152cb5fed0e0232c28c8c7dde Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Fri, 6 Mar 2020 12:07:36 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0composer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- application/index/controller/Oauth.php | 1 - composer.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/application/index/controller/Oauth.php b/application/index/controller/Oauth.php index 4280b0b..8c02692 100644 --- a/application/index/controller/Oauth.php +++ b/application/index/controller/Oauth.php @@ -16,7 +16,6 @@ use Symfony\Component\HttpFoundation\RedirectResponse; use think\db\exception\DataNotFoundException; use think\db\exception\ModelNotFoundException; use think\exception\DbException; -use think\facade\Log; use think\facade\Request; use think\response\Redirect; diff --git a/composer.json b/composer.json index 6eed784..204d012 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "phpoffice/phpspreadsheet": "^1.5", "firebase/php-jwt": "^5.0", "phpmailer/phpmailer": "^6.0", - "mingyoung/dingtalk": "2.0", + "mingyoung/dingtalk": "^2.3.0", "zoujingli/ip2region": "^1.0" }, "autoload": { From 65619b7b388232277763c5c37d58d46935efc7cf Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Fri, 6 Mar 2020 12:08:57 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=87=B32.8.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vilson <545522390@qq.com> --- config/app.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/app.php b/config/app.php index aa4a303..a1ad078 100644 --- a/config/app.php +++ b/config/app.php @@ -6,7 +6,7 @@ return [ // 应用名称 'app_name' => 'pearProject', // 应用版本 - 'app_version' => '2.8.12', + 'app_version' => '2.8.13', // 应用地址 'app_host' => '', // 应用调试模式