From 5dd8c69376279d9e5e7a306ba226e8f74634c8a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8=E9=83=A8=E8=90=BD?= Date: Sun, 12 Apr 2020 23:09:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=B9=B6=E5=8F=91?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=AF=E8=83=BD=E4=BA=A7=E7=94=9F=E7=9A=84?= =?UTF-8?q?=E5=88=B7=E5=88=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- upload/source/class/class_task.php | 5 +---- upload/source/class/table/table_common_mytask.php | 4 ++++ upload/source/class/table/table_common_task.php | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/upload/source/class/class_task.php b/upload/source/class/class_task.php index d25b59aa9..c69e70f74 100644 --- a/upload/source/class/class_task.php +++ b/upload/source/class/class_task.php @@ -395,7 +395,7 @@ class task { if($result === TRUE) { - if($this->task['reward']) { + if($this->task['reward'] && C::t('common_mytask')->update_to_success($_G['uid'], $id, $_G['timestamp']) && C::t('common_task')->update_achievers($id, 1)) { $rewards = $this->reward(); $notification = $this->task['reward']; if($this->task['reward'] == 'magic') { @@ -427,9 +427,6 @@ class task { $taskclass->sufprocess($this->task); } - C::t('common_mytask')->update($_G['uid'], $id, array('status' => 1, 'csc' => 100, 'dateline' => $_G['timestamp'])); - C::t('common_task')->update_achievers($id, 1); - if($_G['inajax']) { $this->message('100', $this->task['reward'] ? 'task_reward_'.$this->task['reward'] : 'task_completed', array( 'creditbonus' => $_G['setting']['extcredits'][$this->task['prize']]['title'].' '.$this->task['bonus'].' '.$_G['setting']['extcredits'][$this->task['prize']]['unit'], diff --git a/upload/source/class/table/table_common_mytask.php b/upload/source/class/table/table_common_mytask.php index 0020d17af..ab82d6af0 100644 --- a/upload/source/class/table/table_common_mytask.php +++ b/upload/source/class/table/table_common_mytask.php @@ -64,6 +64,10 @@ class table_common_mytask extends discuz_table return DB::fetch_first("SELECT * FROM %t WHERE uid=%d AND taskid=%d", array($this->_table, $uid, $taskid)); } + public function update_to_success($uid, $taskid, $timestamp) { + return DB::query('UPDATE '.DB::table($this->_table)." SET status = '1', csc = '100', dateline = '".intval($timestamp)."' WHERE taskid = '".intval($taskid)."' AND uid = '".intval($uid)."' AND status != '1'"); + } + } ?> \ No newline at end of file diff --git a/upload/source/class/table/table_common_task.php b/upload/source/class/table/table_common_task.php index 4788cb201..264887727 100644 --- a/upload/source/class/table/table_common_task.php +++ b/upload/source/class/table/table_common_task.php @@ -49,7 +49,7 @@ class table_common_task extends discuz_table } public function update_achievers($taskid, $v) { - DB::query("UPDATE %t SET achievers=achievers+%s WHERE taskid=%d", array($this->_table, $v, $taskid)); + return DB::query("UPDATE %t SET achievers=achievers+%s WHERE taskid=%d", array($this->_table, $v, $taskid)); } public function update_available() { -- Gitee