1,异步通知登入

2,异步通知充值
3,按游戏区分支付渠道
master
tping 5 years ago
parent fe73fb9447
commit 3f1d6dbfd4

@ -78,7 +78,7 @@ class BaseController extends Controller {
))->getField('balance');
if ($balance+$bind_balance < $d['deduction_amount']) { // 异常 用户充值支付宝不支付 然后重新发起一笔订单支付 在回到支付宝找未支付订单支付 这种情况 加到平台币
$this->record_logs($mbalance."平台币余额不足--》用户充值支付宝不支付 然后重新发起一笔订单支付 在回到支付宝找未支付订单支付 这种情况 加到平台币".$balance);
$this->record_logs($d['deduction_amount']."平台币余额不足--》用户充值支付宝不支付 然后重新发起一笔订单支付 在回到支付宝找未支付订单支付 这种情况 加到平台币".$balance);
$createTime = time();
$depositId = M('deposit',"tab_")->add([
@ -172,6 +172,12 @@ class BaseController extends Controller {
$this->changeCumulative('Spend',$d['pay_order_number']);
if($r!== false){
// 通知后台 TASK_URLhttp://47.111.118.107:9501/game-event/recharge
$url = C('TASK_URL')."/game-event/recharge";
post_async($url, [
'pay_order_number' => $map_s['pay_order_number'],
]);
$game = new GameApi();
$r = $game->game_pay_notify($data,1);
if ($r == 'success') {
@ -181,8 +187,13 @@ class BaseController extends Controller {
])->setField([
'pay_game_status' => 1
]);
// 通知后台
post_async($url, [
'pay_order_number' => $v,
]);
}
}
return true;
}else{
$this->record_logs("修改数据失败");

@ -1,4 +1,9 @@
<?php
use GuzzleHttp\Handler\CurlMultiHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Client;
use Psr\Http\Message\ResponseInterface;
require 'encryption.php';
//php防注入和XSS攻击过滤.
@ -1868,7 +1873,15 @@ function get_shortcut_pay_type(){
//获取微信支付类型 0官方 1金猪wap 2双乾
function get_zfb_type(){
function get_zfb_type($game_id=0, $user_id=0){
if ($game_id) {
$game = M('game', 'tab_')->where(['id' => $game_id])->find();
if ($game && $game['pay_config']) {
$payConf = json_decode($game['pay_config'], true);
if ($payConf['zfb'] == 'gf') return 0;
if ($payConf['zfb'] == 'sq') return 2;
}
}
if(C('alipay.status') == 1) {return 0;}
$map['name']='goldpig';
@ -2866,3 +2879,23 @@ function index_by_column($column, $items)
}
return $records;
}
// 异步通知
function post_async($url="'http://47.111.118.107:9501/game-event/recharge'", $data=[]) {
$curl = new CurlMultiHandler();
$handler = HandlerStack::create($curl);
$client = new Client(['handler' => $handler]);
$client->postAsync($url, $data)->then(
function (ResponseInterface $res) {
echo 'response: ' . $res->getBody(). PHP_EOL;
},
function (\Exception $e) {
echo $e->getMessage() . PHP_EOL;
}
)
// ->wait() // 同步
;
$curl->tick();
return true;
}

@ -332,6 +332,14 @@ class UserController extends BaseController
'request_count' => $buddies_request,
);
// 通知后台 TASK_URLhttp://47.111.118.107:9501
$url = C('TASK_URL')."/game-event/login";
post_async($url, [
'game_id' => $user["game_id"],
'user_id' => $user["user_id"],
'login_time' => time()
]);
} else {
$this -> set_message(1028, "fail", "未知错误");
@ -1296,20 +1304,6 @@ class UserController extends BaseController
$this->updateLoginRecord($data);
}
$server = M('server', 'tab_')->where(['server_id' => $request['server_id'], 'game_id' => $request['game_id']])->find();
if (empty($server)) {
$serverData = [
'game_id' => $request['game_id'],
'game_name' => $gameName,
'server_name' => $request['server_name'],
'server_num' => $request['server_id'],
'server_id' => $request['server_id'],
'server_version' => $request["sdk_version"],
'create_time' => time(),
'start_time' => time(),
];
M('server', 'tab_')->data($serverData)->add();
}
// 处理合服情况
$server = M('server', 'tab_')->where(['server_name' => $request['server_name'], 'game_id' => $request['game_id']])->find();
@ -1329,6 +1323,29 @@ class UserController extends BaseController
M('server_union', 'tab_')->data($unionData)->add();
}
}
$server = M('server', 'tab_')->where(['server_id' => $request['server_id'], 'game_id' => $request['game_id']])->find();
if (empty($server)) {
$serverData = [
'game_id' => $request['game_id'],
'game_name' => $gameName,
'server_name' => $request['server_name'],
'server_num' => $request['server_id'],
'server_id' => $request['server_id'],
'server_version' => $request["sdk_version"],
'create_time' => time(),
'start_time' => time(),
];
M('server', 'tab_')->data($serverData)->add();
} else {
if ($server['server_name'] != $request['server_name']) {
M('server', 'tab_')->where([
'id' => $server['id']
])->save([
'server_name' => $request['server_name']
]);
}
}
$this -> set_message(200, "success", "成功");

Loading…
Cancel
Save