This commit is contained in:
wangwei01 2019-05-08 13:29:57 +08:00
parent 259d58555e
commit c077bf9257
4 changed files with 47 additions and 16 deletions

View File

@ -70,7 +70,8 @@ CREATE TABLE `skin` (
`accountid` varchar(60) DEFAULT '' COMMENT '账号id(channel + "_" + gameid + "_" + openid)', `accountid` varchar(60) 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 '皮肤状态',
`frgment_num` int(11) NOT NULL COMMENT '碎片数量', `fragment_id` int(11) NOT NULL COMMENT '碎片id',
`fragment_num` int(11) NOT NULL COMMENT '碎片数量',
`active_time` varchar(50) NOT NULL DEFAULT '有效时间', `active_time` varchar(50) NOT NULL DEFAULT '有效时间',
PRIMARY KEY (`idx`), PRIMARY KEY (`idx`),
KEY `accountid` (`accountid`) KEY `accountid` (`accountid`)

View File

@ -54,36 +54,43 @@ function getRedisConfig($hash_value)
function getSkinConfig($skin_table ,$item_id) function getSkinConfig($skin_table ,$item_id)
{ {
$item_id = (int)$item_id;
return array_key_exists($item_id, $skin_table) ? $skin_table[$item_id] : null; return array_key_exists($item_id, $skin_table) ? $skin_table[$item_id] : null;
} }
function getEquipConfig($equip_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; return array_key_exists($item_id, $equip_table) ? $equip_table[$item_id] : null;
} }
function getSupplyConfig($supply_table, $box_id) function getSupplyConfig($supply_table, $box_id)
{ {
$box_id = (int)$box_id;
return array_key_exists($box_id, $supply_table) ? $supply_table[$box_id] : null; return array_key_exists($box_id, $supply_table) ? $supply_table[$box_id] : null;
} }
function getDropConfig($drop_table, $drop_id) function getDropConfig($drop_table, $drop_id)
{ {
$drop_id = (int)$drop_id;
return array_key_exists($drop_id, $drop_table) ? $drop_table[$drop_id] : null; return array_key_exists($drop_id, $drop_table) ? $drop_table[$drop_id] : null;
} }
function getSignConfig($sign_table, $sign_id) function getSignConfig($sign_table, $sign_id)
{ {
$sign_id = (int)$sign_id;
return array_key_exists($sign_id, $sign_table) ? $sign_table[$sign_id] : null; return array_key_exists($sign_id, $sign_table) ? $sign_table[$sign_id] : null;
} }
function getQuestConfig($quest_table, $quest_id) function getQuestConfig($quest_table, $quest_id)
{ {
$quest_id = (int)$quest_id;
return array_key_exists($quest_id, $quest_table) ? $quest_table[$quest_id] : null; return array_key_exists($quest_id, $quest_table) ? $quest_table[$quest_id] : null;
} }
function getTaskRewardConfig($taskReward_table, $taskReward_id) function getTaskRewardConfig($taskReward_table, $taskReward_id)
{ {
$taskReward_id = (int)$taskReward_id;
return array_key_exists($taskReward_id, $taskReward_table) ? $taskReward_table[$taskReward_id] : null; return array_key_exists($taskReward_id, $taskReward_table) ? $taskReward_table[$taskReward_id] : null;
} }
checkMysqlConfig(); checkMysqlConfig();

View File

@ -40,8 +40,7 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个玩家'); phpcommon\sendError(ERR_USER_BASE + 1,'没有这个玩家');
return; return;
} }
$rowCount = $conn->execQueryRowCount('SELECT accountid, skin_id, skin_status, frgment_num, active_time ' . $rowCount = $conn->execQueryRowCount('SELECT * FROM skin WHERE accountid = :account_id;',
' FROM skin WHERE accountid = :account_id;',
array( array(
':account_id' => $account_id ':account_id' => $account_id
)); ));
@ -52,12 +51,13 @@ class SkinController{
} else { } else {
$skin_status = 2; $skin_status = 2;
} }
$ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, frgment_num, active_time) ' . $ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, fragment_id, fragment_num, active_time) ' .
' VALUES(:account_id, :skin_id, :skin_status, :fragment_num, :active_time);', ' VALUES(:account_id, :skin_id, :skin_status, :fragment_id, :fragment_num, :active_time);',
array( array(
':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_num' => 0, ':fragment_num' => 0,
':active_time' => 0, ':active_time' => 0,
)); ));
@ -68,8 +68,7 @@ class SkinController{
} }
} }
$time = 0; $time = 0;
$rows = $conn->execQuery('SELECT accountid, skin_id, skin_status, frgment_num, active_time ' . $rows = $conn->execQuery('SELECT * FROM skin WHERE accountid = :account_id;',
' FROM skin WHERE accountid = :account_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
)); ));
@ -111,7 +110,7 @@ class SkinController{
array_push($skin_list, array( array_push($skin_list, array(
'skin_id' => $row['skin_id'], 'skin_id' => $row['skin_id'],
'skin_status' => $row['skin_status'], 'skin_status' => $row['skin_status'],
'fragment_num' => $row['frgment_num'], 'fragment_num' => $row['fragment_num'],
'active_time' => $time, 'active_time' => $time,
)); ));
} }
@ -138,7 +137,7 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个皮肤1'); phpcommon\sendError(ERR_USER_BASE + 1,'没有这个皮肤1');
return; return;
} }
$row = $conn->execQueryOne('SELECT accountid, skin_id, skin_status, frgment_num, active_time ' . $row = $conn->execQueryOne('SELECT accountid, skin_id, skin_status, fragment_num, active_time ' .
' FROM skin WHERE accountid = :account_id AND skin_id = :skin_id;', ' FROM skin WHERE accountid = :account_id AND skin_id = :skin_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
@ -149,10 +148,10 @@ class SkinController{
return; return;
} }
$fragment_num = 0; $fragment_num = 0;
if($row['frgment_num'] >= $s['skin_compose']){ if($row['fragment_num'] >= $s['skin_compose']){
$fragment_num = $row['frgment_num'] - $s['skin_compose']; $fragment_num = $row['fragment_num'] - $s['skin_compose'];
}else{ }else{
$coin = $s['skin_price'] * 1.0 / $s['skin_compose'] * ($s['skin_compose'] - $row['frgment_num']); $coin = $s['skin_price'] * 1.0 / $s['skin_compose'] * ($s['skin_compose'] - $row['fragment_num']);
$row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', $row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;',
array( array(
':accountid' => $account_id ':accountid' => $account_id
@ -170,12 +169,12 @@ class SkinController{
$fragment_num = 0; $fragment_num = 0;
} }
$ret = $conn->execScript('UPDATE skin SET frgment_num=:frgment_num ,skin_status=1 ' . $ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ,skin_status=1 ' .
' WHERE accountid = :account_id AND skin_id = :skin_id;', ' WHERE accountid = :account_id AND skin_id = :skin_id;',
array( array(
':account_id' => $account_id, ':account_id' => $account_id,
':skin_id' => $skin_id, ':skin_id' => $skin_id,
':frgment_num' => $fragment_num ':fragment_num' => $fragment_num
)); ));
if(!$ret){ if(!$ret){
die(); die();

View File

@ -69,7 +69,7 @@ class SupplyBoxController{
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
return; return;
} }
$rowCount = $conn->execQueryRowCount('SELECT * FROM supplybox WHERE accountid = :account_id;', $rowCount = $conn->execQueryRowCount('SELECT * FROM supplybox WHERE accountid=:account_id;',
array( array(
':account_id' => $account_id ':account_id' => $account_id
)); ));
@ -134,7 +134,6 @@ class SupplyBoxController{
phpcommon\sendError(ERR_USER_BASE + 3, '没有这个奖励'); phpcommon\sendError(ERR_USER_BASE + 3, '没有这个奖励');
return; return;
} }
$item_list = array(); $item_list = array();
$row = $conn->execQueryOne('SELECT * FROM supplybox WHERE accountid=:accountid AND box_id=:box_id;', $row = $conn->execQueryOne('SELECT * FROM supplybox WHERE accountid=:accountid AND box_id=:box_id;',
array( array(
@ -192,7 +191,9 @@ class SupplyBoxController{
break; break;
} }
} }
$item_id_array = $this->getExplode($d['item_id']); $item_id_array = $this->getExplode($d['item_id']);
$num_array = $this->getExplode($d['num']); $num_array = $this->getExplode($d['num']);
$item_id = $item_id_array[$key][0]; $item_id = $item_id_array[$key][0];
$item_num = $num_array[$key][0] * $mul; $item_num = $num_array[$key][0] * $mul;
@ -211,6 +212,8 @@ class SupplyBoxController{
':accountid' => $account_id, ':accountid' => $account_id,
':coin_num' => $item_num + $row1['coin_num'] ':coin_num' => $item_num + $row1['coin_num']
)); ));
} else {
$this->addReward($item_id, $item_num, $account_id);
} }
$quest = new classes\Quest(); $quest = new classes\Quest();
$quest->triggerQuest(71004, 1, 1, $account_id); $quest->triggerQuest(71004, 1, 1, $account_id);
@ -306,5 +309,26 @@ class SupplyBoxController{
'errmsg' => '', 'errmsg' => '',
)); ));
} }
public function addReward($item_id, $item_num, $account_id)
{
$conn = $this->getMysql($account_id);
if (!$conn) {
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
return;
}
$rowSkin = $conn->execQueryOne('SELECT * FROM skin WHERE accountid=:accountid AND fragment_id=:fragment_id;',
array(
':accountid' => $account_id,
':fragment_id' => $item_id
));
$ret = $conn->execScript('UPDATE skin SET fragment_num=:fragment_num ' .
' WHERE accountid=:accountid AND fragment_id=:fragment_id;',
array(
':accountid' => $account_id,
':fragment_id' => $item_id,
':fragment_num' => $item_num + $rowSkin['fragment_num']
));
}
} }
?> ?>