AgentController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use \App\Http\Models;
  6. use \Exception;
  7. /**
  8. * 代理管理类
  9. */
  10. class AgentController extends Controller
  11. {
  12. /**
  13. * 代理登陆、注册
  14. *
  15. * @access public
  16. * @param mixed $req 数据传输
  17. * @return array JsonString
  18. */
  19. public function login(Request $req)
  20. {
  21. $code = -2;
  22. $msg = '操作失败';
  23. /*try {*/
  24. // 获取Token url及参数.
  25. $agentModel = new Models\Agent;
  26. $gmenuId = $req->input('id');
  27. $getGameUrlWhere = [
  28. 'gmenu_id' => $gmenuId,
  29. 'gameUrl_type' => 'getToken',
  30. ];
  31. $getGameUrl = $agentModel->getGameUrl($getGameUrlWhere);
  32. // 获取Token传参.
  33. $data = json_decode($getGameUrl->gameUrl_data);
  34. // 获取Token url.
  35. $url = $getGameUrl->gameUrl_url;
  36. $dataString = '';
  37. foreach ($data as $key => $value) {
  38. $dataString .= '&' . $key . '=' . urlencode($value);
  39. }
  40. $commonModel = new Models\Common;
  41. // 获取token.
  42. $getToken = $commonModel->make_request($url, $dataString);
  43. if ($getToken && json_decode($getToken)->status !== 1) {
  44. $msg = '链接失败';
  45. return toJson($code, $msg, []);
  46. }//end if
  47. // 存儲token
  48. S('sportsToken', json_decode($getToken)->data->token);
  49. // 获取用户信息.
  50. $getMemberInfo = $agentModel->getMember();
  51. // 获取登陆 url及参数.
  52. $getGameUrlWhere = [
  53. 'gmenu_id' => $gmenuId,
  54. 'gameUrl_type' => 'login',
  55. ];
  56. $getGameUrl = $agentModel->getGameUrl($getGameUrlWhere);
  57. // 获取登陆传参.
  58. $data = json_decode($getGameUrl->gameUrl_data);
  59. // 获取登陆url.
  60. $url = json_decode($getGameUrl->gameUrl_url);
  61. // 登陆.
  62. $paramsData = [
  63. 'agent' => $data->agent,
  64. 'username' => $getMemberInfo['name'],
  65. 'method' => $data->method,
  66. 'password' => $getMemberInfo['password'],
  67. ];
  68. $loginUrl = $commonModel->sportsAgentParams($paramsData, $url[1]);
  69. $loginData = $commonModel->make_request($loginUrl, '');
  70. if ($loginData && json_decode($loginData)->status !== 1) {
  71. $msg = '远程登陆失败';
  72. return toJson($code, $msg, []);
  73. }//end if
  74. // 獲取余额.
  75. $getMembersDetailed = $agentModel->getMembersDetailed();
  76. // 扣去用户余额.
  77. $updateMembersDetailed = $agentModel->updateMembersDetailed();
  78. // 获取转账 url及参数.
  79. $getGameUrlWhere = [
  80. 'gmenu_id' => $gmenuId,
  81. 'gameUrl_type' => 'transfer',
  82. ];
  83. $getGameUrl = $agentModel->getGameUrl($getGameUrlWhere);
  84. // 获取转账传参.
  85. $data = json_decode($getGameUrl->gameUrl_data);
  86. // 获取转账url.
  87. $url = json_decode($getGameUrl->gameUrl_url);
  88. // 转账.
  89. $newUuid = getUUID();
  90. $transferParams = [
  91. 'agent' => $data->agent,
  92. 'username' => $getMemberInfo['name'],
  93. 'method' => $data->method,
  94. 'password' => $getMemberInfo['password'],
  95. 'billno' => $newUuid,
  96. 'credit' => $getMembersDetailed->membersDetailed_cash,
  97. 'type' => $data->type,
  98. ];
  99. $transferUrl = $commonModel->sportsAgentParams($transferParams, $url[2]);
  100. $transferData = $commonModel->make_request($transferUrl, '');
  101. if ($transferData && json_decode($transferData)->status !== 1) {
  102. $msg = '链接失败';
  103. return toJson($code, $msg, []);
  104. }//end if
  105. // 转账成功,添加转账记录.
  106. print_r($loginDa);die;
  107. $msg = '成功';
  108. $msg = $getGameUrl;
  109. return toJson($code, $msg, $getGameUrl);
  110. /*} catch (Exception $e) {
  111. return toJson($code, $msg, []);
  112. // return toJson($code, $e->getMessage(), []);.
  113. }*/
  114. }//end login()
  115. }