public function actionLunjian() { $section = $_REQUEST['sec']; if (empty($section)) { die("需要分区参数sec"); } return model_PVPUtil::createLunjian($section); }
public function action_replace_lunjian() { $section = $this->get_param('sec'); $rank = $this->get_param('rank'); if (!$section || !$rank) { throw new Exception("section = {$section} ; rank = {$rank} error"); return; } $redis = DbConfig::getRedis('lunjian'); $now = time(); echo "******* section = {$section} *******\n"; $rank_key = model_PVPUtil::getLunjianListID($section); $rank_max_key = model_PVPUtil::getLunjianMaxUserID($section); $uid = $redis->hget($rank_key, $rank); // rank->uid $user_info_key = model_PVPUtil::getLunjianUserID($section, $uid); $udata = $redis->hgetall($user_info_key); $rank_max_key = model_PVPUtil::getLunjianMaxUserID($section); $total = $redis->hget($rank_max_key, 'max'); $fill_id = $redis->hget($rank_max_key, 'npc_max'); if (!$fill_id) { $fill_id = 0; } echo "fill id = {$fill_id} ,total = {$total}\n"; if ($udata['rank'] !== $rank) { echo "uid : {$uid} => rank = {$rank}, rank[in user info] = {$udata['rank']}\n"; var_dump($udata['rank']); var_dump($rank); var_dump($udata['rank'] !== $rank); return; } $redis->del($user_info_key); $uid_new = "npc." . $fill_id++; echo "uid new = {$uid_new}\n"; $redis->hset($rank_key, $rank, $uid_new); $uid_new_renwuname = model_Util::randomName(); $renwutag_conf = PL_Config_Numeric::get('lunjian-npc-rule'); $renwu_ranks = array_keys($renwutag_conf); array_push($renwu_ranks, $rank); sort($renwu_ranks); $index = min(array_search($rank, $renwu_ranks), count($renwu_ranks)); $index = max(0, $index - 1); $renwutag = $renwutag_conf[$renwu_ranks[$index]]['renwutag']; $uid_new_info = array('rank' => $rank, 'rank_t' => $now, 'name' => $uid_new_renwuname, 'renwutag' => $renwutag); echo "info new = \n"; print_r($uid_new_info); $new_user_info_key = model_PVPUtil::getLunjianUserID($section, $uid_new); echo "new user info key = {$new_user_info_key}\n"; $redis->hmset($new_user_info_key, $uid_new_info); $redis->hset($rank_max_key, 'npc_max', $fill_id); }