where(['reward_type' => $rewardType])->first(['reward', 'is_add_up']); if (empty($info)) { return []; } $reward = json_decode($info->reward, true); $res['is_add_up'] = $info->is_add_up; $res['reward']['movie'] = 0; foreach ($reward as $key => $val) { if ($val != 0) { $res['reward'][$key] = $val; } } return $res; } /** * 发放奖励 * * @param $rewardInfo * @param $userId * @param $rewardWay */ public function sentTaskReward($rewardInfo, $userId, $rewardWay) { $setData = [ 'uid' => $userId, 'is_add_up' => $rewardInfo['is_add_up'], 'date' => date('Y-m-d'), $setData['reward_way'] = $rewardWay, ]; $userModel = new UserModel(); $awarkLogModel = new TaskAwarkLogModel(); foreach ($rewardInfo['reward'] as $k => $v) { $setData['reward'] = $v; switch ($k) { case 'movie': $setData['reward_type'] = TaskAwarkLogModel::REWARD_TYPE_MOVIE_CONUT; $userModel->increment('max_view', $v); break; case 'house': $setData['reward_type'] = TaskAwarkLogModel::REWARD_TYPE_OPEN_HOUSE_COUNT; $userModel->increment('max_apen_house', $v); break; case 'comment': $setData['reward_type'] = TaskAwarkLogModel::REWARD_TYPE_COMMENT_COUNT; $userModel->increment('max_comment', $v); break; case 'coin': $setData['reward_type'] = TaskAwarkLogModel::REWARD_TYPE_COIN; $userModel->increment('coins', $v); break; } //插入日志 $awarkLogModel->create($setData); } } }