diff --git a/Application/Callback/Controller/BaseController.class.php b/Application/Callback/Controller/BaseController.class.php index 3ea12b5f..1b672060 100644 --- a/Application/Callback/Controller/BaseController.class.php +++ b/Application/Callback/Controller/BaseController.class.php @@ -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("修改数据失败"); diff --git a/Application/Common/Common/extend.php b/Application/Common/Common/extend.php index 17d6ead0..50e7765d 100644 --- a/Application/Common/Common/extend.php +++ b/Application/Common/Common/extend.php @@ -1,4 +1,9 @@ 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; +} diff --git a/Application/Sdk/Controller/UserController.class.php b/Application/Sdk/Controller/UserController.class.php index 905dc887..f5cd5543 100644 --- a/Application/Sdk/Controller/UserController.class.php +++ b/Application/Sdk/Controller/UserController.class.php @@ -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", "成功");