/** * actionRefreshOperations * * @param int $id - task id */ public function actionRefreshOperations($id) { UserOperation::updateData(); // Reset cache UserCache::model()->updateAll(array('status' => 0)); $this->redirect(array('view', 'id' => $id)); }
/** * actionView * * @param int $id */ public function actionView($id) { $model = $this->loadModel($id); // Fill taskIds for checkBoxList foreach ($model->tasks as $task) { $model->taskIds[] = $task->id; } if (isset($_POST['UserRole']['taskIds'])) { UserRoleHasUserTask::model()->deleteAllByAttributes(array('user_role_id' => $id)); // Reset cache UserCache::model()->updateAll(array('status' => 0)); if (is_array($_POST['UserRole']['taskIds'])) { foreach ($_POST['UserRole']['taskIds'] as $taskId) { $newTask = new UserRoleHasUserTask(); $newTask->user_role_id = $id; $newTask->user_task_id = $taskId; $newTask->save(false); } } Yii::app()->user->setFlash('taskSaved', 'aga'); $this->redirect(array('view', 'id' => $id)); } $this->render('view', compact('model')); }
/** * _checkCache * * Get agailiable routes from cache (or UserCache model) * * @param boolean $forGuest * * @return array / CActiveRecord */ private function _checkCache($forGuest = false) { if ($forGuest) { $userCache = UserCache::model()->find('is_guest = 1'); } else { $user = User::model()->active()->with('cache')->findByPk((int) Yii::app()->user->id); // If no user (let's say he's been banned during session) // then return empty array - no allowed routes if (!$user) { return array(); } $userCache = $user->cache; } // No cache if (!$userCache) { $cache = new UserCache(); if (!$forGuest) { $cache->user_id = $user->id; } return $cache; } elseif ($userCache->status == 0) { return $userCache; } elseif ($userCache->update_time < time() - Yii::app()->getModule('UserAdmin')->cache_time) { return $userCache; } else { return unserialize($userCache->routes); } }
/** * afterDelete * * Reset cache */ protected function afterDelete() { UserCache::model()->updateAll(array('status' => 0)); }
/** * * @param type $data * @return string * 参数传入user用户实体,keyword关键字 */ public static function faFastBiao($data = array()) { $user = $data['user']; #没有绑定的帐号 if (!$user) { return '没有绑定帐号,请先绑定帐号.'; } #已经绑定的帐号 $keyword = $data['keyword']; $fitkeyword = substr($keyword, 2); $thefitkeyword = strtolower($fitkeyword); $thefitkeyword = trim($thefitkeyword); $fastfabiaostatus = UserCache::model()->find("user_id=:user_id", array(":user_id" => $user->user_id)); switch ($thefitkeyword) { case 'ed': #发标频率限制 $timelimit = Yii::app()->cache->get("userfastfabiaolimit_" . $user->user_id); #$timelimit=false; if (!empty($timelimit)) { return '查询过于频率,请在5秒钟后再次查询。'; } else { Yii::app()->cache->set("userfastfabiaolimit_" . $user->user_id, 1, 5); } $credits = FastSettingService::checkUserEd($user->user_id); $returnstring = "净值额度为:" . $credits['newworth'] . "\n"; $returnstring .= "信用额度为:" . $credits['credit_use'] . "\n"; $returnstring .= "大额股标额度为:" . $credits['stock_credit_use'] . "\n"; return $returnstring; break; case 'k': if ($fastfabiaostatus->fabiao_status == 1) { return '快速发标已经开启,请直接回复F#编号发布对应借款标.'; } else { $result = UserCache::model()->updateByPk($fastfabiaostatus->id, array("fabiao_status" => 1)); if ($result) { #记录开启操作 $newfastsettinglog = new BorrowFastsettingLog(); $newfastsettinglog->setAttributes(array('user_id' => $fastfabiaostatus->user_id, 'borrow_setting_id' => 0, 'borrow_id' => 0, 'operate_status' => 4, 'remark' => '在微信端开启快速发标功能', 'content' => '开启发标功能', 'setting_end' => 2, 'addtime' => time(), 'addip' => Yii::app()->request->userHostAddress)); $newfastsettinglog->save(); return '快速发标已经开启,请直接回复F#编号发布对应借款标.'; } else { return '功能开启出错,请联系客服。'; } } break; case 'g': if ($fastfabiaostatus->fabiao_status == 0) { return '快速发标已经关闭。'; } $result = UserCache::model()->updateByPk($fastfabiaostatus->id, array("fabiao_status" => 0)); if ($result) { #记录开启操作 $newfastsettinglog = new BorrowFastsettingLog(); $newfastsettinglog->setAttributes(array('user_id' => $fastfabiaostatus->user_id, 'borrow_setting_id' => 0, 'borrow_id' => 0, 'operate_status' => 5, 'remark' => '在微信端关闭快速发标功能', 'content' => '关闭发标功能', 'setting_end' => 2, 'addtime' => time(), 'addip' => Yii::app()->request->userHostAddress)); $newfastsettinglog->save(); return '快速发标功能已关闭。'; } else { return '快速功能关闭失败。'; } break; default: #发标频率限制 $timelimit = Yii::app()->cache->get("userfastfabiaolimit_" . $user->user_id); #$timelimit=false; if (!empty($timelimit)) { return '发标过于频率,请在5秒钟后再次发标。'; } else { Yii::app()->cache->set("userfastfabiaolimit_" . $user->user_id, 1, 5); } $fastsetting = BorrowFastsetting::model()->find("user_id=:user_id and order_number=:order_number", array(':user_id' => $user->user_id, ':order_number' => $thefitkeyword)); if ($fastsetting) { $fabiaomsg = FastSettingService::faBiaoByFastSetting($user->user_id, $fastsetting->id, $thefitkeyword); return $fabiaomsg['msg']; } else { return '没有此命令或者发标编号,请确认操作。'; } break; } }