This commit is contained in:
aozhiwei 2020-01-14 19:16:52 +08:00
parent 6e0d643978
commit 533b302c79
2 changed files with 75 additions and 25 deletions

View File

@ -82,6 +82,8 @@ CREATE TABLE `user` (
`rank_modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '排位积分更新时间',
`vip_score` int(11) NOT NULL DEFAULT '0' COMMENT 'vip积分',
`first_login` int(11) NOT NULL DEFAULT '0' COMMENT '是否第一次登陆',
`daily_first_login` int(11) NOT NULL DEFAULT '0' COMMENT '每天是否第一次登陆',
`daily_time` int(11) NOT NULL DEFAULT '0' COMMENT '每日刷新时间',
PRIMARY KEY (`idx`),
UNIQUE KEY `accountid` (`accountid`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

View File

@ -100,15 +100,16 @@ class RoleController{
':accountid' => $account_id
));
if (!$row) {
$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) ' .
' 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) ' .
' 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;',
$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) ' .
' 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) ' .
' 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;',
array(
':accountid' => $account_id,
':user_name' => $user_name,
':avatar_url' => $avatar_url,
':create_time' => time(),
':modify_time' => time()
':modify_time' => time(),
':daily_time' => 0
));
if (!$ret) {
die();
@ -137,7 +138,8 @@ class RoleController{
'first_gift' => 0,
'sum_coin' => 0,
'recharge_times_total' => 0,
'first_login' => 0
'first_login' => 0,
'daily_first_login' => 0,
));
} else {
$ret = $conn->execScript('UPDATE user SET first_login=1 ' .
@ -149,6 +151,25 @@ class RoleController{
die();
return;
}
if ($user_name != $row['user_name']) {
$ret = $conn->execScript('UPDATE user SET user_name=:user_name, modify_time=:modify_time ' .
' WHERE accountid=:accountid;',
array(
':accountid' => $account_id,
':user_name' => $user_name,
':modify_time' => time()
));
}
if ($avatar_url != $row['avatar_url']) {
$ret = $conn->execScript('UPDATE user SET avatar_url=:avatar_url, modify_time=:modify_time ' .
' WHERE accountid=:accountid;',
array(
':accountid' => $account_id,
':avatar_url' => $avatar_url,
':modify_time' => time()
));
}
$daily_first_login = $this->updateDaily($account_id, $row['daily_first_login'], $row['daily_time']);
echo json_encode(array(
'errcode' => 0,
'errmsg' => '',
@ -172,11 +193,34 @@ class RoleController{
'first_gift' => $row['first_gift'],
'sum_coin' => $row['sum_coin'],
'recharge_times_total' => $row['recharge_times_total'],
'first_login' => 1
'first_login' => 1,
'daily_first_login' => $daily_first_login
));
}
}
protected function updateDaily($account_id, $daily_first_login, $daily_time)
{
$nowTime = phpcommon\getdayseconds(time());
$conn = $this->getMysql($account_id);
$daily_first_login = $daily_first_login + 1;
//更新人物信息
if ($daily_time == 0 || ($nowTime - phpcommon\getdayseconds($daily_time) > 0)) {
$daily_first_login = 0;
}
$ret = $conn->execScript('UPDATE user SET daily_first_login=:daily_first_login, ' .
'modify_time=:modify_time WHERE accountid=:accountid;',
array(
':accountid' => $account_id,
':modify_time' => time(),
':daily_first_login' => $daily_first_login,
));
if (!$ret) {
die();
}
return $daily_first_login;
}
public function battleReport()
{
$account_id = $_REQUEST['account_id']; //账号
@ -286,8 +330,13 @@ class RoleController{
if ($row['box_num'] + 1 <= 20) {
$box_num = $row['box_num'] + 1;
}
$ret = $conn->execScript('UPDATE user SET game_times=:game_times, kills=:kills, harm=:harm, add_HP=:add_HP, alive_time=:alive_time, kill_his=:kill_his, alive_time_his=:alive_time_his, harm_his=:harm_his, add_HP_his=:add_HP_his, coin_num=:coin_num, modify_time=:modify_time, first_fight=1, box_num=:box_num, score=:score ' .
' WHERE accountid=:accountid;',
$nowTime = phpcommon\getdayseconds(time());
$daily_time = $row['daily_time'];
if ($daily_time == 0 || ($nowTime - phpcommon\getdayseconds($daily_time) > 0)) {
$daily_time = time();
}
$ret = $conn->execScript('UPDATE user SET game_times=:game_times, kills=:kills, harm=:harm, add_HP=:add_HP, alive_time=:alive_time, kill_his=:kill_his, alive_time_his=:alive_time_his, harm_his=:harm_his, add_HP_his=:add_HP_his, coin_num=:coin_num, modify_time=:modify_time, first_fight=1, box_num=:box_num, score=:score, daily_time=:daily_time ' .
'WHERE accountid=:accountid;',
array(
':game_times' => $row['game_times'] + 1,
':kill_his' => $kill_his,
@ -303,6 +352,7 @@ class RoleController{
':modify_time' => time(),
':box_num' => $box_num,
':score' => $row['score'] + $score,
':daily_time' => $daily_time
));
if (!$ret) {
die();
@ -725,27 +775,12 @@ class RoleController{
phpcommon\sendError(ERR_USER_BASE + 1, 'session无效');
return;
}
$member_list = array();
$member = array();
$i = Rand(1, 100);
$coin = Rand(1, 100) * 0.01;
$num = 1;
$robot_id = 1000 + $i;
$rob = $this->getRobot($robot_id, $num);
array_push ($member_list, array(
'account_id' => $rob['id'],
'name' => $rob['name'],
'avatar_url' => $rob['avatar_url'],
));
echo json_encode(array(
'errcode' => 0,
'errmsg' => '',
'member_list' => $member_list,
'num' => $coin,
));
}
protected function getRobot($robot_id, $num)
{
$address = '../res/robot@robot' . $num . '.php';
$robot_meta_cluster = require($address);
$robot_meta = getRobotConfig($robot_meta_cluster, $robot_id);
@ -755,7 +790,20 @@ class RoleController{
'avatar_url' => $robot_meta['avatar_url'],
'sex' => $robot_meta['sex']
);
return $rob;
array_push ($member, array(
'account_id' => $rob['id'],
'name' => $rob['name'],
'avatar_url' => $rob['avatar_url'],
));
echo json_encode(array(
'errcode' => 0,
'errmsg' => '',
'member_list' => $member,
'sin_member' => $robot_meta_cluster,
'num' => $coin,
));
}
}
?>