state($where); if ($data) { foreach ($data as $k => $v) { $update['where_id'] = $v['id']; $update['score_status'] = 2; Dever::db('task/user_report')->update($update); $this->updateUserScore($v['uid'], $v['score']); $this->updateScoreLog($v['uid'], $v['score'], 4, 2, $v['task_id'], $v['id']); $this->group($v['uid'], $v['group_score'], $v['task_id'], $v['id']); } } return 'yes'; } /** * 兑现审核完成后的操作 * * @return mixed */ public function cash_commit() { # 成功 $where['status'] = 3; $where['cron'] = 1; $data = Dever::db('task/user_cash')->state($where); if ($data) { foreach ($data as $k => $v) { $update['where_id'] = $v['id']; $update['cron'] = 2; Dever::db('task/user_cash')->update($update); $this->updateScoreLog($v['uid'], $v['score'], 2, 1, -1, -1, $v['type'], $v['cash'], $v['cdate']); } } # 失败 $where['status'] = 4; $where['cron'] = 1; $data = Dever::db('task/user_cash')->state($where); if ($data) { foreach ($data as $k => $v) { $update['where_id'] = $v['id']; $update['cron'] = 2; Dever::db('task/user_cash')->update($update); # 失败了就把积分再加回去吧 $this->updateUserScore($v['uid'], $v['score']); $this->updateScoreLog($v['uid'], $v['score'], 3, 1, -1, -1, $v['type'], $v['cash'], $v['cdate'], $v['status_desc']); # 记录日志 $insert = array(); $insert['type'] = 3; $insert['status'] = 1; $insert['cash_type'] = $v['type']; $insert['cash'] = $v['cash']; $insert['score'] = $v['score']; $insert['uid'] = $v['uid']; $insert['cash_date'] = $v['cdate']; Dever::db('task/user_score_log')->insert($insert); } } return 'yes'; } /** * 寻找这个用户的上线 给上线带来收益 * * @return mixed */ private function group($uid, $score, $task_id, $report_id) { $group_member = Dever::db('task/user_group_member')->one(array('uid' => $uid)); if ($group_member) { $group_info = Dever::db('task/user_group')->one($group_member['group_id']); if ($group_info && $group_info['state'] == 1 && $group_info['uid'] > 0 && $group_info['uid'] != $uid) { $this->updateUserScore($group_info['uid'], $score); $this->updateScoreLog($group_info['uid'], $score, 5, 2, $task_id, $report_id); } } } /** * 更新用户积分数量 * * @return mixed */ private function updateUserScore($uid, $score) { $update['where_uid'] = $uid; $update['score'] = $score; Dever::db('task/user_score')->updateScore($update); } /** * 日志记录 * * @return mixed */ private function updateScoreLog($uid, $score, $type, $status, $task_id = -1, $report_id = -1, $cash_type = 1, $cash = 0, $cash_date = 0, $type_desc = '') { $insert = array(); $insert['type'] = $type; $insert['status'] = $status; $insert['score'] = $score; $insert['uid'] = $uid; $insert['task_id'] = $task_id; $insert['report_id'] = $report_id; $insert['cash_type'] = $cash_type; $insert['cash'] = $cash; if ($cash_date) { $insert['cash_date'] = $cash_date; } $insert['type_desc'] = $type_desc; Dever::db('task/user_score_log')->insert($insert); } }