1
This commit is contained in:
parent
1fa87e437b
commit
82bdfb1c88
@ -77,6 +77,8 @@ define('RAND_DIAMONDSHOP_TIME', 60); //钻石商店刷新次数
|
||||
define('DIAMONDBOX', 61); //钻石宝箱花费钻石数
|
||||
define('DIAMONDBOX10', 62); //钻石视频宝箱花费钻石数
|
||||
define('REDLIMIT', 68); //红包上限
|
||||
define('RECOMMEND_FOREVER_WEIGHT',85); //精选道具概率
|
||||
define('RECOMMEND_TIME', 84); //道具精选时间
|
||||
require 'config_loader.php';
|
||||
|
||||
|
||||
|
@ -56,7 +56,7 @@ class AddReward {
|
||||
return $arr;
|
||||
}
|
||||
|
||||
public function addReward($item_id, $item_num, $account_id, $time)
|
||||
public function addReward($item_id, $item_num, $account_id, $time, $t)
|
||||
{
|
||||
$conn = $this->getMysql($account_id);
|
||||
if (!$conn) {
|
||||
@ -75,7 +75,6 @@ class AddReward {
|
||||
'time' => $time
|
||||
));
|
||||
|
||||
|
||||
foreach ($item_list as $item) {
|
||||
$i = $this->getItem($item['item_id']);
|
||||
if ($i['type'] == 1){
|
||||
@ -87,7 +86,11 @@ class AddReward {
|
||||
if ($time != 0) {
|
||||
$price = $i['diamond_hour'] * $time;
|
||||
}
|
||||
$item_list = $this->addItem($item['item_id'], $item['time'], $account_id, $price);
|
||||
if ($t) {
|
||||
$item_list = $this->addItem($item['item_id'], $item['time'], $account_id, $price, $t);
|
||||
} else {
|
||||
$item_list = $this->addItem($item['item_id'], $item['time'], $account_id, $price, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $item_list;
|
||||
@ -169,7 +172,7 @@ class AddReward {
|
||||
}
|
||||
|
||||
//添加道具
|
||||
protected function addItem($item_id, $time, $accountid, $price)
|
||||
protected function addItem($item_id, $time, $accountid, $price, $t)
|
||||
{
|
||||
$item_list = array();
|
||||
$item_num = 1;
|
||||
@ -192,7 +195,13 @@ class AddReward {
|
||||
$status = 1;
|
||||
$active_time = 0;
|
||||
}
|
||||
$status = $this->getStatus($item_id, $status, $accountid);
|
||||
if ($t == 0) {
|
||||
$status = $this->getStatus($item_id, $status,$accountid);
|
||||
} else if ($t == 1){
|
||||
$status = 0;
|
||||
error_log(11111111111111);
|
||||
$this->updateStatus($item_id, $accountid);
|
||||
}
|
||||
$ret = $conn->execScript('INSERT INTO bag(accountid, id, color_id, status, active_time, create_time, modify_time) ' .
|
||||
' VALUES(:account_id, :id, 0, :status, :active_time, :create_time, :modify_time) ' .
|
||||
' ON DUPLICATE KEY UPDATE accountid=:account_id, id=:id, color_id=0, status=:status, active_time=:active_time, modify_time=:modify_time;',
|
||||
@ -213,6 +222,7 @@ class AddReward {
|
||||
$item_id = 10003;
|
||||
$item_num = $price;
|
||||
$time = 0;
|
||||
error_log(3333333333);
|
||||
$this->addDiamond($item_id, $item_num, $accountid);
|
||||
} else {
|
||||
$nowTime = $row['active_time'];
|
||||
@ -227,7 +237,13 @@ class AddReward {
|
||||
$nowTime = time() + $time * 3600;
|
||||
}
|
||||
}
|
||||
$status = $this->getStatus($item_id, $status,$accountid);
|
||||
if ($t == 0) {
|
||||
$status = $this->getStatus($item_id, $status,$accountid);
|
||||
} else if ($t == 1){
|
||||
$status = 0;
|
||||
error_log(2222222222);
|
||||
$this->updateStatus($item_id, $accountid);
|
||||
}
|
||||
$ret = $conn->execScript('UPDATE bag SET active_time=:active_time, status=:status, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:account_id AND id=:id;',
|
||||
array(
|
||||
@ -290,5 +306,50 @@ class AddReward {
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
||||
public function updateStatus($item_id, $accountid)
|
||||
{
|
||||
$conn = $this->getMysql($accountid);
|
||||
if(!$conn){
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
$b = $this->getBag($item_id);
|
||||
$bag_meta_table = require('../res/bag@bag.php');
|
||||
//正在装备的道具
|
||||
if ($b['fuction'] != 5) {
|
||||
foreach ($bag_meta_table as $bag_info) {
|
||||
$id = $bag_info['id'];
|
||||
$bag = $this->getBag($id);
|
||||
if ($bag['fuction'] != $b['fuction']) {
|
||||
continue;
|
||||
}
|
||||
$row = $conn->execQueryOne('SELECT status, active_time FROM bag WHERE accountid=:accountid AND id=:id;',
|
||||
array(
|
||||
':accountid' => $accountid,
|
||||
':id' => $id,
|
||||
));
|
||||
if ($row['status'] != 0 || !$row) {
|
||||
continue;
|
||||
}
|
||||
$status = 2;
|
||||
if ($row['active_time'] == 0) {
|
||||
$status = 1;
|
||||
}
|
||||
$using_ret = $conn->execScript('UPDATE bag SET status=:status, color_id=0, modify_time=:modify_time ' .
|
||||
' WHERE accountid = :account_id AND id = :id;',
|
||||
array(
|
||||
':account_id' => $accountid,
|
||||
':id' => $id,
|
||||
':status' => $status,
|
||||
':modify_time' => time()
|
||||
));
|
||||
if(!$using_ret){
|
||||
die();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -367,7 +367,7 @@ class ActivityController{
|
||||
}
|
||||
//增加奖励
|
||||
$addreward = new classes\AddReward();
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time);
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time,0);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
$item_list = array();
|
||||
@ -497,7 +497,7 @@ class ActivityController{
|
||||
}
|
||||
//增加奖励
|
||||
$addreward = new classes\AddReward();
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time);
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time, 0);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
$item_list = array();
|
||||
@ -545,7 +545,7 @@ class ActivityController{
|
||||
$p = $this->getParameter(REWARD_TIMES);
|
||||
$times = $p['value'] - 1;
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($row['item_id'], $row['item_num'] * $times, $account_id);
|
||||
$addreward->addReward($row['item_id'], $row['item_num'] * $times, $account_id,0,0);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
|
@ -319,14 +319,14 @@ class BagController{
|
||||
return;
|
||||
}
|
||||
$item_id = $_REQUEST['item_id'];
|
||||
error_log($item_id);
|
||||
$conn = $this->getMysql($account_id);
|
||||
if(!$conn){
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||
return;
|
||||
}
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($item_id, 1, $account_id, 1);
|
||||
$ptime = $this->getParameter(RECOMMEND_TIME);
|
||||
$addreward->addReward($item_id, 1, $account_id, $ptime['param_value'], 0);
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
@ -334,5 +334,55 @@ class BagController{
|
||||
'color_id' => 0
|
||||
));
|
||||
}
|
||||
|
||||
public function freeGetItem()
|
||||
{
|
||||
$account_id = $_REQUEST['account_id'];
|
||||
//登录校验
|
||||
$login = loginVerify($account_id, $_REQUEST['session_id']);
|
||||
if (!$login) {
|
||||
phpcommon\sendError(ERR_USER_BASE + 1, 'session无效');
|
||||
return;
|
||||
}
|
||||
$arr = $_REQUEST['arr'];
|
||||
$delim = ',';
|
||||
$item_multiply = explode($delim, $arr);
|
||||
$all_item_list = array();
|
||||
$item_list = array();
|
||||
$addreward = new classes\AddReward();
|
||||
$random = Rand(0, 10000);
|
||||
$time = 1;
|
||||
$p = $this->getParameter(RECOMMEND_FOREVER_WEIGHT);
|
||||
$ptime = $this->getParameter(RECOMMEND_TIME);
|
||||
if ($random < $p['param_value']) {
|
||||
$time = 0;
|
||||
} else {
|
||||
$time = $ptime['param_value'];
|
||||
}
|
||||
error_log(json_encode($item_multiply));
|
||||
foreach ($item_multiply as $i) {
|
||||
array_push($item_list, array(
|
||||
'item_id' => $i,
|
||||
'item_num' => 1,
|
||||
'time' => 1,
|
||||
));
|
||||
$items = $addreward->addReward($i, 1, $account_id, $time, 1);
|
||||
foreach($items as $it) {
|
||||
array_push($all_item_list, array(
|
||||
'item_id' => $it['item_id'],
|
||||
'item_num' => $it['item_num'],
|
||||
'time' => $it['time'],
|
||||
));
|
||||
}
|
||||
}
|
||||
$num = $addreward->getDiamondNum($account_id);
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
'errmsg' => '',
|
||||
'item_list' => $item_list,
|
||||
'diamond_nums' => $num,
|
||||
'all_item_list' => $all_item_list
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -251,7 +251,7 @@ class PassController{
|
||||
'time' => $drop_multiply[2],
|
||||
));
|
||||
$addreward = new classes\AddReward();
|
||||
$all_item_list = $addreward->addReward($drop_multiply[0], $drop_multiply[1], $account_id, $drop_multiply[2]);
|
||||
$all_item_list = $addreward->addReward($drop_multiply[0], $drop_multiply[1], $account_id, $drop_multiply[2],0);
|
||||
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
@ -340,7 +340,7 @@ class PassController{
|
||||
$addreward = new classes\AddReward();
|
||||
$all_item_list = array();
|
||||
foreach ($reward as $r) {
|
||||
$items = $addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time']);
|
||||
$items = $addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time'], 0);
|
||||
foreach($items as $i) {
|
||||
array_push($all_item_list, array(
|
||||
'item_id' => $i['item_id'],
|
||||
@ -420,7 +420,7 @@ class PassController{
|
||||
}
|
||||
$addreward = new classes\AddReward();
|
||||
foreach ($reward as $r) {
|
||||
$addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time']);
|
||||
$addreward->addReward($r['item_id'], $r['item_num'], $account_id, $r['time'], 0);
|
||||
}
|
||||
$ret = $conn->execScript('UPDATE user SET pass_status=1, modify_time=:modify_time ' .
|
||||
' WHERE accountid=:accountid;',
|
||||
|
@ -167,7 +167,7 @@ class QuestController{
|
||||
$item_id = $item_id_array[$key][0];
|
||||
$item_num = $num_array[$key][0] * $times;
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($item_id, $item_num, $account_id, 0);
|
||||
$addreward->addReward($item_id, $item_num, $account_id, 0, 0);
|
||||
} else {
|
||||
$q = $this->getQuest($quest_id);
|
||||
if (!$q) {
|
||||
@ -178,7 +178,7 @@ class QuestController{
|
||||
$reward_id = $array[0][0];
|
||||
$reward_num = $array[0][1] * $times;
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($reward_id, $reward_num, $account_id, 0);
|
||||
$addreward->addReward($reward_id, $reward_num, $account_id, 0, 0);
|
||||
}
|
||||
$addreward = new classes\AddReward();
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
@ -243,7 +243,7 @@ class QuestController{
|
||||
$array = $this->getExplode($q['reward']);
|
||||
$reward_id = $array[0][0];
|
||||
$reward_num = $array[0][1];
|
||||
$addreward->addReward($reward_id, $reward_num, $account_id, 0);
|
||||
$addreward->addReward($reward_id, $reward_num, $account_id, 0, 0);
|
||||
array_push($item_list, array(
|
||||
'item_id' => $reward_id,
|
||||
'item_num' => $reward_num,
|
||||
|
@ -128,7 +128,6 @@ class ShareController{
|
||||
$b = $this->getbox($drop_id);
|
||||
$item_id_array = $this->getExplode($b['item_id']);
|
||||
$times = count($item_id_array);
|
||||
error_log($times);
|
||||
}
|
||||
for ($j = 0; $j < $times; $j++) {
|
||||
$b = $this->getbox($drop_id);
|
||||
@ -249,7 +248,7 @@ class ShareController{
|
||||
$quest->triggerQuest(71004, 1, 1, $account_id);
|
||||
foreach ($item_list as $item) {
|
||||
$addreward = new classes\AddReward();
|
||||
$items = $addreward->addReward($item['item_id'], $item['item_num'], $account_id, $item['time']);
|
||||
$items = $addreward->addReward($item['item_id'], $item['item_num'], $account_id, $item['time'], 0);
|
||||
foreach($items as $i) {
|
||||
array_push($all_item_list, array(
|
||||
'item_id' => $i['item_id'],
|
||||
@ -449,14 +448,14 @@ class ShareController{
|
||||
'item_num' => $array[0][1],
|
||||
'time' => $array[0][2],
|
||||
));
|
||||
$all_item_list = $addreward->addReward($array[0][0], $array[0][1], $account_id, $array[0][2]);
|
||||
$all_item_list = $addreward->addReward($array[0][0], $array[0][1], $account_id, $array[0][2], 0);
|
||||
} else if ($ach_id == 6) {
|
||||
array_push($item_list, array(
|
||||
'item_id' => 10003,
|
||||
'item_num' => 50,
|
||||
'time' => 0,
|
||||
));
|
||||
$addreward->addReward(10003, 50, $account_id);
|
||||
$addreward->addReward(10003, 50, $account_id, 0, 0);
|
||||
}
|
||||
//更新状态
|
||||
$ret = $conn->execScript('UPDATE share_achievement SET status=1, modify_time=:modify_time ' .
|
||||
@ -529,9 +528,9 @@ class ShareController{
|
||||
$addreward = new classes\AddReward();
|
||||
if ($ach_id != 6) {
|
||||
$array = $this->getExplode($sh['rewards']);
|
||||
$addreward->addReward($array[0][0], $array[0][1] * $times, $account_id, $array[0][2]);
|
||||
$addreward->addReward($array[0][0], $array[0][1] * $times, $account_id, $array[0][2], 0);
|
||||
} else if ($ach_id == 6) {
|
||||
$addreward->addReward(10003, 50 * $times, $account_id, 0);
|
||||
$addreward->addReward(10003, 50 * $times, $account_id, 0, 0);
|
||||
}
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
@ -600,7 +599,7 @@ class ShareController{
|
||||
$item_num = $kefu['itemnum'];
|
||||
}
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($item_id, $item_num, $account_id,0);
|
||||
$addreward->addReward($item_id, $item_num, $account_id,0,0);
|
||||
array_push($item_list, array(
|
||||
'item_id' => $item_id,
|
||||
'item_num' => $item_num,
|
||||
@ -688,7 +687,7 @@ class ShareController{
|
||||
foreach ($user_db['kefureward_list'] as $kefureward) {
|
||||
//增加奖励
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($kefureward['item_id'], $kefureward['item_num'] * $times, $account_id, 0);
|
||||
$addreward->addReward($kefureward['item_id'], $kefureward['item_num'] * $times, $account_id, 0,0);
|
||||
}
|
||||
$r->del($kefureward_uuid, json_encode($user_db));
|
||||
$addreward = new classes\AddReward();
|
||||
|
@ -226,7 +226,7 @@ class ShopController{
|
||||
$r -> pexpire($shop_uuid, 1000 * 3600 * 24);
|
||||
//增加奖励
|
||||
$addreward = new classes\AddReward();
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time);
|
||||
$all_item_list = $addreward->addReward($item_id, $item_num, $account_id, $time, 0);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
$item_list = array();
|
||||
@ -282,6 +282,7 @@ class ShopController{
|
||||
$item_num = $shop['item_num'];
|
||||
$price = $shop['price'];
|
||||
$status = $shop['status'];
|
||||
$time = $shop['time'];
|
||||
$flag = 1;
|
||||
break;
|
||||
}
|
||||
@ -294,7 +295,7 @@ class ShopController{
|
||||
$p = $this->getParameter(REWARD_TIMES);
|
||||
$times = $p['param_value'] - 1;
|
||||
$addreward = new classes\AddReward();
|
||||
$addreward->addReward($item_id, $item_num * $times, $account_id);
|
||||
$addreward->addReward($item_id, $item_num * $times, $account_id, $time, 0);
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
echo json_encode(array(
|
||||
'errcode' => 0,
|
||||
|
@ -284,7 +284,7 @@ class SignController{
|
||||
'item_num' => $num,
|
||||
'time' => $time,
|
||||
));
|
||||
$items = $addreward->addReward($item_id, $num, $account_id, $time);
|
||||
$items = $addreward->addReward($item_id, $num, $account_id, $time,0);
|
||||
|
||||
foreach($items as $j) {
|
||||
array_push($all_item_list, array(
|
||||
@ -340,7 +340,7 @@ class SignController{
|
||||
$item_id = $item_id_array[$i][0];
|
||||
$num = $num_array[$i][0];
|
||||
$time = $time_array[$i][0];
|
||||
$addreward->addReward($item_id, $num, $account_id, $time);
|
||||
$addreward->addReward($item_id, $num, $account_id, $time,0);
|
||||
}
|
||||
$coin_num = $addreward->getCoinNum($account_id);
|
||||
$diamond_num = $addreward->getDiamondNum($account_id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user