/** * API:接受所有邮件 * * @access public * @param 无 * @return JsonView 响应json */ public function exeUpdateAllMail() { $requestParam = $this->getAllParameters(); Logger::debug('requestParam:' . print_r($requestParam, true)); $requestJsonParam = $this->getDecodedJsonRequest(); Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true)); $user_id = $requestParam['user_id']; $session_key = $requestParam['session_key']; $mailInfo = MailModel::getSystemMail($user_id); $userInfo = UserCache::getAllUserCache($user_id); if (!$userInfo) { $userInfo = UserAction::iniUserInfo($user_id); } if (!$mailInfo) { $messageArr['error'] = "没有系统邮件"; $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 0, "mail/update_all_mail"); } $price_type = $this->price_type; foreach ($mailInfo as $key => $value) { foreach ($price_type as $key2 => $value2) { if ($key2 == $value['n_item_type']) { $userInfo[$value2] = $userInfo[$value2] + $value['n_item_num']; if ($key2 == 4) { $n_thew = $userInfo[$value2]; } else { $newInfo[$value2] = $userInfo[$value2]; } if ($key2 == 1) { $n_coin = $n_coin + $value['n_item_num']; } if ($key2 == 3) { $n_soul = $n_soul + $value['n_item_num']; } } } } if ($n_thew) { $thewArr['n_thew'] = $n_thew; $thewArr['n_refresh_time'] = UserCache::getBykey($user_id, 'n_refresh_time'); if (!$thewArr['n_refresh_time']) { $userInfo = MailModel::getUserInfo($user_id); $thewArr['n_refresh_time'] = $userInfo['n_refresh_time']; } $getArr = UserAction::refreshThew($thewArr); if (!$getArr) { $res = CharacterModel::update($thewArr, array('n_id' => $user_id)); UserCache::setByKey($user_id, 'n_thew', $thewArr['n_thew']); UserCache::setByKey($user_id, 'n_refresh_time', $thewArr['n_refresh_time']); } else { $res = CharacterModel::update($getArr, array('n_id' => $user_id)); UserCache::setByKey($user_id, 'n_thew', $getArr['n_thew']); UserCache::setByKey($user_id, 'n_refresh_time', $getArr['n_refresh_time']); } } //任务成就统计 TaskAndAchieveAction::taskStatistic($user_id, array('reward' => $n_coin)); //TaskAndAchieveAction::taskStatistic($user_id,array('soul'=>$n_soul)); TaskAndAchieveAction::achieveStatistic($user_id, array('soul' => $n_soul)); $res = MailModel::update(array('n_type' => 0), array('n_receive_id' => $user_id)); $res = CharacterModel::update($newInfo, array('n_id' => $user_id)); foreach ($newInfo as $key => $value) { UserCache::setByKey($user_id, $key, $value); } foreach ($price_type as $key => $value) { $moneyArr[$value] = UserCache::getByKey($user_id, $value); if (!$moneyArr[$value]) { $userInfo = MailModel::getUserInfo($user_id); $moneyArr[$value] = $userInfo[$value]; } } $messageArr['moneyInfo'] = $moneyArr; //任务成就界面 $messageArr['achieveInfo'] = TaskAndAchieveAction::getAchieveInfo($user_id); $messageArr['taskInfo'] = TaskAndAchieveAction::getTaskInfo($user_id); $messageArr['friend_mail'] = MailModel::getFriendMail($user_id); $messageArr['system_mail'] = MailModel::getSystemMail($user_id); $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 1, "mail/update_all_mail"); }
public function getAction() { if (empty($_SERVER['HTTP_X_REQUESTED_WITH'])) { error404(); } $model = new MailModel(); $hash = post('__hash'); $dialog = getSession($hash); $messages = ''; if (!$dialog['did']) { $response['error'] = 'There is no dialogue'; echo json_encode($response); exit; } $data['countMsg' . $dialog['pos']] = '0'; $model->update('dialog', $data, "`id` = '" . $dialog['did'] . "'"); $lastMessageID = getSession('mail_last_message' . $dialog['did'], false); $mailList = $model->getMessages($dialog['did'], 'ASC', $lastMessageID); if ($mailList) { foreach ($mailList as $value) { //$objVal = (object)$value; $messages .= '<div class="chat_message">' . '<div class="chat_img"><a href="' . url($value['uid']) . '" target="_blank"><img src="' . getAvatar($value['uid'], 's') . '"></a></div>' . '<div class="chat_text">' . '<div><span class="chat_nickname">' . $value['name'] . '</span> <span class="chat_time">' . printTime($value['time']) . '</span></div>' . '<div>' . $value['message'] . '</div>' . '</div>' . '</div>'; setSession('mail_last_message' . $dialog['did'], $value['id']); } } unset($chatList); $response['error'] = 0; $response['target_a']['#dialog'] = $messages; echo json_encode($response); exit; }