This commit is contained in:
wangwei01 2019-06-19 15:59:25 +08:00
parent 63f71b6e7c
commit 84798f3b31
6 changed files with 77 additions and 87 deletions

View File

@ -73,11 +73,11 @@ CREATE TABLE `skin` (
`idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', `idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)', `accountid` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)',
`skin_id` int(11) NOT NULL COMMENT '皮肤id', `skin_id` int(11) NOT NULL COMMENT '皮肤id',
`skin_status` int(11) NOT NULL COMMENT '皮肤状态', `skin_status` int(11) NOT NULL COMMENT '皮肤状态0:上阵中,1:已获得)',
`fragment_id` int(11) NOT NULL COMMENT '碎片id', `fragment_id` int(11) NOT NULL COMMENT '碎片id',
`fragment_num` int(11) NOT NULL COMMENT '碎片数量', `fragment_num` int(11) NOT NULL COMMENT '碎片数量',
`active_time` varchar(50) NOT NULL DEFAULT '有效时间', `active_time` varchar(50) NOT NULL DEFAULT '有效时间(体验时间)',
`fragment_status` int(11) NOT NULL COMMENT '碎片收集状态', `fragment_status` int(11) NOT NULL COMMENT '碎片收集状态(活动相关)',
`skin_type` int(11) NOT NULL COMMENT '皮肤类型', `skin_type` int(11) NOT NULL COMMENT '皮肤类型',
`skin_level` int(11) NOT NULL COMMENT '皮肤等级', `skin_level` int(11) NOT NULL COMMENT '皮肤等级',
`skin_experience_level` int(11) NOT NULL COMMENT '皮肤体验等级', `skin_experience_level` int(11) NOT NULL COMMENT '皮肤体验等级',

View File

@ -25,12 +25,11 @@ class EquipController{
'equip_id' => $equip_conf['id'], 'equip_id' => $equip_conf['id'],
'equip_name' => $equip_conf['name'], 'equip_name' => $equip_conf['name'],
'equip_type' => $equip_conf['equip_page'], 'equip_type' => $equip_conf['equip_page'],
'equip_level' => $equip_conf['level'], 'cost_int' => $equip_conf['cost_int'],
'equip_nextlevel' => $equip_conf['next_level'], 'max_lv' => $equip_conf['max_lv'],
'equip_cost' => $equip_conf['cost'], 'equip_cost' => $equip_conf['cost'],
'equip_attr_type' => $equip_conf['attr_type'], 'equip_attr_type' => $equip_conf['attr_type'],
'equip_attr_value' => $equip_conf['attr_value'], );
);
return $e; return $e;
} }
@ -46,23 +45,31 @@ class EquipController{
return $p; return $p;
} }
protected function subCoin($account_id, $equip_id) protected function subCoin($account_id, $equip_id, $equip_level, $free)
{ {
$e = $this->getEquip($equip_id); $e = $this->getEquip($equip_id);
if (!$e) { if (!$e) {
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个装备'); phpcommon\sendError(ERR_USER_BASE + 2, '没有这个装备');
die(); die();
} }
if ($e['max_lv'] <= $equip_level) {
phpcommon\sendError(ERR_USER_BASE + 4, '装备已到满级');
die();
}
$conn = $this->getMysql($account_id); $conn = $this->getMysql($account_id);
if (!$conn) { if (!$conn) {
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
die(); die();
} }
$coin_num = $e['equip_cost'] * $equip_level + $e['cost_int'];
if ($free == 1) {
$coin_num = 0;
}
$rowCoin = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', $rowCoin = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;',
array( array(
':accountid' => $account_id ':accountid' => $account_id
)); ));
if ($rowCoin['coin_num'] < $e['equip_cost']) { if ($rowCoin['coin_num'] < $coin_num) {
phpcommon\sendError(ERR_USER_BASE + 3, '金币不足'); phpcommon\sendError(ERR_USER_BASE + 3, '金币不足');
die(); die();
} }
@ -70,7 +77,7 @@ class EquipController{
' WHERE accountid=:accountid;', ' WHERE accountid=:accountid;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':coin_num' => $rowCoin['coin_num'] - $e['equip_cost'], ':coin_num' => $rowCoin['coin_num'] - $coin_num,
':modify_time' => time() ':modify_time' => time()
)); ));
if (!$ret) { if (!$ret) {
@ -94,7 +101,7 @@ class EquipController{
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
return; return;
} }
$rowCount = $conn->execQueryRowCount('SELECT * FROM equip WHERE accountid = :account_id;', $rowCount = $conn->execQueryRowCount('SELECT * FROM equip WHERE accountid=:account_id;',
array( array(
':account_id' => $account_id ':account_id' => $account_id
)); ));
@ -160,8 +167,7 @@ class EquipController{
return; return;
} }
$equip_id = $_REQUEST['equip_id']; $equip_id = $_REQUEST['equip_id'];
$coin_num = $_REQUEST['coin_num']; $free = $_REQUEST['free'];
$equip_level = $_REQUEST['equip_level'];
$row = $conn->execQueryOne('SELECT * FROM equip WHERE accountid=:account_id AND equip_id=:equip_id;', $row = $conn->execQueryOne('SELECT * FROM equip WHERE accountid=:account_id AND equip_id=:equip_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
@ -169,14 +175,14 @@ class EquipController{
)); ));
if (!$row) { if (!$row) {
$e = $this->subCoin($account_id, $equip_id . '-' . 1); $e = $this->subCoin($account_id, $equip_id, 1, $free);
$ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' . $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' .
' VALUES(:accountid, :equip_id, :equip_level, :equip_experience_level, :active_time, :create_time, modify_time) ' . ' VALUES(:accountid, :equip_id, :equip_level, :equip_experience_level, :active_time, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=:equip_level, equip_experience_level=:equip_experience_level, active_time=:active_time, modify_time=:modify_time;', ' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=:equip_level, equip_experience_level=:equip_experience_level, active_time=:active_time, modify_time=:modify_time;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':equip_id' => $equip_id, ':equip_id' => $equip_id,
':equip_level' => $e['equip_nextlevel'], ':equip_level' => 2,
':equip_experience_level' => 0, ':equip_experience_level' => 0,
':active_time' => 0, ':active_time' => 0,
':create_time' => time(), ':create_time' => time(),
@ -187,17 +193,13 @@ class EquipController{
return; return;
} }
} else { } else {
if ($row['equip_level'] >= 9) { $e = $this->subCoin($account_id, $equip_id, $row['equip_level'], $free);
phpcommon\sendError(ERR_USER_BASE + 4, '装备已到满级');
return;
}
$e = $this->subCoin($account_id, $equip_id . '-' . $row['equip_level']);
$ret = $conn->execScript('UPDATE equip SET equip_level=:equip_level, modify_time=:modify_time ' . $ret = $conn->execScript('UPDATE equip SET equip_level=:equip_level, modify_time=:modify_time ' .
' WHERE accountid=:account_id AND equip_id=:equip_id;', ' WHERE accountid=:account_id AND equip_id=:equip_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
':equip_id' => $equip_id, ':equip_id' => $equip_id,
':equip_level' => $e['equip_nextlevel'], ':equip_level' => $row['equip_level'] + 1,
':modify_time' => time() ':modify_time' => time()
)); ));
if (!$ret) { if (!$ret) {
@ -207,7 +209,7 @@ class EquipController{
} }
$quest = new classes\Quest(); $quest = new classes\Quest();
$quest->triggerQuest(QUEST_DAY_UPDATEEQUIP, 1, 1, $account_id); $quest->triggerQuest(QUEST_DAY_UPDATEEQUIP, 1, 1, $account_id);
if ($e['equip_nextlevel'] == 9) { if ($row['equip_level'] + 1 >= $e['max_lv']) {
$quest->triggerQuest(QUEST_SUM_EQUIPMAX, 2, 1, $account_id); $quest->triggerQuest(QUEST_SUM_EQUIPMAX, 2, 1, $account_id);
} }
echo json_encode(array( echo json_encode(array(
@ -233,7 +235,7 @@ class EquipController{
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个角色'); phpcommon\sendError(ERR_USER_BASE + 1, '没有这个角色');
return; return;
} }
$e = $this->getEquip($equip_id . '-' . $equip_level); $e = $this->getEquip($equip_id);
if (!$e) { if (!$e) {
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个装备'); phpcommon\sendError(ERR_USER_BASE + 2, '没有这个装备');
return; return;
@ -247,27 +249,29 @@ class EquipController{
)); ));
if (!$row) { if (!$row) {
$ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' . $ret = $conn->execScript('INSERT INTO equip(accountid, equip_id, equip_level, equip_experience_level, active_time, create_time, modify_time) ' .
' VALUES(:accountid, :equip_id, 1, 9, :active_time, :create_time, :modify_time) ' . ' VALUES(:accountid, :equip_id, 1, :equip_experience_level, :active_time, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=1, equip_experience_level=9, active_time=:active_time, modify_time=:modify_time;', ' ON DUPLICATE KEY UPDATE accountid=:accountid, equip_id=:equip_id, equip_level=1, equip_experience_level=9, active_time=:active_time, modify_time=:modify_time;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':equip_id' => $equip_id, ':equip_id' => $equip_id,
':active_time' => time() + $time, ':active_time' => time() + $time,
':create_time' => time(), ':create_time' => time(),
':modify_time' => time() ':modify_time' => time(),
':equip_experience_level' => $e['max_lv']
)); ));
if (!$ret) { if (!$ret) {
die(); die();
return; return;
} }
} else { } else {
$ret = $conn->execScript('UPDATE equip SET active_time=:active_time, equip_experience_level=9, modify_time=:modify_time ' . $ret = $conn->execScript('UPDATE equip SET active_time=:active_time, equip_experience_level=:equip_experience_level, modify_time=:modify_time ' .
' WHERE accountid=:account_id AND equip_id=:equip_id;', ' WHERE accountid=:account_id AND equip_id=:equip_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
':equip_id' => $equip_id, ':equip_id' => $equip_id,
':active_time' => time() + $time, ':active_time' => time() + $time,
':modify_time' => time() ':modify_time' => time(),
':equip_experience_level' => $e['max_lv']
)); ));
if (!$ret) { if (!$ret) {
die(); die();

View File

@ -87,9 +87,9 @@ class RoleController{
':accountid' => $account_id ':accountid' => $account_id
)); ));
if (!$row) { if (!$row) {
$ret = $conn->execScript('INSERT INTO user(accountid, user_name, avatar_url, rank, 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) ' . $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) ' .
' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, create_time, :modify_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) ' .
' ON DUPLICATE KEY UPDATE accountid=:accountid, user_name=:user_name, avatar_url=:avatar_url, rank=0, 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;', ' 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;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':user_name' => $user_name, ':user_name' => $user_name,

View File

@ -83,15 +83,15 @@ class SignController{
} }
$conn = $this->getMysql($account_id); $conn = $this->getMysql($account_id);
$sign_days = 0; $sign_days = 0;
$signable = 0; $signable = 1;
if (!$conn) { if (!$conn) {
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
return; return;
} }
$row1 = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', $row1 = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;',
array( array(
':accountid' => $account_id ':accountid' => $account_id
)); ));
$row = $conn->execQueryOne('SELECT * FROM sign WHERE accountid=:accountid;', $row = $conn->execQueryOne('SELECT * FROM sign WHERE accountid=:accountid;',
array( array(
@ -104,14 +104,13 @@ class SignController{
$start_time = $array[0][0] * 3600 + $array[0][1] * 60 + $nowTime; $start_time = $array[0][0] * 3600 + $array[0][1] * 60 + $nowTime;
$end_time = $array[1][0] * 3600 + $array[1][1] * 60 + $nowTime; $end_time = $array[1][0] * 3600 + $array[1][1] * 60 + $nowTime;
if (!$row) { if (!$row) {
$ret = $conn->execScript('INSERT INTO sign(accountid, sign_days, signable, sign_time, create_time, modify_time) ' . $ret = $conn->execScript('INSERT INTO sign(accountid, sign_days, sign_time, create_time, modify_time) ' .
' VALUES(:accountid, :sign_days, :signable, :sign_time, :create_time, :modify_time) ' . ' VALUES(:accountid, :sign_days, :sign_time, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:accountid, sign_days=:sign_days, signable=:signable, sign_time=:sign_time, modify_time=:modify_time;', ' ON DUPLICATE KEY UPDATE accountid=:accountid, sign_days=:sign_days, sign_time=:sign_time, modify_time=:modify_time;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':sign_days' => 1, ':sign_days' => 0,
':signable' => 0, ':sign_time' => 0,
':sign_time' => time(),
':create_time' => time(), ':create_time' => time(),
':modify_time' => time() ':modify_time' => time()
)); ));
@ -120,6 +119,7 @@ class SignController{
return; return;
} }
$sign_days = 1; $sign_days = 1;
$signable = 0;
$quest = new classes\Quest(); $quest = new classes\Quest();
$quest->triggerQuest(QUEST_DAY_LOGIN, 1, 1, $account_id); $quest->triggerQuest(QUEST_DAY_LOGIN, 1, 1, $account_id);
$quest->triggerQuest(QUEST_SUM_LOGIN, 2, 1, $account_id); $quest->triggerQuest(QUEST_SUM_LOGIN, 2, 1, $account_id);
@ -130,19 +130,7 @@ class SignController{
if ($nowTime - phpcommon\getdayseconds($row['sign_time']) > 0) { if ($nowTime - phpcommon\getdayseconds($row['sign_time']) > 0) {
$sign_days = $row['sign_days'] + 1; $sign_days = $row['sign_days'] + 1;
$signable = 0; $signable = 0;
$ret = $conn->execScript('UPDATE sign SET sign_days=:sign_days, sign_time=:sign_time, signable=:signable, modify_time=:modify_time ' .
' WHERE accountid=:accountid;',
array(
':accountid' => $account_id,
':sign_days' => $sign_days,
':signable' => $signable,
':sign_time' => time(),
':modify_time' => time()
));
if (!$ret) {
die();
return;
}
//刷新每日任务和活动任务 //刷新每日任务和活动任务
$rowCount = $conn->execQueryRowCount('SELECT * FROM quest WHERE accountid=:accountid;', $rowCount = $conn->execQueryRowCount('SELECT * FROM quest WHERE accountid=:accountid;',
array( array(
@ -192,7 +180,7 @@ class SignController{
} }
} else { } else {
$sign_days = $row['sign_days']; $sign_days = $row['sign_days'];
$signable = $row['signable']; $signable = 1;
if (time() >= $start_time && time() < $end_time) { if (time() >= $start_time && time() < $end_time) {
$quest = new classes\Quest(); $quest = new classes\Quest();
$quest->triggerQuest(QUEST_ACTIVITY_LOGIN, 3, 1, $account_id); $quest->triggerQuest(QUEST_ACTIVITY_LOGIN, 3, 1, $account_id);
@ -251,15 +239,16 @@ class SignController{
array( array(
':accountid' => $account_id ':accountid' => $account_id
)); ));
if (!$row || $row['signable'] == 1) { if (!$row || phpcommon\getdayseconds(time()) - phpcommon\getdayseconds($row['sign_time']) <= 0) {
phpcommon\sendError(ERR_USER_BASE + 2, '今日已签到'); phpcommon\sendError(ERR_USER_BASE + 2, '今日已签到');
return; return;
} }
$ret = $conn->execScript('UPDATE sign SET sign_time=:sign_time, signable=1, modify_time=:modify_time ' . $ret = $conn->execScript('UPDATE sign SET sign_time=:sign_time, sign_days=:sign_days, modify_time=:modify_time ' .
' WHERE accountid=:accountid;', ' WHERE accountid=:accountid;',
array( array(
':accountid' => $account_id, ':accountid' => $account_id,
':sign_days' => $row['sign_days'] + 1,
':sign_time' => time(), ':sign_time' => time(),
':modify_time' => time() ':modify_time' => time()
)); ));

View File

@ -25,29 +25,17 @@ class SkinController{
'skin_skillid' => $skin_conf['skill_id'], 'skin_skillid' => $skin_conf['skill_id'],
'skin_compose' => $skin_conf['compose'], 'skin_compose' => $skin_conf['compose'],
'skin_experience' => $skin_conf['is_experience'], 'skin_experience' => $skin_conf['is_experience'],
'skin_price' => $skin_conf['price'],
'skin_type' => $skin_conf['type'], 'skin_type' => $skin_conf['type'],
'duration' => $skin_conf['duration'] 'duration' => $skin_conf['duration'],
'debris_id' => $skin_conf['debris'],
'cost' => $skin_conf['cost'],
'cost_int' => $skin_conf['cost_int'],
'max_lv' => $skin_conf['max_lv'],
); );
return $s; return $s;
} }
protected function getDressUpgrade($skin_id) protected function getExplode($string)
{
$g_conf_skin_cluster = require('../res/dressUpgrade@dressUpgrade.php');
$skin_conf = getDressUpgradeConfig($g_conf_skin_cluster, $skin_id);
$d = array(
'id' => $skin_conf['id'],
'name' => $skin_conf['name'],
'level' => $skin_conf['level'],
'next_level' => $skin_conf['next_level'],
'debris_id' => $skin_conf['debris'],
'debris_num' => $skin_conf['debris_number'],
);
return $d;
}
protected function getExplode($string)
{ {
$delim = "|"; $delim = "|";
$drop_multiply = explode($delim, $string); $drop_multiply = explode($delim, $string);
@ -162,7 +150,7 @@ class SkinController{
':account_id' => $account_id, ':account_id' => $account_id,
':skin_id' => $i, ':skin_id' => $i,
':skin_status' => $skin_status, ':skin_status' => $skin_status,
':fragment_id' => $i - 1000, ':fragment_id' => $s['debris_id'],
':skin_type' => $s['skin_type'], ':skin_type' => $s['skin_type'],
':create_time' => time(), ':create_time' => time(),
':modify_time' => time() ':modify_time' => time()
@ -194,12 +182,13 @@ class SkinController{
)); ));
$skin_id = 0; $skin_id = 0;
foreach ($rowsSkin as $rowSkin) { foreach ($rowsSkin as $rowSkin) {
$s = $this->getSkin($rowSkin['skin_id']);
if ($skin_id == $rowSkin['skin_id']) { if ($skin_id == $rowSkin['skin_id']) {
continue; continue;
} }
$skin_id = $rowSkin['skin_id']; $skin_id = $rowSkin['skin_id'];
if ($rowSkin['active_time'] != 0 && $rowSkin['skin_experience_type'] == 2) { if ($rowSkin['active_time'] != 0 && $rowSkin['skin_experience_type'] == 2) {
$skin_level = 9; $skin_level = $s['max_lv'];
} else { } else {
$skin_level = $rowSkin['skin_level']; $skin_level = $rowSkin['skin_level'];
} }
@ -390,7 +379,7 @@ class SkinController{
$time = $s['duration']; $time = $s['duration'];
} }
if ($row['skin_status'] <= 1) { if ($row['skin_status'] <= 1) {
$ex_level = 9; $ex_level = $s['max_lv'];
$p = $this->getParameter(SKIN_SKILL_TIME); $p = $this->getParameter(SKIN_SKILL_TIME);
$time = $p['param_value']; $time = $p['param_value'];
$ex_type = 2; $ex_type = 2;
@ -435,7 +424,7 @@ class SkinController{
return; return;
} }
$skin_id = $_REQUEST['skin_id']; $skin_id = $_REQUEST['skin_id'];
$free = $_REQUEST['free'];
$row = $conn->execQueryOne('SELECT * FROM skin WHERE accountid=:account_id AND skin_id=:skin_id;', $row = $conn->execQueryOne('SELECT * FROM skin WHERE accountid=:account_id AND skin_id=:skin_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
@ -445,16 +434,20 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 1, '皮肤不存在'); phpcommon\sendError(ERR_USER_BASE + 1, '皮肤不存在');
return; return;
} }
$d = $this->getDressUpgrade($skin_id . '-' . $row['skin_level']); $s = $this->getSkin($skin_id);
if (!$d) { if (!$s) {
phpcommon\sendError(ERR_USER_BASE + 2, '没有这个皮肤'); phpcommon\sendError(ERR_USER_BASE + 2, '没有这个皮肤');
return; return;
} }
if ($d['next_level'] == 0) { if ($row['skin_level'] >= $s['max_lv']) {
phpcommon\sendError(ERR_USER_BASE + 3, '皮肤已到满级'); phpcommon\sendError(ERR_USER_BASE + 3, '皮肤已到满级');
return; return;
} }
if ($d['debris_num'] > $row['fragment_num']) { $debris_num = $s['cost'] * $row['skin_level'] + $s['cost_int'];
if ($free == 1) {
$debris_num = 0;
}
if ($debris_num > $row['fragment_num']) {
phpcommon\sendError(ERR_USER_BASE + 4, '皮肤碎片数量不足'); phpcommon\sendError(ERR_USER_BASE + 4, '皮肤碎片数量不足');
return; return;
} }
@ -464,7 +457,7 @@ class SkinController{
':account_id' => $account_id, ':account_id' => $account_id,
':skin_id' => $skin_id, ':skin_id' => $skin_id,
':skin_level' => $d['next_level'], ':skin_level' => $d['next_level'],
':fragment_num' => $row['fragment_num'] - $d['debris_num'], ':fragment_num' => $row['fragment_num'] - $debris_num,
':modify_time' => time() ':modify_time' => time()
)); ));
if (!$ret) { if (!$ret) {

View File

@ -1,7 +1,7 @@
<?php <?php
class teamController{ class TeamController{
protected function getRedis($team_uuid) protected function getRedis($team_uuid)
{ {
@ -21,7 +21,7 @@ class teamController{
if (isset($_REQUEST['node_id'])) { if (isset($_REQUEST['node_id'])) {
$node_id = (int)$_REQUEST['node_id']; $node_id = (int)$_REQUEST['node_id'];
} }
$team_uuid = $node_id . '_' . md5($_REQUEST['account_id']); $team_uuid = $node_id . '_' . md5($_REQUEST['account_id']) . time();
$team_db = array( $team_db = array(
'team_uuid' => $team_uuid, 'team_uuid' => $team_uuid,
@ -38,7 +38,7 @@ class teamController{
$r = $this->getRedis($team_uuid); $r = $this->getRedis($team_uuid);
$r -> set(TEAMID_KEY . $team_uuid, json_encode($team_db)); $r -> set(TEAMID_KEY . $team_uuid, json_encode($team_db));
$r -> pexpire(TEAMID_KEY . $team_uuid, 1000 * 3600); $r -> pexpire(TEAMID_KEY . $team_uuid, 1000 * 600);
echo json_encode (array( echo json_encode (array(
'errcode' => 0, 'errcode' => 0,
@ -221,6 +221,9 @@ class teamController{
} }
$r->set(TEAMID_KEY . $team_uuid, json_encode($user_db)); $r->set(TEAMID_KEY . $team_uuid, json_encode($user_db));
if (count($user_db['member_list']) == 0) {
$r->del(TEAMID_KEY . $team_uuid, json_encode($user_db));
}
} }
echo json_encode(array( echo json_encode(array(
'errcode' => 0, 'errcode' => 0,
@ -293,6 +296,7 @@ class teamController{
} }
$user_db['state'] = $_REQUEST['state']; $user_db['state'] = $_REQUEST['state'];
$r->set(TEAMID_KEY . $team_uuid, json_encode($user_db)); $r->set(TEAMID_KEY . $team_uuid, json_encode($user_db));
$r->pexpire(TEAMID_KEY . $team_uuid, 10 * 1000);
} }
echo json_encode(array( echo json_encode(array(
'errcode' => 0, 'errcode' => 0,