1
This commit is contained in:
parent
604fb32de4
commit
b405645f2e
@ -257,8 +257,10 @@ CREATE TABLE `equip` (
|
||||
`sub_time` int(11) NOT NULL DEFAULT '0' COMMENT '缩短时间',
|
||||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`modify_time` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||
|
||||
`using_id` int(11) NOT NULL DEFAULT '0' COMMENT '上阵id',
|
||||
PRIMARY KEY (`idx`),
|
||||
UNIQUE KEY `accountid` (`accountid`)
|
||||
UNIQUE KEY `accountid_id` (`accountid`, id)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
|
||||
|
25
sql/gamedb2004_n_migrate_200604_01.sql
Normal file
25
sql/gamedb2004_n_migrate_200604_01.sql
Normal file
@ -0,0 +1,25 @@
|
||||
begin;
|
||||
|
||||
UPDATE user set season_time=1591459199 WHERE season_time=0;
|
||||
|
||||
DROP TABLE IF EXISTS `equip`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `equip` (
|
||||
`idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||
`accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id',
|
||||
`id` int(11) NOT NULL DEFAULT '0' COMMENT '装备id',
|
||||
`lv` int(11) NOT NULL DEFAULT '0' COMMENT '装备等级',
|
||||
`active_time` int(11) NOT NULL DEFAULT '0' COMMENT '进阶时间',
|
||||
`sub_time` int(11) NOT NULL DEFAULT '0' COMMENT '缩短时间',
|
||||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`modify_time` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||
|
||||
`using_id` int(11) NOT NULL DEFAULT '0' COMMENT '上阵id',
|
||||
PRIMARY KEY (`idx`),
|
||||
UNIQUE KEY `accountid_id` (`accountid`, id)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
insert into version (version) values(20200604);
|
||||
|
||||
commit;
|
@ -62,6 +62,7 @@ function getSkinConfig($skin_table ,$item_id)
|
||||
|
||||
function getEquipConfig($equip_table, $item_id)
|
||||
{
|
||||
$item_id = (int)$item_id;
|
||||
return array_key_exists($item_id, $equip_table) ? $equip_table[$item_id] : null;
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,7 @@ class EquipController{
|
||||
return;
|
||||
}
|
||||
$equip_list = array();
|
||||
$time_flag = 0;
|
||||
$row = $conn->execQueryOne('SELECT * FROM equip WHERE accountid=:account_id;',
|
||||
array(
|
||||
':account_id' => $account_id
|
||||
@ -108,9 +109,9 @@ class EquipController{
|
||||
break;
|
||||
}
|
||||
}
|
||||
$ret = $conn->execScript('INSERT INTO equip(accountid, id, lv, active_time, sub_time, create_time, modify_time) ' .
|
||||
' VALUES(:account_id, :id, 0, :active_time, :sub_time, :create_time, :modify_time) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, lv=0, active_time=:active_time, sub_time=:sub_time, modify_time=:modify_time;',
|
||||
$ret = $conn->execScript('INSERT INTO equip(accountid, id, lv, active_time, sub_time, create_time, modify_time, using_id) ' .
|
||||
' VALUES(:account_id, :id, 0, :active_time, :sub_time, :create_time, :modify_time, :using_id) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, lv=0, active_time=:active_time, sub_time=:sub_time, modify_time=:modify_time, using_id=:using_id;',
|
||||
array(
|
||||
':account_id' => $account_id,
|
||||
':id' => $id,
|
||||
@ -118,41 +119,60 @@ class EquipController{
|
||||
':create_time' => time(),
|
||||
':modify_time' => time(),
|
||||
':sub_time' => 0,
|
||||
':using_id' => $id,
|
||||
));
|
||||
if(!$ret){
|
||||
die();
|
||||
return;
|
||||
}
|
||||
$ret = $conn->execScript('INSERT INTO bag(accountid, id, color_id, status, num, active_time, create_time, modify_time) ' .
|
||||
' VALUES(:account_id, :id, 0, :status, 1, :active_time, :create_time, :modify_time) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, color_id=0, status=:status, num=1, active_time=:active_time, modify_time=:modify_time;',
|
||||
array(
|
||||
':account_id' => $account_id,
|
||||
':id' => 18004,
|
||||
':active_time' => 0,
|
||||
':status' => 0,
|
||||
':create_time' => time(),
|
||||
':modify_time' => time()
|
||||
));
|
||||
array_push($equip_list, array(
|
||||
'id' => $id,
|
||||
'lv' => 0,
|
||||
'active_time' => 0,
|
||||
'using_id' => $id,
|
||||
));
|
||||
} else {
|
||||
$time = $row['active_time'] + $row['sub_time'];
|
||||
if (time() >= $row['active_time'] + $row['sub_time']) {
|
||||
$ret1 = $conn->execScript('UPDATE equip SET active_time=0, sub_time=0, modify_time=:modify_time ' .
|
||||
$using_id = $row['using_id'];
|
||||
if (time() >= $row['active_time'] + $row['sub_time'] && $row['sub_time'] != 0) {
|
||||
$ret1 = $conn->execScript('UPDATE equip SET active_time=0, sub_time=0, using_id=:using_id, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':modify_time' => time()
|
||||
':modify_time' => time(),
|
||||
':using_id' => $row['id'],
|
||||
));
|
||||
if (!$ret1) {
|
||||
die();
|
||||
return;
|
||||
}
|
||||
$time = 0;
|
||||
$time_flag = 1;
|
||||
$using_id = $row['id'];
|
||||
}
|
||||
array_push($equip_list, array(
|
||||
'id' => $row['id'],
|
||||
'lv' => $row['lv'],
|
||||
'active_time' => $time,
|
||||
'using_id' => $using_id,
|
||||
));
|
||||
}
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
'equip_list' => $equip_list
|
||||
'equip_list' => $equip_list,
|
||||
'time_flag' => $time_flag,
|
||||
));
|
||||
}
|
||||
|
||||
@ -189,6 +209,7 @@ class EquipController{
|
||||
return;
|
||||
}
|
||||
$flag = 0;
|
||||
$id = $row['id'];
|
||||
if ($row['lv'] < $e['max_level']) {
|
||||
//金币升级
|
||||
$coin_array = $this->getExplode($e['level_gold_cost']);
|
||||
@ -222,7 +243,6 @@ class EquipController{
|
||||
':account_id' => $account_id
|
||||
));
|
||||
$max_p = $e['upgrade_priority'];
|
||||
$id = 0;
|
||||
$g_conf_lot_cluster = require('../res/equip@equip.php');
|
||||
for ($i = 0; $i < count($g_conf_lot_cluster); $i++) {
|
||||
$ec = $this->getEquip(12100 + $i);
|
||||
@ -234,7 +254,7 @@ class EquipController{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($id == 0) {
|
||||
if ($id == $row['id']) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 4, '装备已达满级');
|
||||
return;
|
||||
}
|
||||
@ -276,18 +296,21 @@ class EquipController{
|
||||
}
|
||||
$active_time = time();
|
||||
$sub_time = $e['equip_upgradetime'];
|
||||
$using_id = $row['using_id'];
|
||||
if ($e['equip_upgradetime'] == 0) {
|
||||
$active_time = 0;
|
||||
$flag = 1;
|
||||
$using_id = $id;
|
||||
}
|
||||
$retEquip = $conn->execScript('UPDATE equip SET id=:id, lv=0, active_time=:active_time, sub_time=:sub_time, modify_time=:modify_time ' .
|
||||
$retEquip = $conn->execScript('UPDATE equip SET id=:id, lv=0, active_time=:active_time, using_id=:using_id, sub_time=:sub_time, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':id' => $id,
|
||||
':modify_time' => time(),
|
||||
':active_time' => $active_time,
|
||||
':sub_time' => $sub_time
|
||||
':sub_time' => $sub_time,
|
||||
':using_id' => $using_id,
|
||||
));
|
||||
if (!$retEquip) {
|
||||
die();
|
||||
@ -301,6 +324,7 @@ class EquipController{
|
||||
'errmsg' => '',
|
||||
'coin_nums' => $coin_num,
|
||||
'flag' => $flag,
|
||||
'id' => $id,
|
||||
));
|
||||
}
|
||||
|
||||
@ -327,13 +351,28 @@ class EquipController{
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
$e = $this->getEquip($row['id']);
|
||||
$e1 = $this->getEquip($row['id']);
|
||||
$last_id = $e1['upgrade_priority'];
|
||||
$id = 0;
|
||||
$g_conf_lot_cluster = require('../res/equip@equip.php');
|
||||
for ($i = 0; $i < count($g_conf_lot_cluster); $i++) {
|
||||
$ec = $this->getEquip(12100 + $i);
|
||||
if (!$ec || empty($ec['upgrade_priority'])) {
|
||||
continue;
|
||||
}
|
||||
if ($ec['upgrade_priority'] == (int)$last_id - 1) {
|
||||
$id = $ec['id'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
$e = $this->getEquip($id);
|
||||
if (!$e) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个装备');
|
||||
return;
|
||||
}
|
||||
$sub_time = $row['sub_time'] - $row['sub_time'] * $e['reduce_time'] * 0.01;
|
||||
//error_log($sub_time);
|
||||
$flag = 0;
|
||||
//error_log($e['reduce_time']);
|
||||
$sub_time = $row['sub_time'] - floor($row['sub_time'] * $e['reduce_time'] * 0.01);
|
||||
if ($type == 1) {
|
||||
$rowUser = $conn->execQueryOne('SELECT diamond_num FROM user WHERE accountid=:account_id;',
|
||||
array(
|
||||
@ -347,7 +386,7 @@ class EquipController{
|
||||
phpcommon\sendError(ERR_USER_BASE + 3, '钻石不足');
|
||||
return;
|
||||
}
|
||||
$sub_time = $row['sub_time'] - $row['sub_time'] * $e['diamond_time'] * 0.01;
|
||||
$sub_time = $row['sub_time'] - floor($row['sub_time'] * $e['diamond_time'] * 0.01);
|
||||
$retUser = $conn->execScript('UPDATE user SET diamond_num=:diamond_num, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
@ -361,16 +400,22 @@ class EquipController{
|
||||
}
|
||||
}
|
||||
$active_time = $row['active_time'];
|
||||
if ($sub_time == 0) {
|
||||
$using_id = $row['using_id'];
|
||||
if ($active_time + $sub_time <= time()) {
|
||||
$active_time = 0;
|
||||
}
|
||||
$retEquip = $conn->execScript('UPDATE equip SET active_time=:active_time, sub_time=:sub_time, modify_time=:modify_time ' .
|
||||
if ($sub_time == 0) {
|
||||
$flag = 1;
|
||||
$using_id = $row['id'];
|
||||
}
|
||||
$retEquip = $conn->execScript('UPDATE equip SET active_time=:active_time, using_id=:using_id, sub_time=:sub_time, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':active_time' => $active_time,
|
||||
':sub_time' => $sub_time,
|
||||
':modify_time' => time(),
|
||||
':using_id' => $using_id,
|
||||
));
|
||||
if (!$retEquip) {
|
||||
die();
|
||||
@ -382,8 +427,56 @@ class EquipController{
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
'diamond_nums' => $num,
|
||||
'active_time' => $active_time,
|
||||
'flag' => $flag,
|
||||
'id' => $row['id'],
|
||||
));
|
||||
}
|
||||
|
||||
public function exchangeEquip()
|
||||
{
|
||||
$account_id = $_REQUEST['account_id'];
|
||||
//登录校验
|
||||
$login = loginVerify($account_id, $_REQUEST['session_id']);
|
||||
if (!$login) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, 'session无效');
|
||||
return;
|
||||
}
|
||||
$equip_id = $_REQUEST['id'];
|
||||
$conn = $this->getMysql($account_id);
|
||||
if (!$conn) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
$row = $conn->execQueryOne('SELECT id, using_id FROM equip WHERE accountid=:account_id;',
|
||||
array(
|
||||
':account_id' => $account_id
|
||||
));
|
||||
if (!$row) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
if ($equip_id > $row['id']) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 3, '武器未获得');
|
||||
return;
|
||||
}
|
||||
$ret = $conn->execScript('UPDATE equip SET using_id=:using_id, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':using_id' => $equip_id,
|
||||
':modify_time' => time(),
|
||||
));
|
||||
if (!$ret) {
|
||||
die();
|
||||
return;
|
||||
}
|
||||
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
'using_id' => $equip_id,
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -109,11 +109,12 @@ class GameOverController{
|
||||
die();
|
||||
return;
|
||||
}
|
||||
$id = 12121;
|
||||
$id = 12120;
|
||||
$conn = $this->getMysql($account_id);
|
||||
if (!$conn) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家');
|
||||
die();
|
||||
return;
|
||||
}
|
||||
$row = $conn->execQueryOne('SELECT id FROM equip WHERE accountid=:account_id;',
|
||||
array(
|
||||
@ -122,10 +123,20 @@ class GameOverController{
|
||||
if ($row) {
|
||||
$id = $row['id'];
|
||||
}
|
||||
$e = $this->getEquip($id);
|
||||
if (!$e) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个道具');
|
||||
die();
|
||||
return;
|
||||
}
|
||||
$count = 3;
|
||||
if ($e['upgrade_priority'] == 1) {
|
||||
$count = 1;
|
||||
}
|
||||
//道具物品
|
||||
$first_list = array();
|
||||
$first_list = $this->fixReward($first_list);
|
||||
$first_list = $this->randomReward($first_list, $id);
|
||||
$first_list = $this->randomReward($first_list, $id, $count);
|
||||
$first_db = array(
|
||||
'first_uuid' => $first_uuid,
|
||||
'first_list' => $first_list,
|
||||
@ -221,19 +232,19 @@ class GameOverController{
|
||||
return $item_list;
|
||||
}
|
||||
|
||||
protected function randomReward($item_list, $id)
|
||||
protected function randomReward($item_list, $id, $count)
|
||||
{
|
||||
//随机奖励
|
||||
//$e = $this->getEquip($id);
|
||||
//$d = $this->getDrop($e['drop_id']);
|
||||
$e = $this->getEquip($id);
|
||||
$b = $this->getDrop($e['drop_id']);
|
||||
|
||||
|
||||
$b = $this->getbox(6);
|
||||
$count = 3;
|
||||
//$b = $this->getbox(6);
|
||||
//$count = 3;
|
||||
$item_id_array = $this->getExplode($b['item_id']);
|
||||
$item_num_array = $this->getExplode($b['num']);
|
||||
$weight_array = $this->getExplode($b['weight']);
|
||||
$time_array = $this->getExplode($b['time']);
|
||||
//$time_array = $this->getExplode($b['time']);
|
||||
$reward_array = array();
|
||||
for ($c = 0; $c < $count; $c++) {
|
||||
$weight_sum = 0;
|
||||
@ -263,7 +274,7 @@ class GameOverController{
|
||||
}
|
||||
$item_id = $item_id_array[$keys][0];
|
||||
$item_num = $item_num_array[$keys][0];
|
||||
$time = $time_array[$keys][0];
|
||||
$time = 0;
|
||||
array_push($reward_array, array(
|
||||
'id' => $item_id
|
||||
));
|
||||
|
@ -41,6 +41,7 @@ class PassController{
|
||||
'end_time' => $season_meta['time2'],
|
||||
'reward' => $season_meta['season_reward'],
|
||||
'weekreward' => $season_meta['week_reward'],
|
||||
'season_overreward' => $season_meta['season_overreward'],
|
||||
);
|
||||
return $season;
|
||||
}
|
||||
@ -86,17 +87,6 @@ class PassController{
|
||||
if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
$open_time = strtotime($season['open_time']);
|
||||
$end_time = strtotime($season['end_time']);
|
||||
/*$ret = $conn->execScript('UPDATE user SET season_time=:season_time, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':season_time' => $end_time,
|
||||
':modify_time' => time()
|
||||
));
|
||||
if (!$ret) {
|
||||
die();
|
||||
return;
|
||||
}*/
|
||||
$number = $i;
|
||||
$item_multiply = $this->getExplode($season['reward']);
|
||||
//$ii = 0;
|
||||
@ -444,7 +434,7 @@ class PassController{
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
));
|
||||
/* if (!$row) {
|
||||
if (!$row) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
@ -452,30 +442,69 @@ class PassController{
|
||||
if ($row['season_status'] == 1) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 2, '赛季未结束');
|
||||
return;
|
||||
}*/
|
||||
}
|
||||
$reward = array();
|
||||
$level = 0;
|
||||
//积分结算
|
||||
$seaPoint_meta_table = require('../res/seasomPoint@seasomPoint.php');
|
||||
for ($ii = 1; $ii <= count($seaPoint_meta_table); $ii++) {
|
||||
$seaPoint = $this->getSeasonPoint($ii);
|
||||
if ($row['season_end_score'] >= $seaPoint['min'] && $row['season_end_score'] <= $seaPoint['max']
|
||||
|| $row['season_end_score'] >= $seaPoint['min'] && $seaPoint['max'] == -1)
|
||||
{
|
||||
$delim = ':';
|
||||
$drop_multiply = explode($delim, $seaPoint['reward']);
|
||||
array_push($reward, array(
|
||||
'item_id' => $drop_multiply[0],
|
||||
'item_num' => $drop_multiply[1],
|
||||
'time' => $drop_multiply[2]
|
||||
));
|
||||
$level = $ii;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//奖励结算
|
||||
$season_meta_table = require('../res/season@season.php');
|
||||
$id = 0;
|
||||
for ($i = 1; $i <= count($season_meta_table); $i++) {
|
||||
$season = $this->getSeason($i);
|
||||
if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
$open_time = strtotime($season['open_time']);
|
||||
$end_time = strtotime($season['end_time']);
|
||||
$id = $i - 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$s = $this->getSeason($id);
|
||||
if ($s) {
|
||||
|
||||
$delim1 = '|';
|
||||
$item_multiply = explode($delim1, $s['season_overreward']);
|
||||
|
||||
$delim2 = ';';
|
||||
$mul = explode($delim2, $item_multiply[$level - 1]);
|
||||
|
||||
$delim = ':';
|
||||
$week_array = array();
|
||||
for ($i2 = 0; $i2 < count($mul); $i2++) {
|
||||
$mul1 = explode($delim, $mul[$i2]);
|
||||
array_push($week_array, $mul1);
|
||||
}
|
||||
|
||||
for($s = 0; $s < count($week_array); $s++) {
|
||||
array_push($reward, array(
|
||||
'item_id' => $week_array[$s][0],
|
||||
'item_num' => $week_array[$s][1],
|
||||
'time' => $week_array[$s][2],
|
||||
));
|
||||
}
|
||||
}
|
||||
$all_item_list = array();
|
||||
$addreward = new classes\AddReward();
|
||||
foreach ($reward as $r) {
|
||||
$addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time'], 0);
|
||||
$items = $addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time'], 0);
|
||||
foreach($items as $j) {
|
||||
array_push($all_item_list, array(
|
||||
'item_id' => $j['item_id'],
|
||||
'item_num' => $j['item_num'],
|
||||
'time' => $j['time'],
|
||||
));
|
||||
}
|
||||
$ret = $conn->execScript('UPDATE user SET pass_status=1, modify_time=:modify_time ' .
|
||||
}
|
||||
$ret = $conn->execScript('UPDATE user SET season_status=1, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
@ -486,12 +515,15 @@ class PassController{
|
||||
return;
|
||||
}
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg'=> '',
|
||||
'item_list' => $reward,
|
||||
'level' => $level,
|
||||
'diamond_nums' => $diamond_num
|
||||
'all_item_list' => $all_item_list,
|
||||
'diamond_nums' => $diamond_num,
|
||||
'coin_nums' => $coin_num
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -86,6 +86,35 @@ class RoleController{
|
||||
return $arr;
|
||||
}
|
||||
|
||||
protected function getSeason($season_id)
|
||||
{
|
||||
$season_meta_table = require('../res/season@season.php');
|
||||
$season_meta = getSeasonConfig($season_meta_table, $season_id);
|
||||
$season = array(
|
||||
'number' => $season_meta['season_number'],
|
||||
'open_time' => $season_meta['time1'],
|
||||
'end_time' => $season_meta['time2'],
|
||||
'reward' => $season_meta['season_reward'],
|
||||
'weekreward' => $season_meta['week_reward'],
|
||||
);
|
||||
return $season;
|
||||
}
|
||||
|
||||
protected function getSeasonPoint($seaPoint_id)
|
||||
{
|
||||
$seaPoint_meta_table = require('../res/seasomPoint@seasomPoint.php');
|
||||
$seaPoint_meta = getSeasonPointConfig($seaPoint_meta_table, $seaPoint_id);
|
||||
$seaPoint = array(
|
||||
'id' => $seaPoint_meta['id'],
|
||||
'min' => $seaPoint_meta['min_point'],
|
||||
'max' => $seaPoint_meta['max_point'],
|
||||
'des' => $seaPoint_meta['des'],
|
||||
'topoint' => $seaPoint_meta['topoint'],
|
||||
//'weekreward' => $seaPoint_meta['week_reward'],
|
||||
);
|
||||
return $seaPoint;
|
||||
}
|
||||
|
||||
public function roleInfo()
|
||||
{
|
||||
$account_id = $_REQUEST['account_id'];
|
||||
@ -117,9 +146,18 @@ class RoleController{
|
||||
));
|
||||
//$newInfo = array();
|
||||
if (!$row) {
|
||||
$season_time = 0;
|
||||
$season_meta_table = require('../res/season@season.php');
|
||||
for ($i = 1; $i <= count($season_meta_table); $i++) {
|
||||
$season = $this->getSeason($i);
|
||||
if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
$season_time = strtotime($season['end_time']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$ret = $conn->execScript('INSERT INTO user(accountid, user_name, avatar_url, game_times, win_times, kills, harm, add_HP, alive_time, coin_num, integral, kill_his, alive_time_his, harm_his, add_HP_his, act_share_time, act_share_status, create_time, modify_time, first_fight, collect_status, keys_num, battle_re_times, shop_flush_times, kefu_status, sign_sum, box_num, diamond_num, sum_coin, pass_status, score, season_status, recharge_times_total, first_gift, season_time, free_coin, free_diamond, season_end_score, kill_modifytime, win_modifytime, rank_modifytime, vip_score, first_login, daily_first_login, daily_time, free_box, update_time, season_games, season_win, sea_max_kill, sea_max_hart, sea_avg_kill, free_lot_ticket, free_dou_lot_ticket, daily_order1, daily_order2, daily_order3, first_bee, newhand, coin_times, newInfo) ' .
|
||||
' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, :create_time, :modify_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, :daily_time, 0,:update_time,0,0,0,0,0,0,0,0,0,0,0,0,0,:newInfo) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:accountid, user_name=:user_name, avatar_url=:avatar_url, game_times=0, win_times=0, kills=0, harm=0, add_HP=0, alive_time=0, coin_num=0, integral=0, kill_his=0, alive_time_his=0, harm_his=0, add_HP_his=0, act_share_time=0, act_share_status=0, modify_time=:modify_time, first_fight=0, collect_status=0, keys_num=0, battle_re_times=0, shop_flush_times=0, kefu_status=0, sign_sum=0, box_num=0, diamond_num=0, sum_coin=0, pass_status=0, score=0, season_status=1, recharge_times_total=0, first_gift=0, season_time=0, free_coin=0, free_diamond=0, season_end_score=0, kill_modifytime=0, win_modifytime=0, rank_modifytime=0, vip_score=0, first_login=0, daily_first_login=0, daily_time=:daily_time, free_box=0, update_time=:update_time, season_games=0, season_win=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, free_lot_ticket=0, free_dou_lot_ticket=0, daily_order1=0, daily_order2=0, daily_order3=0, first_bee=0, newhand=0, coin_times=0, newInfo=:newInfo;',
|
||||
' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, :create_time, :modify_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, :season_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, :daily_time, 0,:update_time,0,0,0,0,0,0,0,0,0,0,0,0,0,:newInfo) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:accountid, user_name=:user_name, avatar_url=:avatar_url, game_times=0, win_times=0, kills=0, harm=0, add_HP=0, alive_time=0, coin_num=0, integral=0, kill_his=0, alive_time_his=0, harm_his=0, add_HP_his=0, act_share_time=0, act_share_status=0, modify_time=:modify_time, first_fight=0, collect_status=0, keys_num=0, battle_re_times=0, shop_flush_times=0, kefu_status=0, sign_sum=0, box_num=0, diamond_num=0, sum_coin=0, pass_status=0, score=0, season_status=1, recharge_times_total=0, first_gift=0, season_time=:season_time, free_coin=0, free_diamond=0, season_end_score=0, kill_modifytime=0, win_modifytime=0, rank_modifytime=0, vip_score=0, first_login=0, daily_first_login=0, daily_time=:daily_time, free_box=0, update_time=:update_time, season_games=0, season_win=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, free_lot_ticket=0, free_dou_lot_ticket=0, daily_order1=0, daily_order2=0, daily_order3=0, first_bee=0, newhand=0, coin_times=0, newInfo=:newInfo;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':user_name' => $user_name,
|
||||
@ -128,7 +166,8 @@ class RoleController{
|
||||
':modify_time' => time(),
|
||||
':daily_time' => 0,
|
||||
':update_time' => time(),
|
||||
':newInfo' => ''
|
||||
':newInfo' => '',
|
||||
':season_time' => $season_time
|
||||
));
|
||||
if (!$ret) {
|
||||
die();
|
||||
@ -145,7 +184,7 @@ class RoleController{
|
||||
'harm' => 0,
|
||||
'add_HP' => 0,
|
||||
'alive_time' => 0,
|
||||
'coin_num' => 0,
|
||||
'coin_num' => 200,
|
||||
'first_fight' => 0,
|
||||
'collect_status' => 0,
|
||||
'keys_num' => 0,
|
||||
@ -174,15 +213,6 @@ class RoleController{
|
||||
'newInfo' => ''
|
||||
));
|
||||
} else {
|
||||
/*$ret = $conn->execScript('UPDATE user SET first_login=1 ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
));
|
||||
if (!$ret) {
|
||||
die();
|
||||
return;
|
||||
}*/
|
||||
if ($avatar_url != '') {
|
||||
if ($user_name != $row['user_name']) {
|
||||
$ret = $conn->execScript('UPDATE user SET user_name=:user_name, modify_time=:modify_time ' .
|
||||
@ -221,7 +251,14 @@ class RoleController{
|
||||
$daily_first_login = 0;
|
||||
$kefu_status = 0;
|
||||
$coin_times = 0;
|
||||
if (time() > $row['season_time'] && $row['season_time'] != 0) {
|
||||
$this->updateSeasonStatus($account_id);
|
||||
}
|
||||
}
|
||||
$row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id
|
||||
));
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
@ -266,6 +303,63 @@ class RoleController{
|
||||
}
|
||||
}
|
||||
|
||||
protected function updateSeasonStatus($account_id)
|
||||
{
|
||||
$conn = $this->getMysql($account_id);
|
||||
if (!$conn) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
die();
|
||||
}
|
||||
//刷新赛季奖励状态
|
||||
$rowUser = $conn->execQueryOne('SELECT season_time, pass_status, integral ' .
|
||||
' FROM user WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
));
|
||||
if (time() > $rowUser['season_time'] && $rowUser['season_time'] != 0) {
|
||||
$season_meta_table = require('../res/season@season.php');
|
||||
$end_time = 0;
|
||||
for ($i = 1; $i <= count($season_meta_table); $i++) {
|
||||
$season = $this->getSeason($i);
|
||||
if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
$end_time = strtotime($season['end_time']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$season_point_table = require('../res/seasomPoint@seasomPoint.php');
|
||||
$integral = 0;
|
||||
for ($j = 1; $j <= count($season_point_table); $j++) {
|
||||
$seasonpoint = $this->getSeasonPoint($j);
|
||||
if ($rowUser['integral'] <= $seasonpoint['max'] ||
|
||||
$seasonpoint['max'] == -1) {
|
||||
$integral = $seasonpoint['topoint'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
$user_ret = $conn->execScript('UPDATE user SET pass_status=0, score=0, season_status=0, integral=:integral, season_end_score=:season_end_score, modify_time=:modify_time, season_games=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, season_win=0, season_time=:season_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':season_end_score' => $rowUser['integral'],
|
||||
':modify_time' => time(),
|
||||
':season_time' => $end_time,
|
||||
':integral' => $integral
|
||||
));
|
||||
if (!$user_ret) {
|
||||
die();
|
||||
}
|
||||
$pass_ret = $conn->execScript('UPDATE passinfo SET active_status=0, honor_status=0, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':modify_time' => time()
|
||||
));
|
||||
if (!$pass_ret) {
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function updateDaily($account_id, $daily_time)
|
||||
{
|
||||
$nowTime = phpcommon\getdayseconds(time());
|
||||
|
@ -172,7 +172,7 @@ class SignController{
|
||||
if ($nowTime - phpcommon\getdayseconds($rowuser['update_time']) > 0) {
|
||||
//每日刷新
|
||||
$this->updateDaily($account_id);
|
||||
$this->updateSeasonStatus($account_id);
|
||||
//$this->updateSeasonStatus($account_id);
|
||||
if (phpcommon\getMondayseconds(time()) - phpcommon\getMondayseconds($rowuser['update_time']) > 0) {
|
||||
$this->updateWeekReward($account_id);
|
||||
}
|
||||
@ -490,61 +490,61 @@ class SignController{
|
||||
die();
|
||||
}
|
||||
}
|
||||
protected function updateSeasonStatus($account_id)
|
||||
{
|
||||
$conn = $this->getMysql($account_id);
|
||||
if (!$conn) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
die();
|
||||
}
|
||||
//刷新赛季奖励状态
|
||||
$rowUser = $conn->execQueryOne('SELECT season_time, pass_status, integral ' .
|
||||
' FROM user WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
));
|
||||
if (time() > $rowUser['season_time'] && $rowUser['season_time'] != 0) {
|
||||
$season_meta_table = require('../res/season@season.php');
|
||||
$end_time = 0;
|
||||
for ($i = 1; $i <= count($season_meta_table); $i++) {
|
||||
$season = $this->getSeason($i);
|
||||
if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
$end_time = strtotime($season['end_time']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$season_point_table = require('../res/seasomPoint@seasomPoint.php');
|
||||
$integral = 0;
|
||||
for ($j = 1; $j <= count($season_point_table); $j++) {
|
||||
$seasonpoint = $this->getSeasonPoint($j);
|
||||
if ($rowUser['integral'] <= $seasonpoint['max']) {
|
||||
$integral = $seasonpoint['topoint'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
$user_ret = $conn->execScript('UPDATE user SET pass_status=0, score=0, season_status=0, integral=:integral, season_end_score=:season_end_score, modify_time=:modify_time, season_games=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, season_win=0, season_time=:season_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':season_end_score' => $rowUser['integral'],
|
||||
':modify_time' => time(),
|
||||
':season_time' => $end_time,
|
||||
':integral' => $integral
|
||||
));
|
||||
if (!$user_ret) {
|
||||
die();
|
||||
}
|
||||
$pass_ret = $conn->execScript('UPDATE passinfo SET active_status=0, honor_status=0, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
array(
|
||||
':accountid' => $account_id,
|
||||
':modify_time' => time()
|
||||
));
|
||||
if (!$pass_ret) {
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
// protected function updateSeasonStatus($account_id)
|
||||
// {
|
||||
// $conn = $this->getMysql($account_id);
|
||||
// if (!$conn) {
|
||||
// phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
// die();
|
||||
// }
|
||||
// //刷新赛季奖励状态
|
||||
// $rowUser = $conn->execQueryOne('SELECT season_time, pass_status, integral ' .
|
||||
// ' FROM user WHERE accountid=:accountid;',
|
||||
// array(
|
||||
// ':accountid' => $account_id,
|
||||
// ));
|
||||
// if (time() > $rowUser['season_time']) {
|
||||
// $season_meta_table = require('../res/season@season.php');
|
||||
// $end_time = 0;
|
||||
// for ($i = 1; $i <= count($season_meta_table); $i++) {
|
||||
// $season = $this->getSeason($i);
|
||||
// if (time() >= strtotime($season['open_time']) && time() <= strtotime($season['end_time'])) {
|
||||
// $end_time = strtotime($season['end_time']);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// $season_point_table = require('../res/seasomPoint@seasomPoint.php');
|
||||
// $integral = 0;
|
||||
// for ($j = 1; $j <= count($season_point_table); $j++) {
|
||||
// $seasonpoint = $this->getSeasonPoint($j);
|
||||
// if ($rowUser['integral'] <= $seasonpoint['max']) {
|
||||
// $integral = $seasonpoint['topoint'];
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// $user_ret = $conn->execScript('UPDATE user SET pass_status=0, score=0, season_status=0, integral=:integral, season_end_score=:season_end_score, modify_time=:modify_time, season_games=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, season_win=0, season_time=:season_time ' .
|
||||
// ' WHERE accountid=:accountid;',
|
||||
// array(
|
||||
// ':accountid' => $account_id,
|
||||
// ':season_end_score' => $rowUser['integral'],
|
||||
// ':modify_time' => time(),
|
||||
// ':season_time' => $end_time,
|
||||
// ':integral' => $integral
|
||||
// ));
|
||||
// if (!$user_ret) {
|
||||
// die();
|
||||
// }
|
||||
// $pass_ret = $conn->execScript('UPDATE passinfo SET active_status=0, honor_status=0, modify_time=:modify_time ' .
|
||||
// ' WHERE accountid=:accountid;',
|
||||
// array(
|
||||
// ':accountid' => $account_id,
|
||||
// ':modify_time' => time()
|
||||
// ));
|
||||
// if (!$pass_ret) {
|
||||
// die();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
protected function updateWeekReward($account_id)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user