This commit is contained in:
wangwei01 2019-07-15 14:08:04 +08:00
parent 0c5d3c7d36
commit 9e5dcd3aeb

View File

@ -22,7 +22,7 @@ class SkinController{
$s = array(
'id' => $skin_meta['id'],
'name' => $skin_meta['name'],
'price' => $skin_meta['pirce'],
'price' => $skin_meta['price'],
);
return $s;
}
@ -40,6 +40,23 @@ class SkinController{
return $arr;
}
protected function getTank($tank_id)
{
$tank_meta_table = require('../res/tank@tank.php');
$tank_meta = getTankConfig($tank_meta_table, $tank_id);
$t = array(
'id' => $tank_meta['id'],
'name' => $tank_meta['name'],
'cost' => $tank_meta['cost'],
'cost_int' => $tank_meta['cost_int'],
'max_lv' => $tank_meta['max_lv'],
'compose' => $tank_meta['compose'],
'debris' => $tank_meta['debris'],
'origin_skin' => $tank_meta['origin_skin']
);
return $t;
}
protected function getParameter($para_id)
{
$parameter_meta_cluster = require('../res/parameter@parameter.php');
@ -67,36 +84,28 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个玩家');
return;
}
$skin_meta_table = require('../res/tankSkin@tankSkin.php');
$s = $this->getSkin(30001);
if (!$s) {
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个皮肤');
return;
}
$rowCount = $conn->execQueryRowCount('SELECT skin_id FROM skin WHERE accountid = :account_id;',
array(
':account_id' => $account_id
));
$status = 0;
$tank_meta_table = require('../res/tank@tank.php');
if ($rowCount == 0) {
for ($i = 30001; $i <= count($commander_meta_table) + 30000; $i++) {
$s = $this->getSkin($i);
if (!$s) {
for ($i = 15001; $i <= count($tank_meta_table) + 15000; $i++) {
$t = $this->getTank($i);
if (!$t) {
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个皮肤');
return;
}
if ($s['price'] == 0) {
$s = $this->getTankSkin($t['origin_skin']);
$status = 0;
} else {
$status = 2;
}
$ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, status, create_time, modify_time) ' .
' VALUES(:account_id, :skin_id, :status, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:account_id, skin_id=:skin_id, status=:status, modify_time=:modify_time;',
$ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, create_time, modify_time) ' .
' VALUES(:account_id, :skin_id, :skin_status, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:account_id, skin_id=:skin_id, skin_status=:skin_status, modify_time=:modify_time;',
array(
':account_id' => $account_id,
':skin_id' => $i,
':status' => $status,
':skin_id' => $t['origin_skin'],
':skin_status' => $status,
':create_time' => time(),
':modify_time' => time()
));
@ -106,7 +115,7 @@ class SkinController{
}
}
}
$rows = $conn->execQuery('SELECT skin_id, status FROM skin WHERE accountid = :account_id;',
$rows = $conn->execQuery('SELECT skin_id, skin_status FROM skin WHERE accountid = :account_id;',
array(
':account_id' => $account_id,
));
@ -118,7 +127,7 @@ class SkinController{
$skin_id = $row['skin_id'];
array_push($skin_list, array(
'skin_id' => $skin_id,
'skin_status' => $row['status'],
'skin_status' => $row['skin_status'],
));
}
echo json_encode(array(
@ -144,24 +153,11 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 1,'没有这个玩家');
return;
}
$s = $this->getSkin($skin_id);
$s = $this->getTankSkin($skin_id);
if(!$s){
phpcommon\sendError(ERR_USER_BASE + 2,'没有这个皮肤');
return;
}
$row = $conn->execQueryOne('SELECT status FROM skin WHERE accountid=:account_id AND skin_id=:skin_id;',
array(
':account_id' => $account_id,
':skin_id' => $skin_id
));
if(!$row){
phpcommon\sendError(ERR_USER_BASE + 2,'没有这个皮肤');
return;
}
if ($row['status'] == 1) {
phpcommon\sendError(ERR_USER_BASE + 3,'皮肤已解锁');
return;
}
$num = $s['price'];
$rowDiamond = $conn->execQueryOne('SELECT diamond_num FROM user WHERE accountid=:account_id;',
array(
@ -175,6 +171,44 @@ class SkinController{
phpcommon\sendError(ERR_USER_BASE + 6, '钻石不足');
return;
}
$row = $conn->execQueryOne('SELECT skin_status FROM skin WHERE accountid=:account_id AND skin_id=:skin_id;',
array(
':account_id' => $account_id,
':skin_id' => $skin_id
));
if (!$row) {
$ret = $conn->execScript('INSERT INTO skin(accountid, skin_id, skin_status, create_time, modify_time) ' .
' VALUES(:account_id, :skin_id, :skin_status, :create_time, :modify_time) ' .
' ON DUPLICATE KEY UPDATE accountid=:account_id, skin_id=:skin_id, skin_status=:skin_status, modify_time=:modify_time;',
array(
':account_id' => $account_id,
':skin_id' => $skin_id,
':skin_status' => 1,
':create_time' => time(),
':modify_time' => time()
));
if(!$ret){
die();
return;
}
} else {
if ($row['skin_status'] == 1) {
phpcommon\sendError(ERR_USER_BASE + 3,'皮肤已解锁');
return;
}
$ret = $conn->execScript('UPDATE skin SET skin_status=1, modify_time=:modify_time ' .
' WHERE accountid = :account_id AND skin_id = :skin_id;',
array(
':account_id' => $account_id,
':skin_id' => $skin_id,
':modify_time' => time()
));
if (!$ret) {
die();
return;
}
}
$retDiamond = $conn->execScript('UPDATE user SET diamond_num=:diamond_num, modify_time=:modify_time ' .
' WHERE accountid=:account_id;',
array(
@ -186,17 +220,7 @@ class SkinController{
die();
return;
}
$ret = $conn->execScript('UPDATE skin SET status=1, modify_time=:modify_time ' .
' WHERE accountid = :account_id AND skin_id = :skin_id;',
array(
':account_id' => $account_id,
':skin_id' => $skin_id,
':modify_time' => time()
));
if (!$ret) {
die();
return;
}
echo json_encode(array(
'errcode' => 0,
'errmsg' => '',
@ -222,7 +246,7 @@ class SkinController{
return;
}
//正在上阵的皮肤
$row = $conn->execQueryOne('SELECT status FROM skin WHERE accountid=:accountid AND skin_id=:skin_id;',
$row = $conn->execQueryOne('SELECT skin_status FROM skin WHERE accountid=:accountid AND skin_id=:skin_id;',
array(
':accountid' => $account_id,
':skin_id' => $usingskin_id,
@ -232,7 +256,7 @@ class SkinController{
return;
}
$status = 1;
$using_ret = $conn->execScript('UPDATE skin SET status=:1, modify_time=:modify_time ' .
$using_ret = $conn->execScript('UPDATE skin SET skin_status=:1, modify_time=:modify_time ' .
' WHERE accountid = :account_id AND skin_id = :skin_id;',
array(
':account_id' => $account_id,
@ -250,12 +274,12 @@ class SkinController{
'skin_status' => 1,
));
//准备上阵的皮肤
$row_exchange = $conn->execQueryOne('SELECT status FROM commander WHERE accountid=:accountid AND skin_id=:skin_id;',
$row_exchange = $conn->execQueryOne('SELECT skin_status FROM commander WHERE accountid=:accountid AND skin_id=:skin_id;',
array(
':accountid' => $account_id,
':skin_id' => $exchangeskin_id,
));
$exchange_ret = $conn->execScript('UPDATE skin SET status=0, modify_time=:modify_time ' .
$exchange_ret = $conn->execScript('UPDATE skin SET skin_status=0, modify_time=:modify_time ' .
' WHERE accountid = :account_id AND skin_id = :skin_id;',
array(
':account_id' => $account_id,