diff --git a/sql/gamedb.sql b/sql/gamedb.sql index c377f0c..95c12f9 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -202,6 +202,7 @@ CREATE TABLE `activity` ( `accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id', `free_times` int(11) NOT NULL DEFAULT '0' COMMENT '免费抽奖次数', `video_times` int(11) NOT NULL DEFAULT '0' COMMENT '视频抽奖次数', + `diamond_times` int(11) NOT NULL DEFAULT '0' COMMENT '钻石抽奖次数', `item_id` int(11) NOT NULL DEFAULT '0' COMMENT '物品id', `item_num` int(11) NOT NULL DEFAULT '0' COMMENT '物品数量', `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', diff --git a/webapp/bootstrap/init.php b/webapp/bootstrap/init.php index 97981e3..3d70462 100644 --- a/webapp/bootstrap/init.php +++ b/webapp/bootstrap/init.php @@ -1,6 +1,6 @@ getParameter(FREELOTTERY_TIME); $p_video = $this->getParameter(VIDEOLOTTERY_TIME); + $p_diamond = $this->getParameter(DIAMONDLOTTERY_TIME); $costlist = $this->getParameter(LOTTERY_COST); $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; $flush_flag = 0; $now_days = 1; $cur_cost = -1; - $row = $conn->execQueryOne('SELECT free_times, video_times, now_days, modify_time FROM activity WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT free_times, video_times, diamond_times, now_days, modify_time FROM activity WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { - $ret = $conn->execScript('INSERT INTO activity(accountid, free_times, video_times, item_id, item_num, create_time, modify_time, now_days) ' . - ' VALUES(:accountid, 0, 0, 0, 0, :create_time, :modify_time, 1) ' . - ' ON DUPLICATE KEY UPDATE accountid=:accountid, free_times=0, video_times=0, item_id=0, item_num=0, modify_time=:modify_time, now_days=1;', - array( - ':accountid' => $account_id, - ':create_time' => time(), - ':modify_time' => time() - )); + $ret = $conn->execScript( + 'INSERT INTO activity(accountid, free_times, video_times, diamond_times, item_id, item_num, create_time, modify_time, now_days) ' . + ' VALUES(:accountid, 0, 0, 0, 0, :create_time, :modify_time, 1) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, free_times=0, video_times=0, diamond_times=0, item_id=0, item_num=0, modify_time=:modify_time, now_days=1;', + array( + ':accountid' => $account_id, + ':create_time' => time(), + ':modify_time' => time() + ) + ); if (!$ret) { die(); return; @@ -215,73 +222,78 @@ class ActivityController{ $now_days = 1; $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; } else { $free_times = $p_free['value'] - $row['free_times']; $video_times = $p_video['value'] - $row['video_times']; + $diamond_times = $p_diamond['value'] - $row['diamond_times']; $now_days = $row['now_days']; //刷新抽奖活动奖励 if (phpcommon\getdayseconds(time()) - phpcommon\getdayseconds($row['modify_time']) > 0) { $flush_flag = 1; - $lottery_ret = $conn->execScript('UPDATE activity SET free_times=0, video_times=0, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':modify_time' => time(), - )); + $lottery_ret = $conn->execScript( + 'UPDATE activity SET free_times=0, video_times=0, diamond_times=0, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':modify_time' => time(), + ) + ); if (!$lottery_ret) { die(); return; } $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; + $now_days = 1; } } - $coststrs = explode("|", $costlist['value']); - $costlen = sizeof($coststrs); - $left = $free_times + $video_times; - if ($left > 0) { - if ($costlen >= $left) { - $cur_cost = $coststrs[$costlen - $left]; + if ($diamond_times > 0) { + $coststrs = explode("|", $costlist['value']); + $costlen = sizeof($coststrs); + if ($costlen >= $diamond_times) { + $cur_cost = $coststrs[$costlen - $diamond_times]; } else { $cur_cost = $coststrs[$costlen - 1]; } } - //道具物品 + //道具物品 $user_db_str = $r->get($draw_uuid); if (empty($user_db_str)) { - $draw_list = $this->randomNewReward(1,$account_id,$now_days); + $draw_list = $this->randomNewReward(1, $account_id, $now_days); $draw_db = array( 'draw_uuid' => $draw_uuid, 'draw_list' => $draw_list, ); - $r -> set($draw_uuid, json_encode($draw_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->set($draw_uuid, json_encode($draw_db)); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); } else { $draw_db = json_decode($user_db_str, true); if ($flush_flag == 1) { $user_db_str = $r->get($draw_uuid); - $draw_list = $this->randomNewReward(1,$account_id,$now_days); + $draw_list = $this->randomNewReward(1, $account_id, $now_days); $draw_db = json_decode($user_db_str, true); $draw_db = array( 'draw_uuid' => $draw_uuid, 'draw_list' => $draw_list, ); - $r -> set($draw_uuid, json_encode($draw_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->set($draw_uuid, json_encode($draw_db)); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); } else { $user_db_str = $r->get($draw_uuid); $user_db = json_decode($user_db_str, true); if (empty($user_db) || empty($user_db['draw_list'])) { $user_db_str = $r->get($draw_uuid); - $draw_list = $this->randomNewReward(1,$account_id,$now_days); + $draw_list = $this->randomNewReward(1, $account_id, $now_days); $draw_db = json_decode($user_db_str, true); $draw_db = array( 'draw_uuid' => $draw_uuid, 'draw_list' => $draw_list, ); - $r -> set($draw_uuid, json_encode($draw_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->set($draw_uuid, json_encode($draw_db)); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); } else { foreach ($user_db['draw_list'] as $draw) { $status = 0; @@ -301,10 +313,11 @@ class ActivityController{ } echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'draw_uuid' => $draw_uuid, 'free_times' => $free_times, 'video_times' => $video_times, + 'diamond_times' => $diamond_times, 'cur_price' => $cur_cost, 'item_list' => $draw_list, )); @@ -324,19 +337,22 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } - $row = $conn->execQueryOne('SELECT free_times, video_times, now_days FROM activity WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT free_times, video_times, diamond_times, now_days FROM activity WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } - + $p_free = $this->getParameter(FREELOTTERY_TIME); $p_video = $this->getParameter(VIDEOLOTTERY_TIME); + $p_diamond = $this->getParameter(DIAMONDLOTTERY_TIME); $costlist = $this->getParameter(LOTTERY_COST); - $left = $p_free['value'] + $p_video['value'] - $row['free_times'] - $row['video_times']; + $left = $p_free['value'] + $p_video['value'] + $p_diamond['value'] - $row['free_times'] - $row['video_times'] - $row['diamond_times']; if ($left < 1) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; @@ -355,23 +371,25 @@ class ActivityController{ $r = $this->getRedis($draw_uuid); $user_db_str = $r->get($draw_uuid); if (empty($user_db_str)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } $user_db = json_decode($user_db_str, true); if (empty($user_db)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } - if ($row['free_times'] + $row['video_times'] + 1 == 5) { + if ($row['free_times'] + $row['video_times'] + $row['diamond_times'] + 1 == 5) { $day = 1; - if (phpcommon\extractChannel($account_id) == 6001 || + if ( + phpcommon\extractChannel($account_id) == 6001 || phpcommon\extractChannel($account_id) == 6000 || - phpcommon\extractChannel($account_id) == 6006) { + phpcommon\extractChannel($account_id) == 6006 + ) { $day = $row['now_days']; } $g_conf_lot_cluster = require('../res/lottery@lottery.php'); - for($g = 1; $g <= count($g_conf_lot_cluster); $g++) { + for ($g = 1; $g <= count($g_conf_lot_cluster); $g++) { $l = $this->getLottery($g); if ($l['jilv'] == 0 && $l['day'] == $day) { array_push($lot_array, array( @@ -385,7 +403,7 @@ class ActivityController{ if (isset($draw['status']) && $draw['status'] != 0) { continue; } - array_push($lot_array,array( + array_push($lot_array, array( 'key' => $draw['key'] + 1, )); } @@ -426,51 +444,11 @@ class ActivityController{ } $r->set($draw_uuid, json_encode($user_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); if ($flag == 0) { phpcommon\sendError(ERR_USER_BASE + 3, '没有这个物品'); return; } - //扣钻石 - $cur_cost = 0; - $coststrs = explode("|", $costlist['value']); - $costlen = sizeof($coststrs); - if ($costlen >= $left) { - $cur_cost = intval($coststrs[$costlen - $left]); - } else if ($costlen > 0) { - $cur_cost = intval($coststrs[$costlen - 1]); - } - - if ($cur_cost > 0) { - $userrow = $conn->execQueryOne( - 'SELECT diamond_num, first_gift, free_coin, free_diamond FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - ) - ); - if (!$userrow) { - phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); - return; - } - //扣除钻石 - if ($userrow['diamond_num'] < $cur_cost) { - phpcommon\sendError(ERR_USER_BASE + 3, '钻石不足'); - return; - } - $ret = $conn->execScript( - 'UPDATE user SET diamond_num=:diamond_num, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':diamond_num' => $userrow['diamond_num'] - $cur_cost, - ':modify_time' => time() - ) - ); - if (!$ret) { - die(); - return; - } - } if ($_REQUEST['type'] == 0) { $p_flush = $this->getParameter(FREELOTTERY_TIME); @@ -478,50 +456,118 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); return; } - $ret = $conn->execScript('UPDATE activity SET free_times=:free_times, item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':free_times' => $row['free_times'] + 1, - ':item_id' => $item_id, - ':item_num' => $item_num, - ':modify_time' => time() - )); + $ret = $conn->execScript( + 'UPDATE activity SET free_times=:free_times, item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':free_times' => $row['free_times'] + 1, + ':item_id' => $item_id, + ':item_num' => $item_num, + ':modify_time' => time() + ) + ); if (!$ret) { die(); return; } } else if ($_REQUEST['type'] == 1) { $p_flush = $this->getParameter(VIDEOLOTTERY_TIME); - $now_days = $row['now_days']; if ($p_flush['value'] <= $row['video_times']) { phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); return; } - if ($p_flush['value'] == $row['video_times'] + 1) { - $last_conf = $this->getLottery(count($g_conf_lot_cluster)); - $now_days++; - if ($last_conf && $now_days >= $last_conf['day']) { - $now_days = $last_conf['day']; - } - if (!$now_days) { - $now_days = 1; - } - } - $ret = $conn->execScript('UPDATE activity SET video_times=:video_times,item_id=:item_id, item_num=:item_num, modify_time=:modify_time, now_days=:now_days ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':video_times' => $row['video_times'] + 1, - ':item_id' => $item_id, - ':item_num' => $item_num, - ':modify_time' => time(), - ':now_days' => $now_days - )); + + $ret = $conn->execScript( + 'UPDATE activity SET video_times=:video_times,item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':video_times' => $row['video_times'] + 1, + ':item_id' => $item_id, + ':item_num' => $item_num, + ':modify_time' => time() + ) + ); if (!$ret) { die(); return; } + } else if ($_REQUEST['type'] == 2) { + //扣钻石 + $cur_cost = 0; + $coststrs = explode("|", $costlist['value']); + $costlen = sizeof($coststrs); + if ($costlen >= $left) { + $cur_cost = intval($coststrs[$costlen - $left]); + } else if ($costlen > 0) { + $cur_cost = intval($coststrs[$costlen - 1]); + } + + if ($cur_cost > 0) { + $userrow = $conn->execQueryOne( + 'SELECT diamond_num, first_gift, free_coin, free_diamond FROM user WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); + if (!$userrow) { + phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); + return; + } + //扣除钻石 + if ($userrow['diamond_num'] < $cur_cost) { + phpcommon\sendError(ERR_USER_BASE + 3, '钻石不足'); + return; + } + $ret = $conn->execScript( + 'UPDATE user SET diamond_num=:diamond_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':diamond_num' => $userrow['diamond_num'] - $cur_cost, + ':modify_time' => time() + ) + ); + if (!$ret) { + die(); + return; + } + + $p_flush = $this->getParameter(DIAMONDLOTTERY_TIME); + $now_days = $row['now_days']; + if ($p_flush['value'] <= $row['diamond_times']) { + phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); + return; + } + if ($p_flush['value'] == $row['diamond_times'] + 1) { + $last_conf = $this->getLottery(count($g_conf_lot_cluster)); + $now_days++; + if ($last_conf && $now_days >= $last_conf['day']) { + $now_days = $last_conf['day']; + } + if (!$now_days) { + $now_days = 1; + } + } + + $ret = $conn->execScript( + 'UPDATE activity SET diamond_times=:diamond_times,item_id=:item_id, item_num=:item_num, modify_time=:modify_time, now_days=:now_days ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':diamond_times' => $row['diamond_times'] + 1, + ':item_id' => $item_id, + ':item_num' => $item_num, + ':modify_time' => time(), + ':now_days' => $now_days + ) + ); + if (!$ret) { + die(); + return; + } + } } else { die(); return; @@ -536,7 +582,7 @@ class ActivityController{ $quest = new classes\Quest(); $quest->triggerQuest(71004, 1, 1, $account_id); $quest->flushHolidayQuest(72004, 1, $account_id); - array_push($item_list,array( + array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $time @@ -544,7 +590,7 @@ class ActivityController{ echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'item_id' => $item_id, 'item_num' => $item_num, 'coin_nums' => $coin_num, @@ -581,23 +627,23 @@ class ActivityController{ //道具物品 //$user_db_str = $r->get($drawtable_uuid); - $drawtable_list = $this->randomReward(2,$account_id); + $drawtable_list = $this->randomReward(2, $account_id); $drawtable_db = array( 'drawtable_uuid' => $drawtable_uuid, 'drawtable_list' => $drawtable_list, ); - $r -> set($drawtable_uuid, json_encode($drawtable_db)); - $r -> pexpire($drawtable_uuid, 1000 * 3600 * 24); + $r->set($drawtable_uuid, json_encode($drawtable_db)); + $r->pexpire($drawtable_uuid, 1000 * 3600 * 24); echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'drawtable_uuid' => $drawtable_uuid, 'item_list' => $drawtable_list, )); } - public function luckDrawInfo() + private function luckDrawInfo() { $account_id = $_REQUEST['account_id']; //登录校验 @@ -623,75 +669,86 @@ class ActivityController{ //刷新次数 $p_free = $this->getParameter(FREELOTTERY_TIME); $p_video = $this->getParameter(VIDEOLOTTERY_TIME); + $p_diamond = $this->getParameter(DIAMONDLOTTERY_TIME); $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; $flush_flag = 0; - $row = $conn->execQueryOne('SELECT free_times, video_times, modify_time FROM activity WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT free_times, video_times, diamond_times, modify_time FROM activity WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { - $ret = $conn->execScript('INSERT INTO activity(accountid, free_times, video_times, item_id, item_num, create_time, modify_time) ' . - ' VALUES(:accountid, 0, 0, 0, 0, :create_time, :modify_time) ' . - ' ON DUPLICATE KEY UPDATE accountid=:accountid, free_times=0, video_times=0, item_id=0, item_num=0, modify_time=:modify_time;', - array( - ':accountid' => $account_id, - ':create_time' => time(), - ':modify_time' => time() - )); + $ret = $conn->execScript( + 'INSERT INTO activity(accountid, free_times, video_times, diamond_times, item_id, item_num, create_time, modify_time) ' . + ' VALUES(:accountid, 0, 0, 0, 0, 0, :create_time, :modify_time) ' . + ' ON DUPLICATE KEY UPDATE accountid=:accountid, free_times=0, video_times=0, diamond_times=0, item_id=0, item_num=0, modify_time=:modify_time;', + array( + ':accountid' => $account_id, + ':create_time' => time(), + ':modify_time' => time() + ) + ); if (!$ret) { die(); return; } $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; } else { $free_times = $p_free['value'] - $row['free_times']; $video_times = $p_video['value'] - $row['video_times']; + $diamond_times = $p_diamond['value'] - $row['diamond_times']; //刷新抽奖活动奖励 if (phpcommon\getdayseconds(time()) - phpcommon\getdayseconds($row['modify_time']) > 0) { $flush_flag = 1; - $lottery_ret = $conn->execScript('UPDATE activity SET free_times=0, video_times=0, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':modify_time' => time(), - )); + $lottery_ret = $conn->execScript( + 'UPDATE activity SET free_times=0, video_times=0, diamond_times=0, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':modify_time' => time(), + ) + ); if (!$lottery_ret) { die(); return; } $free_times = $p_free['value']; $video_times = $p_video['value']; + $diamond_times = $p_diamond['value']; } } //道具物品 $user_db_str = $r->get($draw_uuid); if (empty($user_db_str)) { - $draw_list = $this->randomReward(1,$account_id); + $draw_list = $this->randomReward(1, $account_id); $draw_db = array( 'draw_uuid' => $draw_uuid, 'draw_list' => $draw_list, ); - $r -> set($draw_uuid, json_encode($draw_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->set($draw_uuid, json_encode($draw_db)); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); } else { $draw_db = json_decode($user_db_str, true); if ($flush_flag == 1) { $user_db_str = $r->get($draw_uuid); - $draw_list = $this->randomReward(1,$account_id); + $draw_list = $this->randomReward(1, $account_id); $draw_db = json_decode($user_db_str, true); $draw_db = array( 'draw_uuid' => $draw_uuid, 'draw_list' => $draw_list, ); - $r -> set($draw_uuid, json_encode($draw_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->set($draw_uuid, json_encode($draw_db)); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); } else { $user_db_str = $r->get($draw_uuid); $user_db = json_decode($user_db_str, true); if (empty($user_db)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } @@ -712,18 +769,18 @@ class ActivityController{ } echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'draw_uuid' => $draw_uuid, 'free_times' => $free_times, 'video_times' => $video_times, + 'diamond_times' => $diamond_times, 'item_list' => $draw_list, )); - } - public function getDrawTable() + private function getDrawTable() { - $account_id = $_REQUEST['account_id']; + $account_id = $_REQUEST['account_id']; //登录校验 $login = loginVerify($account_id, $_REQUEST['session_id']); if (!$login) { @@ -761,12 +818,12 @@ class ActivityController{ $r = $this->getRedis($drawtable_uuid); $user_db_str = $r->get($drawtable_uuid); if (empty($user_db_str)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } $user_db = json_decode($user_db_str, true); if (empty($user_db)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } $quest = new classes\Quest(); @@ -785,31 +842,33 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 3, '没有这个物品'); return; } - $ret = $conn->execScript('UPDATE activity SET item_id=:item_id, item_num=:item_num ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':item_id' => $item_id, - ':item_num' => $item_num, - )); + $ret = $conn->execScript( + 'UPDATE activity SET item_id=:item_id, item_num=:item_num ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':item_id' => $item_id, + ':item_num' => $item_num, + ) + ); if (!$ret) { die(); return; } //增加奖励 $addreward = new classes\AddReward(); - $all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time,0); + $all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time, 0); $coin_num = $addreward->getCoinNum($account_id); $diamond_num = $addreward->getDiamondNum($account_id); $item_list = array(); - array_push($item_list,array( + array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $time, )); echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'coin_nums' => $coin_num, 'diamond_nums' => $diamond_num, 'item_list' => $item_list, @@ -831,10 +890,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } - $row = $conn->execQueryOne('SELECT free_times, video_times FROM activity WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT free_times, video_times, diamond_times FROM activity WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; @@ -852,27 +913,29 @@ class ActivityController{ $r = $this->getRedis($draw_uuid); $user_db_str = $r->get($draw_uuid); if (empty($user_db_str)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } $user_db = json_decode($user_db_str, true); if (empty($user_db)) { - phpcommon\sendError(ERR_USER_BASE + 1,'session失效'); + phpcommon\sendError(ERR_USER_BASE + 1, 'session失效'); return; } - if ($row['free_times'] + $row['video_times'] + 1 == 5) { + if ($row['free_times'] + $row['video_times'] + $row['diamond_times'] + 1 == 5) { $day = 1; - if (phpcommon\extractChannel($account_id) == DOUYIN_CHANNEL || + if ( + phpcommon\extractChannel($account_id) == DOUYIN_CHANNEL || phpcommon\extractChannel($account_id) == 6001 || - phpcommon\extractChannel($account_id) == 6000) { + phpcommon\extractChannel($account_id) == 6000 + ) { $day = date('w', time()); if ($day == 0) { $day = 7; } } $g_conf_lot_cluster = require('../res/lottery@lottery.php'); - for($g = 1; $g <= count($g_conf_lot_cluster); $g++) { + for ($g = 1; $g <= count($g_conf_lot_cluster); $g++) { $l = $this->getLottery($g); if ($l['jilv'] == 0 && $l['day'] == $day) { array_push($lot_array, array( @@ -890,7 +953,7 @@ class ActivityController{ } else { $key = $lot_array[1]['key']; } - } else if ($row['free_times'] + $row['video_times'] + 1 == 6) { + } else if ($row['free_times'] + $row['video_times'] + $row['diamond_times'] + 1 == 6) { foreach ($user_db['draw_list'] as $draw) { if (isset($draw['status']) && $draw['status'] != 0) { continue; @@ -905,7 +968,7 @@ class ActivityController{ continue; } - array_push($lot_array,array( + array_push($lot_array, array( 'key' => $draw['key'] + 1, )); } @@ -945,7 +1008,7 @@ class ActivityController{ } $r->set($draw_uuid, json_encode($user_db)); - $r -> pexpire($draw_uuid, 1000 * 3600 * 24); + $r->pexpire($draw_uuid, 1000 * 3600 * 24); if ($flag == 0) { phpcommon\sendError(ERR_USER_BASE + 3, '没有这个物品'); return; @@ -960,56 +1023,60 @@ class ActivityController{ $quest = new classes\Quest(); $quest->triggerQuest(71004, 1, 1, $account_id); $quest->flushHolidayQuest(72004, 1, $account_id); - array_push($item_list,array( + array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $time )); if ($_REQUEST['type'] == 0) { - $p_flush = $this->getParameter(FREELOTTERY_TIME); - if ($p_flush['value'] <= $row['free_times']) { - phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); - return; - } - $ret = $conn->execScript('UPDATE activity SET free_times=:free_times, item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':free_times' => $row['free_times'] + 1, - ':item_id' => $item_id, - ':item_num' => $item_num, - ':modify_time' => time() - )); - if (!$ret) { - die(); - return; - } + $p_flush = $this->getParameter(FREELOTTERY_TIME); + if ($p_flush['value'] <= $row['free_times']) { + phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); + return; } - if ($_REQUEST['type'] == 1) { - $p_flush = $this->getParameter(VIDEOLOTTERY_TIME); - if ($p_flush['value'] <= $row['video_times']) { - phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); - return; - } - $ret = $conn->execScript('UPDATE activity SET video_times=:video_times,item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':video_times' => $row['video_times'] + 1, - ':item_id' => $item_id, - ':item_num' => $item_num, - ':modify_time' => time() - )); - if (!$ret) { - die(); - return; - } + $ret = $conn->execScript( + 'UPDATE activity SET free_times=:free_times, item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':free_times' => $row['free_times'] + 1, + ':item_id' => $item_id, + ':item_num' => $item_num, + ':modify_time' => time() + ) + ); + if (!$ret) { + die(); + return; } + } + if ($_REQUEST['type'] == 1) { + $p_flush = $this->getParameter(VIDEOLOTTERY_TIME); + if ($p_flush['value'] <= $row['video_times']) { + phpcommon\sendError(ERR_USER_BASE + 3, '今日刷新次数已满'); + return; + } + $ret = $conn->execScript( + 'UPDATE activity SET video_times=:video_times,item_id=:item_id, item_num=:item_num, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':video_times' => $row['video_times'] + 1, + ':item_id' => $item_id, + ':item_num' => $item_num, + ':modify_time' => time() + ) + ); + if (!$ret) { + die(); + return; + } + } echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'item_id' => $item_id, 'item_num' => $item_num, 'coin_nums' => $coin_num, @@ -1035,10 +1102,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } - $row = $conn->execQueryOne('SELECT item_id, item_num FROM activity WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT item_id, item_num FROM activity WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; @@ -1047,15 +1116,15 @@ class ActivityController{ $p = $this->getParameter(REWARD_TIMES); $times = $p['value'] - 1; $addreward = new classes\AddReward(); - $addreward->addReward($row['item_id'], $row['item_num'] * $times, $account_id,0,0); + $addreward->addReward($row['item_id'], $row['item_num'] * $times, $account_id, 0, 0); $coin_num = $addreward->getCoinNum($account_id); echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'coin_nums' => $coin_num, )); } - protected function randomNewReward($type,$accountid,$days) + protected function randomNewReward($type, $accountid, $days) { $draw_list = array(); $g_conf_lot_cluster = array(); @@ -1067,8 +1136,10 @@ class ActivityController{ $day = 1; if ($type == 1) { - if (phpcommon\extractChannel($accountid) == 6001 || - phpcommon\extractChannel($accountid) == 6000) { + if ( + phpcommon\extractChannel($accountid) == 6001 || + phpcommon\extractChannel($accountid) == 6000 + ) { $day = $days; } } @@ -1122,7 +1193,7 @@ class ActivityController{ return $draw_list; } - protected function randomReward($type,$accountid) + protected function randomReward($type, $accountid) { $draw_list = array(); $g_conf_lot_cluster = array(); @@ -1133,9 +1204,11 @@ class ActivityController{ } $day = 1; if ($type == 1) { - if (phpcommon\extractChannel($accountid) == 6001 || + if ( + phpcommon\extractChannel($accountid) == 6001 || phpcommon\extractChannel($accountid) == 6006 || - phpcommon\extractChannel($accountid) == 6000) { + phpcommon\extractChannel($accountid) == 6000 + ) { $day = date('w', time()); if ($day == 0) { $day = 7; @@ -1212,7 +1285,7 @@ class ActivityController{ $delim = "|"; $num_multiply = explode($delim, $rec['huge_reward']); //随机奖励 - for($i = 0; $i < $rec['reward']; $i++) { + for ($i = 0; $i < $rec['reward']; $i++) { $item_num = 1; $time = $this->randtime($rec['time']); $reward_id = $this->randlottery($reward_array, $pool); @@ -1232,7 +1305,7 @@ class ActivityController{ 'time' => $time, )); $items = $addreward->addReward($reward_id, $item_num, $account_id, $time, 0); - foreach($items as $j) { + foreach ($items as $j) { array_push($all_item_list, array( 'item_id' => $j['item_id'], 'item_num' => $j['item_num'], @@ -1249,7 +1322,7 @@ class ActivityController{ 'time' => 0, )); $items = $addreward->addReward($re_multiply[0], $re_multiply[1], $account_id, 0, 0); - foreach($items as $s) { + foreach ($items as $s) { array_push($all_item_list, array( 'item_id' => $s['item_id'], 'item_num' => $s['item_num'], @@ -1263,7 +1336,7 @@ class ActivityController{ $quest->flushHolidayQuest(72004, 1, $account_id); echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'coin_nums' => $coin_num, 'diamond_nums' => $diamond_num, 'item_list' => $item_list, @@ -1297,7 +1370,7 @@ class ActivityController{ $rand_array = array(); $po = $pool - 1; $g_conf_item_cluster = require('../res/item@item.php'); - foreach($g_conf_item_cluster as $items) { + foreach ($g_conf_item_cluster as $items) { $flag = 0; $it = $this->getItem($items['id']); if ($it['id'] != 0) { @@ -1345,10 +1418,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } - $row = $conn->execQueryOne('SELECT daily_order1, daily_order2, daily_order3 FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT daily_order1, daily_order2, daily_order3 FROM user WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; @@ -1456,21 +1531,23 @@ class ActivityController{ 'status' => $status )); } - $ret = $conn->execScript('UPDATE user SET daily_order1=:daily_order1, daily_order2=:daily_order2, daily_order3=:daily_order3 ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':daily_order1' => $daily_order1, - ':daily_order2' => $daily_order2, - ':daily_order3' => $daily_order3 - )); + $ret = $conn->execScript( + 'UPDATE user SET daily_order1=:daily_order1, daily_order2=:daily_order2, daily_order3=:daily_order3 ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':daily_order1' => $daily_order1, + ':daily_order2' => $daily_order2, + ':daily_order3' => $daily_order3 + ) + ); if (!$ret) { die(); return; } echo json_encode(array( 'errcode' => 0, - 'errmsg'=> '', + 'errmsg' => '', 'item_list' => $item_list, )); } @@ -1490,10 +1567,12 @@ class ActivityController{ return; } $id = $_REQUEST['id']; - $row = $conn->execQueryOne('SELECT daily_order1, daily_order2, daily_order3 FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $row = $conn->execQueryOne( + 'SELECT daily_order1, daily_order2, daily_order3 FROM user WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; @@ -1503,39 +1582,45 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 3, '奖励不可领'); return; } - $ret = $conn->execScript('UPDATE user SET daily_order1=2 ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - )); + $ret = $conn->execScript( + 'UPDATE user SET daily_order1=2 ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ) + ); if (!$ret) { die(); return; } - } else if ($id == 2) { + } else if ($id == 2) { if ($row['daily_order2'] != 1) { phpcommon\sendError(ERR_USER_BASE + 3, '奖励不可领'); return; } - $ret = $conn->execScript('UPDATE user SET daily_order2=2 ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - )); + $ret = $conn->execScript( + 'UPDATE user SET daily_order2=2 ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ) + ); if (!$ret) { die(); return; } - } else if ($id == 3) { + } else if ($id == 3) { if ($row['daily_order3'] != 1) { phpcommon\sendError(ERR_USER_BASE + 3, '奖励不可领'); return; } - $ret = $conn->execScript('UPDATE user SET daily_order3=2 ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - )); + $ret = $conn->execScript( + 'UPDATE user SET daily_order3=2 ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ) + ); if (!$ret) { die(); return; @@ -1546,7 +1631,7 @@ class ActivityController{ $addreward = new classes\AddReward(); foreach ($item_list as $item) { $items = $addreward->addReward($item['item_id'], $item['item_num'], $account_id, $item['time'], 0); - foreach($items as $i) { + foreach ($items as $i) { array_push($all_item_list, array( 'item_id' => $i['item_id'], 'item_num' => $i['item_num'], @@ -1605,19 +1690,21 @@ class ActivityController{ return $item_list; } - protected function insertDrawDB($account_id, $id ) + protected function insertDrawDB($account_id, $id) { $conn = $this->getMysql($account_id); - $ret = $conn->execScript('INSERT INTO draw(accountid, id, cd_time, createtime, modifytime) ' . - ' VALUES(:account_id, :id, 0, :createtime, :modifytime) ' . - ' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, cd_time=0, modifytime=:modifytime;', - array( - ':account_id' => $account_id, - ':id' => $id, - ':createtime' => time(), - ':modifytime' => time(), - )); - if(!$ret){ + $ret = $conn->execScript( + 'INSERT INTO draw(accountid, id, cd_time, createtime, modifytime) ' . + ' VALUES(:account_id, :id, 0, :createtime, :modifytime) ' . + ' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, cd_time=0, modifytime=:modifytime;', + array( + ':account_id' => $account_id, + ':id' => $id, + ':createtime' => time(), + ':modifytime' => time(), + ) + ); + if (!$ret) { die(); return; } @@ -1637,10 +1724,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } - $rows = $conn->execQuery('SELECT id, cd_time FROM draw WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - )); + $rows = $conn->execQuery( + 'SELECT id, cd_time FROM draw WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ) + ); $info_list = array(); if (!$rows) { $draw_conf = metatable\getDrawConf(); @@ -1654,14 +1743,16 @@ class ActivityController{ } else { foreach ($rows as $row) { if ($row['cd_time'] <= time()) { - $ret = $conn->execScript('UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . - ' WHERE accountid=:accountid AND id=:id;', - array( - ':accountid' => $account_id, - ':cd_time' => 0, - ':id' => $row['id'], - ':modifytime' => time() - )); + $ret = $conn->execScript( + 'UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . + ' WHERE accountid=:accountid AND id=:id;', + array( + ':accountid' => $account_id, + ':cd_time' => 0, + ':id' => $row['id'], + ':modifytime' => time() + ) + ); if (!$ret) { die(); return; @@ -1701,11 +1792,13 @@ class ActivityController{ return; } $id = $_REQUEST['id']; - $row = $conn->execQueryOne('SELECT cd_time FROM draw WHERE accountid=:accountid AND id=:id;', - array( - ':accountid' => $account_id, - ':id' => $id, - )); + $row = $conn->execQueryOne( + 'SELECT cd_time FROM draw WHERE accountid=:accountid AND id=:id;', + array( + ':accountid' => $account_id, + ':id' => $id, + ) + ); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; @@ -1769,14 +1862,16 @@ class ActivityController{ $extra_id = $dr['ten_drop']; $extra_times = $dr['ten_count']; $cdtime = $dr['time_cd']; - $ret = $conn->execScript('UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . - ' WHERE accountid=:accountid AND id=:id;', - array( - ':accountid' => $account_id, - ':cd_time' => time() + $cdtime, - ':id' => $id, - ':modifytime' => time() - )); + $ret = $conn->execScript( + 'UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . + ' WHERE accountid=:accountid AND id=:id;', + array( + ':accountid' => $account_id, + ':cd_time' => time() + $cdtime, + ':id' => $id, + ':modifytime' => time() + ) + ); if (!$ret) { die(); return; @@ -1793,7 +1888,7 @@ class ActivityController{ if (is_array($item_list)) { foreach ($item_list as $item) { $items = $addreward->addReward($item['item_id'], $item['item_num'], $account_id, $item['time'], 0); - foreach($items as $i) { + foreach ($items as $i) { array_push($all_item_list, array( 'item_id' => $i['item_id'], 'item_num' => $i['item_num'], @@ -1828,10 +1923,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } - $rowuser = $conn->execQueryOne('SELECT diamond_num, coin_num FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $rowuser = $conn->execQueryOne( + 'SELECT diamond_num, coin_num FROM user WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$rowuser) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; @@ -1842,7 +1939,7 @@ class ActivityController{ $costid = metatable\getParameterByName('drawbox_cost'); $cost = metatable\getParameterByName('drawbox_cost_num'); if ($costid == 10001) { - if($cost >= $rowuser['coin_num']) { + if ($cost >= $rowuser['coin_num']) { phpcommon\sendError(ERR_USER_BASE + 2, '金币不足'); return; } else { @@ -1851,7 +1948,7 @@ class ActivityController{ } if ($costid == 10003) { - if($cost >= $rowuser['diamond_num']) { + if ($cost >= $rowuser['diamond_num']) { phpcommon\sendError(ERR_USER_BASE + 3, '钻石不足'); return; } else { @@ -1859,23 +1956,27 @@ class ActivityController{ } } - $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num, diamond_num=:diamond_num, modify_time=:modifytime ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':coin_num' => $coin_num, - ':diamond_num' => $diamond_num, - ':modifytime' => time() - )); + $ret = $conn->execScript( + 'UPDATE user SET coin_num=:coin_num, diamond_num=:diamond_num, modify_time=:modifytime ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':coin_num' => $coin_num, + ':diamond_num' => $diamond_num, + ':modifytime' => time() + ) + ); if (!$ret) { die(); return; } } - $rows = $conn->execQuery('SELECT id, cd_time FROM draw WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - )); + $rows = $conn->execQuery( + 'SELECT id, cd_time FROM draw WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ) + ); if (!$rows) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; @@ -1889,14 +1990,16 @@ class ActivityController{ if ($cd_time <= time()) { $cd_time = 0; } - $ret = $conn->execScript('UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . - ' WHERE accountid=:accountid AND id=:id;', - array( - ':accountid' => $account_id, - ':cd_time' => $cd_time, - ':id' => $row['id'], - ':modifytime' => time() - )); + $ret = $conn->execScript( + 'UPDATE draw SET cd_time=:cd_time, modifytime=:modifytime ' . + ' WHERE accountid=:accountid AND id=:id;', + array( + ':accountid' => $account_id, + ':cd_time' => $cd_time, + ':id' => $row['id'], + ':modifytime' => time() + ) + ); if (!$ret) { die(); return; @@ -1924,10 +2027,12 @@ class ActivityController{ phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } - $rowuser = $conn->execQueryOne('SELECT daily_diamond_times FROM user WHERE accountid=:accountid;', - array( - ':accountid' => $account_id - )); + $rowuser = $conn->execQueryOne( + 'SELECT daily_diamond_times FROM user WHERE accountid=:accountid;', + array( + ':accountid' => $account_id + ) + ); if (!$rowuser) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; @@ -1941,13 +2046,15 @@ class ActivityController{ } $addreward->addReward(10003, $num, $account_id, 0, 0); $diamond_times = $rowuser['daily_diamond_times'] + 1; - $ret = $conn->execScript('UPDATE user SET daily_diamond_times=:daily_diamond_times, modify_time=:modify_time ' . - ' WHERE accountid=:accountid;', - array( - ':accountid' => $account_id, - ':daily_diamond_times' => $diamond_times, - ':modify_time' => time() - )); + $ret = $conn->execScript( + 'UPDATE user SET daily_diamond_times=:daily_diamond_times, modify_time=:modify_time ' . + ' WHERE accountid=:accountid;', + array( + ':accountid' => $account_id, + ':daily_diamond_times' => $diamond_times, + ':modify_time' => time() + ) + ); if (!$ret) { die(); return; @@ -1971,4 +2078,3 @@ class ActivityController{ )); } } -?>