AgentController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. $agentModel = new Models\Agent;
  25. $sportsAgentModel = new Models\SportsAgent;
  26. // 获取Token url及参数.
  27. $gmenuId = $req->input('id');
  28. $backData = $sportsAgentModel->getSportsToken($gmenuId);
  29. if ($backData !== 1) {
  30. $msg = '链接失败';
  31. return toJson($code, $msg, []);
  32. }
  33. // 获取用户信息.
  34. $getMemberInfo = $agentModel->getMember();
  35. // 验证用户.
  36. $backData = $sportsAgentModel->checkAccountSports($gmenuId, $getMemberInfo);
  37. if ($backData !== 1) {
  38. $msg = '链接失败';
  39. return toJson($code, $msg, []);
  40. }//end if
  41. // 登陆.
  42. $loginBackData = $sportsAgentModel->loginSports($gmenuId, $getMemberInfo);
  43. if ($loginBackData === 2) {
  44. $msg = '远程登陆失败';
  45. return toJson($code, $msg, []);
  46. }
  47. // 獲取余额.
  48. $getMembersDetailed = $agentModel->getMembersDetailed();
  49. // 如果有余额则转入
  50. if ($getMembersDetailed->membersDetailed_cash > 0) {
  51. // 转账.
  52. $backData = $sportsAgentModel->transferSports($gmenuId, $getMembersDetailed->membersDetailed_cash, 0, $getMemberInfo, 'IN');
  53. if ($backData !== 1) {
  54. $msg = '链接失败';
  55. return toJson($code, $msg, []);
  56. }
  57. }
  58. $msg = '成功';
  59. $code = 1;
  60. return toJson($code, $msg, ['apiToken' => $loginBackData['token']]);
  61. } catch (Exception $e) {
  62. return toJson($code, $msg, []);
  63. }
  64. }//end login()
  65. }