ExtensionsController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\helper\NumConfig;
  4. use App\Models\AccountsInfo;
  5. use App\Services\ExtensionCopy;
  6. use App\Services\Extensions;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\DB;
  9. use Illuminate\Support\Facades\Redis;
  10. // 裂变入口
  11. // 数值统一要除 100
  12. class ExtensionsController
  13. {
  14. /**
  15. * /api/extension/getScore?UserID=2111
  16. * 获取裂变 可领额度
  17. * @param Request $request
  18. * @return array
  19. */
  20. public function getScore(Request $request)
  21. {
  22. $UserID = $request->UserID ?: '';
  23. if(empty($UserID)||$UserID==0){
  24. return apiReturnFail();
  25. }
  26. $service = new Extensions();
  27. $AccountsInfoM = new AccountsInfo();
  28. // 可提现额度
  29. $data['withdraw_score'] = $AccountsInfoM->Score($UserID);
  30. $redis = Redis::connection();
  31. $register_invite_switches = $redis->get('register_invite_switches_' . $UserID);
  32. // 充值可领额度
  33. $recharge = $service->recharge($UserID);
  34. $rechargeData['recharge'] = $recharge;
  35. $rechargeData['flag'] = ($register_invite_switches == 1 || $recharge == 0) ? true : false;
  36. // 注册可领额度
  37. $Register = $service->register($UserID);
  38. // 对局可领额度
  39. $gameCount = $service->register($UserID, 2);
  40. $gameCount['game'] = $gameCount['Register'];
  41. unset($gameCount['Register']);
  42. $data['score'] = [$rechargeData, $Register, $gameCount];
  43. $data['ReceivedScore'] = [$rechargeData, $Register, $gameCount];
  44. return apiReturnSuc($data);
  45. }
  46. /**
  47. * 领取裂变额度
  48. * Type -- 1:充值 2:注册 3:其它
  49. * @param Request $request
  50. * @return array
  51. */
  52. public function receiveScore(Request $request)
  53. {
  54. $UserID = $request->UserID ?: '';
  55. $Type = $request->Type ?: '';
  56. $service = new Extensions();
  57. if ($Type == 1) {
  58. $result = $service->receiveRechargeScore($UserID);
  59. if ($result === false) {
  60. return apiReturnFail($service->getError(), [], 303);
  61. }
  62. } elseif ($Type == 2) {
  63. $result = $service->receiveRegisterScore($UserID);
  64. if ($result === false) {
  65. return apiReturnFail($service->getError(), $service->getData(), $service->getCode());
  66. }
  67. } elseif ($Type == 3) {
  68. $result = $service->receiveRegisterScore($UserID,3,2);
  69. if ($result === false) {
  70. return apiReturnFail($service->getError(), $service->getData(), $service->getCode());
  71. }
  72. } else {
  73. // ..........
  74. return apiReturnSuc();
  75. }
  76. return apiReturnSuc($result);
  77. }
  78. // 获取用户领取记录
  79. public function list(Request $request)
  80. {
  81. $UserID = $request->UserID ?: '';
  82. $list = DB::connection('write')->table('QPRecordDB.dbo.RecordUserAgent as ra')
  83. ->join('QPAccountsDB.dbo.AccountsInfo as ai', 'ra.UserID', 'ai.UserID')
  84. ->where('ra.UserID', $UserID)
  85. ->select('DirectRebate', 'SendTime', 'ai.GameID')
  86. ->orderByDesc('SendTime')
  87. ->get();
  88. foreach ($list as &$value) {
  89. $value->SendTime = date('Y-m-d H:i:s', strtotime($value->SendTime));
  90. }
  91. unset($value);
  92. return apiReturnSuc($list);
  93. }
  94. // 充值比率
  95. public function rechargeRate()
  96. {
  97. $AgentRebateRatio = DB::connection('write')->table('QPAccountsDB.dbo.SystemStatusInfo')
  98. ->where('StatusName', 'AgentRebateRatio1')
  99. ->orWhere('StatusName','AgentRebateRatio2')
  100. ->select('StatusName','StatusValue')
  101. ->pluck('StatusValue','StatusName');
  102. return apiReturnSuc($AgentRebateRatio);
  103. }
  104. }