game2005api/webapp/controller/NGunController.class.php
aozhiwei b8bb70a77f 1
2021-06-18 22:23:50 +08:00

331 lines
12 KiB
PHP

<?php
require_once('mt/NewShop.php');
class NGunController extends BaseAuthedController {
public function getGunInfo()
{
$account_id = $_REQUEST['account_id'];
$conn = $this->getMysql($account_id);
// $row = $conn->execQueryOne('SELECT guildcoin_num FROM user WHERE accountid=:accountid;',
// array(
// ':accountid' => $account_id
// ));
$sqlStr = "SELECT * FROM gun_intensify WHERE accountid=:accountid; ";
$row = $conn->execQuery($sqlStr,array(':accountid' => $account_id));
if($row) {
error_log("GunTest3======");
}
else{
error_log("GunTest4=======");
}
$this->sendDataToClient(0,"test02",$row);
}
public function skillLvUp()
{
$code = 100;
$skillLv = 1;
$skillLvData = 0;
$account_id = $_REQUEST['account_id'];
//$skil
$skill_id = $_REQUEST['skill_id'];
$skill_type_id = $_REQUEST['skill_type_id'];
$gunSkillCfg = require('../res/guntalentlv@guntalentlv.php');
$skillCfg = null;
if($gunSkillCfg[$skill_id])
{
$skillCfg = $gunSkillCfg[$skill_id];
$conn = $this->getMysql($account_id);
$sqlStr3 = "SELECT skill_lv FROM gun_intensify WHERE accountid=:accountid AND gun_type_id=:gun_type_id AND skill_id=:skill_id";
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id,':gun_type_id' => $skill_type_id,':skill_id' => $skill_id));
if($row)
{
$skillLvData = 1;
$skillLv = $row[0]["skill_lv"];
error_log("查询到gunSkill=====".json_encode($row));
}
else
{
error_log("未查询到gunSkill=====");
}
}
else
{
$code = 99;//技能不存在
}
$itemArr = array();
$resultData = null;
$lvUpNeedItemArr = array();
if($skillCfg)
{
$needItemStr = $skillCfg["cost"];
$needItemArr = explode("|",$needItemStr);
$needItemLen = count($needItemArr);
for($i = 0;$i < $needItemLen ;$i++)
{
$tmpStr = $needItemArr[$i];
$tmpStrArr = explode(":",$tmpStr);
$itemData = array("itemID"=>$tmpStrArr[0],"itemNum"=>$tmpStrArr[1]);
array_push($lvUpNeedItemArr,$itemData);
}
//获得Money和钻石
$money = 0;
$diamond = 0;
$conn = $this->getMysql($account_id);
$sqlStr3 = "SELECT coin_num,diamond_num FROM user WHERE accountid=:accountid; ";
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
if($row)
{
$money = $row[0]["coin_num"];
$diamond = $row[0]["diamond_num"];
$leftMoney = $money;
$leftDiamond = $diamond;
}
else
{
$code = 90;
}
//获得背包所有道具
if($code == 100)
{
$conn = $this->getMysql($account_id);
$sqlStr3 = "SELECT * FROM bag WHERE accountid=:accountid; ";
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
if($row) {//判断道具是否足够
$needItemArrLen = count($lvUpNeedItemArr);
$enoughN = 0;
$allItemLen = count($row);
for($i = 0; $i < $needItemArrLen; $i++)
{
$tempNeedItemID = $lvUpNeedItemArr[$i]["itemID"];
$tempNeedItemNum = $lvUpNeedItemArr[$i]["itemNum"];
error_log("技能升级01======".$tempNeedItemID."==".$tempNeedItemNum);
if($tempNeedItemID == "10001")
{
$code = 97;//金币不足
if($tempNeedItemNum <= $money)
{
$code = 100;
$leftMoney = $money -$tempNeedItemNum;
}
}
else if($tempNeedItemID == "10003")
{
$code = 96;//钻石不足
if($tempNeedItemNum <= $diamond)
{
$code = 100;
$leftDiamond = $diamond - $tempNeedItemNum;
}
}
else
{
$code = 95;//道具不足
for($j = 0; $j < $allItemLen; $j++)
{
$bagItemID = $row[$j]["id"];
$bagItemNum = $row[$j]["num"];
if($tempNeedItemID == $bagItemID)
{
error_log("技能升级======".$bagItemID."==".$bagItemNum);
if($tempNeedItemNum <= $bagItemNum)
{
$code = 100;
$deleteItem = array("item_id"=>$bagItemID,"item_num"=>$tempNeedItemNum);
array_push($itemArr,$deleteItem);
break;
}
}
}
if (SERVER_ENV != _ONLINE) {
$code = 100;
}
}
if($code != 100)
{
break;
}
}
}
else
{
$code = 90;
}
}
if($code == 100)
{
if($skillCfg["nextid"] > 0)
{
$skillLv ++;
}
else
{
$code = 98;//已经升到最大级
}
}
if($code == 100)
{
$this->decItem($itemArr);
$this->updateCurrency($leftMoney,$leftDiamond);
$tempItemData = array("skill_type_id"=>$skill_type_id,"skill_id"=>$skill_id,"skill_lv"=>$skillLv);
$this->updateGunSkillIntensify($tempItemData);
$resultData = array("skill_type_id"=>$skill_type_id,"skill_id"=>$skill_id,"skill_lv"=>$skillLv);
}
error_log("GunTest3======".$skill_id."==".$skill_type_id);
}
$this->sendDataToClient($code,"gunSkillLvUp",$resultData);
//$conn = $this->getMysql($account_id);
}
public function updateCurrency($_money,$_diamond)
{
$account_id = $_REQUEST['account_id'];
$conn = $this->getMysql($account_id);
$sqlStr2 = "Update user set coin_num =:coin_num,diamond_num =:diamond_num WHERE accountid=:accountid ";
$row = $conn->execQuery($sqlStr2,array(':accountid' => $account_id,':coin_num' => $_money,':diamond_num' => $_diamond));
}
public function updateGunSkillIntensify($item)
{
phpcommon\SqlHelper::insertOrUpdate
($this->getSelfMysql(),
'gun_intensify',
array(
'accountid' => $this->getAccountId(),
'gun_type_id' => $item['skill_type_id'],
'skill_id' => $item['skill_id']
),
array(
'accountid' => $this->getAccountId(),
'gun_type_id' => $item['skill_type_id'],
'skill_id' => $item['skill_id'],
'skill_lv' =>$item['skill_lv'],
'createtime' => $this->getNowTime(),
'modifytime' => $this->getNowTime()
),
array(
'skill_lv' => $item['skill_lv'],
'modifytime' => $this->getNowTime()
)
);
}
public function getGunAndSkinInfo()
{
$account_id = $_REQUEST['account_id'];
$conn = $this->getMysql($account_id);
$sqlStr2 = "SELECT gun_id,skin_id FROM gun WHERE accountid=:accountid; ";
$row = $conn->execQuery($sqlStr2,array(':accountid' => $account_id));
$resultData = array();
array_push($resultData,$row);
//获得已经购买的皮肤列表
$sqlStr3 = "SELECT gun_id,skin_id FROM gun_skin WHERE accountid=:accountid; ";
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
array_push($resultData,$row);
$this->sendDataToClient(100,"getGunAndSkinInfo",$resultData);
}
public function equipGunSkin()
{
$account_id = $_REQUEST['account_id'];
$gunID = $_REQUEST['gun_id'];
$skinID = $_REQUEST['skin_id'];
phpcommon\SqlHelper::insertOrUpdate
($this->getSelfMysql(),
'gun',
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID
),
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID,
'skin_id' =>$skinID,
'trytime' =>0,
'createtime' => $this->getNowTime(),
'modifytime' => $this->getNowTime()
),
array(
'skin_id' =>$skinID,
'modifytime' => $this->getNowTime()
)
);
$resultData = array("gun_id"=>$gunID,"skin_id"=>$skinID);
$this->sendDataToClient(100,"changeGunSkin",$resultData);
}
public function buyGunSkin()
{
$account_id = $_REQUEST['account_id'];
$gunID = $_REQUEST['gun_id'];
$skinID = $_REQUEST['skin_id'];
$goodsID = $_REQUEST['goodsID'];
error_log("购买皮肤======".$goodsID);
$shopMeta = mt\NewShop::getShopItemByID($goodsID);
$code = 100;
$skinData = null;
if($shopMeta)
{
$priceNum = $shopMeta["priceNum"];
$priceID = $shopMeta["priceID"];
$code = $this->checkPriceEnough($priceNum,$priceID);
}
else
{
$code = 99;
}
if($code == 100)
{
phpcommon\SqlHelper::insertOrUpdate
($this->getSelfMysql(),
'gun_skin',
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID,
'skin_id' => $skinID
),
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID,
'skin_id' =>$skinID,
'trytime' =>0,
'createtime' => $this->getNowTime(),
'modifytime' => $this->getNowTime()
),
array(
'trytime' => 0,
'modifytime' => $this->getNowTime()
)
);
phpcommon\SqlHelper::insertOrUpdate
($this->getSelfMysql(),
'gun',
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID
),
array(
'accountid' => $this->getAccountId(),
'gun_id' => $gunID,
'skin_id' =>$skinID,
'trytime' =>0,
'createtime' => $this->getNowTime(),
'modifytime' => $this->getNowTime()
),
array(
'skin_id' =>$skinID,
'modifytime' => $this->getNowTime()
)
);
}
$resultData = array("gun_id"=>$gunID,"skin_id"=>$skinID);
$this->sendDataToClient($code,"buyGunSkin",$resultData);
}
}