admin.php 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. <?php
  2. use App\Http\Controllers\admin\ActivityReward;
  3. use App\Http\Controllers\admin\ActivityUser;
  4. use App\Http\Controllers\admin\Backflow;
  5. use App\Http\Controllers\admin\Home;
  6. use Illuminate\Support\Facades\Route;
  7. use App\Http\Controllers\admin\Admin;
  8. use App\Http\Controllers\admin\Upload;
  9. use App\Http\Controllers\admin\Wallet;
  10. use App\Http\Controllers\admin\Withdraw;
  11. use App\Http\Controllers\admin\Room;
  12. use App\Http\Controllers\admin\User;
  13. use App\Http\Controllers\admin\Balance;
  14. use App\Http\Controllers\admin\Config;
  15. use App\Http\Controllers\admin\Sync;
  16. use App\Http\Controllers\admin\Menu;
  17. use App\Http\Controllers\admin\Role;
  18. use App\Http\Controllers\admin\Game;
  19. use App\Http\Controllers\admin\GameplayRule;
  20. use App\Http\Controllers\admin\Issue;
  21. use App\Http\Controllers\admin\Keyboard;
  22. use App\Http\Controllers\admin\Lottery;
  23. use App\Http\Controllers\admin\Bet;
  24. use App\Http\Controllers\admin\Rebate;
  25. use App\Http\Controllers\admin\PaymentOrder;
  26. use App\Http\Controllers\admin\PcIssue;
  27. use App\Http\Controllers\admin\Order;
  28. use App\Http\Controllers\admin\Operation;
  29. use App\Http\Controllers\admin\Banner;
  30. use App\Http\Controllers\admin\LhcOrder;
  31. use App\Http\Controllers\admin\LhcNumber;
  32. use App\Http\Controllers\admin\LhcLottery;
  33. use App\Http\Controllers\admin\Sport;
  34. use App\Http\Controllers\admin\Level;
  35. use App\Http\Controllers\admin\YueBao;
  36. use App\Http\Controllers\admin\RechargeChannel;
  37. use App\Http\Controllers\admin\UserFeedback;
  38. use App\Http\Controllers\admin\SportGame;
  39. use App\Http\Controllers\admin\SportGameOrder;
  40. use App\Http\Controllers\admin\JisuGame;
  41. use App\Http\Controllers\admin\JisuGameOrder;
  42. use App\Http\Controllers\admin\JisuLottery;
  43. use App\Http\Controllers\admin\Egame;
  44. use App\Http\Controllers\admin\Online;
  45. use App\Http\Controllers\admin\Funds;
  46. use App\Http\Controllers\admin\ManualAudit;
  47. use App\Http\Controllers\admin\WalletFreeze;
  48. use App\Http\Controllers\admin\ThirdPartyDeposit;
  49. use App\Http\Controllers\admin\ThirdGameOrder;
  50. use App\Http\Controllers\admin\Agent as AgentAdmin;
  51. use App\Http\Controllers\admin\PaymentConfiguration;
  52. use App\Http\Controllers\admin\AppConfiguration;
  53. use App\Http\Controllers\admin\ShareEarning;
  54. use App\Http\Controllers\admin\SharingManagement;
  55. use App\Http\Controllers\admin\Announcement;
  56. use App\Http\Controllers\admin\SiteMessage;
  57. use App\Http\Controllers\admin\Maintenance;
  58. use App\Http\Controllers\admin\Reporting;
  59. use App\Http\Controllers\admin\RewardGrantSettings;
  60. use App\Http\Controllers\admin\RewardRules;
  61. use App\Http\Controllers\admin\Realtime;
  62. Route::post('/login', [Admin::class, 'login']);
  63. Route::get('/image', [Lottery::class, 'generate']);
  64. // Route::get('/batch', [Withdraw::class, 'batch']);
  65. // 计划任务 URL 需带 ?token=CRON_TOKEN
  66. Route::prefix('/sync')->middleware('cron.token')->group(function () {
  67. Route::get('/collect', [Sync::class, 'collect']);
  68. Route::get('/recharge', [Sync::class, 'recharge']);
  69. Route::get('/settle', [Sync::class, 'settle']);
  70. Route::get('/five', [Sync::class, 'five']);
  71. Route::get('/close', [Sync::class, 'close']);
  72. Route::get('/cd', [Sync::class, 'cd']);
  73. Route::get('/exchange', [Sync::class, 'exchange']);
  74. });
  75. // 后台实时推送:Echo 私有频道授权(控制器内校验后台 JWT,失败返回 401/403;每次连接按频道各调用一次,不走 api 限流)
  76. Route::post('/broadcasting/auth', [Realtime::class, 'auth'])->withoutMiddleware('throttle:api');
  77. Route::get('/fake', [Bet::class, 'fake'])->middleware('cron.token');
  78. Route::middleware(['admin.jwt'])->group(function () {
  79. Route::middleware(['check.button.uri'])->group(function () {
  80. Route::get('/site/config', [\App\Http\Controllers\admin\SiteConfiguration::class, 'show']);
  81. Route::post('/site/config', [\App\Http\Controllers\admin\SiteConfiguration::class, 'save'])
  82. ->middleware('operations.admin')->defaults('permission_uri', 'admin/site/config/save');
  83. // 联系我们:多个邮箱 + 多个域名
  84. Route::get('/contact/config', [\App\Http\Controllers\admin\ContactConfiguration::class, 'show']);
  85. Route::post('/contact/config', [\App\Http\Controllers\admin\ContactConfiguration::class, 'save'])
  86. ->middleware('operations.admin')->defaults('permission_uri', 'admin/contact/config/save');
  87. Route::prefix('/promotion')->group(function () {
  88. Route::get('/', [\App\Http\Controllers\admin\Promotion::class, 'index']);
  89. Route::get('/options', [\App\Http\Controllers\admin\Promotion::class, 'options'])->defaults('permission_uri', 'admin/promotion');
  90. Route::get('/detail', [\App\Http\Controllers\admin\Promotion::class, 'detail'])->defaults('permission_uri', 'admin/promotion');
  91. Route::post('/submit', [\App\Http\Controllers\admin\Promotion::class, 'submit']);
  92. Route::post('/status', [\App\Http\Controllers\admin\Promotion::class, 'status'])->defaults('permission_uri', 'admin/promotion/submit');
  93. Route::get('/records', [\App\Http\Controllers\admin\Promotion::class, 'records']);
  94. });
  95. Route::prefix('/reporting')->group(function () {
  96. Route::get('/options', [Reporting::class, 'options'])->defaults('permission_uri', 'admin/reporting/summary');
  97. Route::get('/leaderboard', [Reporting::class, 'leaderboard']);
  98. Route::get('/fund-flow', [Reporting::class, 'funds']);
  99. Route::get('/summary', [Reporting::class, 'summary']);
  100. Route::get('/details', [Reporting::class, 'details'])->defaults('permission_uri', 'admin/reporting/summary');
  101. Route::get('/orders', [Reporting::class, 'orders'])->defaults('permission_uri', 'admin/reporting/summary');
  102. Route::get('/events', [Reporting::class, 'events'])->defaults('permission_uri', 'admin/reporting/summary');
  103. Route::get('/settings', [Reporting::class, 'settings'])->defaults('permission_uri', 'admin/reporting/summary');
  104. Route::post('/settings', [Reporting::class, 'settings'])->middleware('operations.admin');
  105. Route::get('/payment-reconciliation', [Reporting::class, 'payments'])->middleware('operations.admin');
  106. Route::post('/payment-reconciliation', [Reporting::class, 'payments'])->middleware('operations.admin');
  107. Route::post('/order-reconciliation', [Reporting::class, 'orderTime'])->middleware('operations.admin');
  108. Route::get('/data-quality', [Reporting::class, 'quality'])->middleware('operations.admin');
  109. });
  110. Route::prefix('/maintenance')->middleware('operations.admin')->group(function () {
  111. Route::get('/', [Maintenance::class, 'index']);
  112. Route::get('/options', [Maintenance::class, 'options'])->defaults('permission_uri', 'admin/maintenance');
  113. Route::get('/detail', [Maintenance::class, 'detail'])->defaults('permission_uri', 'admin/maintenance');
  114. Route::post('/submit', [Maintenance::class, 'submit']);
  115. Route::post('/status', [Maintenance::class, 'status'])->defaults('permission_uri', 'admin/maintenance/submit');
  116. Route::get('/logs', [Maintenance::class, 'logs']);
  117. });
  118. Route::prefix('/message')->group(function () {
  119. Route::get('/', [SiteMessage::class, 'index']);
  120. Route::get('/options', [SiteMessage::class, 'options'])->defaults('permission_uri', 'admin/message');
  121. Route::get('/recipients/users', [SiteMessage::class, 'users'])->defaults('permission_uri', 'admin/message/send');
  122. Route::get('/recipients/agents', [SiteMessage::class, 'agents'])->middleware('agent.admin')->defaults('permission_uri', 'admin/message/send');
  123. Route::get('/detail', [SiteMessage::class, 'detail'])->defaults('permission_uri', 'admin/message');
  124. Route::post('/send', [SiteMessage::class, 'send']);
  125. Route::post('/delete', [SiteMessage::class, 'delete']);
  126. Route::get('/logs', [SiteMessage::class, 'logs']);
  127. });
  128. Route::prefix('/announcement')->group(function () {
  129. Route::get('/', [Announcement::class, 'index']);
  130. Route::get('/options', [Announcement::class, 'options'])->defaults('permission_uri', 'admin/announcement');
  131. Route::get('/detail', [Announcement::class, 'detail'])->defaults('permission_uri', 'admin/announcement');
  132. Route::post('/submit', [Announcement::class, 'submit']);
  133. Route::post('/status', [Announcement::class, 'status'])->defaults('permission_uri', 'admin/announcement/submit');
  134. Route::post('/delete', [Announcement::class, 'delete']);
  135. Route::get('/logs', [Announcement::class, 'logs']);
  136. });
  137. Route::prefix('/agent')->middleware('agent.admin')->group(function () {
  138. Route::get('/pageConfig', [\App\Http\Controllers\admin\AgentPageConfiguration::class, 'show'])->defaults('permission_uri', 'admin/agent');
  139. Route::post('/pageConfig', [\App\Http\Controllers\admin\AgentPageConfiguration::class, 'save'])->defaults('permission_uri', 'admin/agent/update');
  140. Route::get('/applications', [\App\Http\Controllers\admin\AgentApplication::class, 'index'])->defaults('permission_uri', 'admin/agent');
  141. Route::post('/applicationAudit', [\App\Http\Controllers\admin\AgentApplication::class, 'audit'])->defaults('permission_uri', 'admin/agent/update');
  142. Route::get('/', [AgentAdmin::class, 'index']);
  143. Route::get('/show', [AgentAdmin::class, 'show']);
  144. Route::post('/create', [AgentAdmin::class, 'store']);
  145. Route::post('/update', [AgentAdmin::class, 'update']);
  146. Route::post('/domains', [AgentAdmin::class, 'domains']);
  147. Route::post('/adjust', [AgentAdmin::class, 'adjust']);
  148. Route::get('/quota', [AgentAdmin::class, 'quota']);
  149. Route::get('/login-logs', [AgentAdmin::class, 'loginLogs']);
  150. Route::get('/withdrawals', [AgentAdmin::class, 'withdrawals']);
  151. Route::post('/withdrawals/audit', [AgentAdmin::class, 'auditWithdrawal']);
  152. Route::get('/reports', [AgentAdmin::class, 'reports']);
  153. Route::get('/commissions', [AgentAdmin::class, 'commissions']);
  154. Route::get('/profit-commission-profiles', [AgentAdmin::class, 'profitCommissionProfiles']);
  155. Route::post('/profit-commission-profiles', [AgentAdmin::class, 'saveProfitCommissionProfile']);
  156. Route::post('/profit-commission-profiles/delete', [AgentAdmin::class, 'deleteProfitCommissionProfile']);
  157. Route::get('/settings', [AgentAdmin::class, 'settings'])->defaults('permission_uri', 'admin/agent/settings');
  158. Route::post('/settings', [AgentAdmin::class, 'saveSettings'])->defaults('permission_uri', 'admin/agent/settings/save');
  159. Route::get('/plan-applications', [AgentAdmin::class, 'planApplications'])->defaults('permission_uri', 'admin/agent/plan-applications');
  160. Route::post('/plan-applications/audit', [AgentAdmin::class, 'auditPlanApplication'])->defaults('permission_uri', 'admin/agent/plan-applications/audit');
  161. Route::get('/recharges', [AgentAdmin::class, 'recharges'])->defaults('permission_uri', 'admin/agent/recharges');
  162. Route::post('/recharges/audit', [AgentAdmin::class, 'auditRecharge'])->defaults('permission_uri', 'admin/agent/recharges/audit');
  163. Route::get('/payment-orders', [AgentAdmin::class, 'paymentOrders'])->defaults('permission_uri', 'admin/agent/payment-orders');
  164. Route::post('/payment-orders/pay-data', [AgentAdmin::class, 'paymentOrderPayData'])->defaults('permission_uri', 'admin/agent/payment-orders/pay-data');
  165. Route::post('/payment-orders/audit', [AgentAdmin::class, 'auditPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/audit');
  166. Route::post('/payment-orders/reject', [AgentAdmin::class, 'rejectPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/reject');
  167. Route::post('/payment-orders/query', [AgentAdmin::class, 'queryPaymentOrder'])->defaults('permission_uri', 'admin/agent/payment-orders/query');
  168. Route::get('/profit-entries', [AgentAdmin::class, 'profitEntries'])->defaults('permission_uri', 'admin/agent/commissions');
  169. Route::get('/equity-orders', [AgentAdmin::class, 'equityOrders'])->defaults('permission_uri', 'admin/agent/equity-orders');
  170. Route::get('/domain-pool', [\App\Http\Controllers\admin\AgentDomainPool::class, 'index'])->defaults('permission_uri', 'admin/agent/domain-pool');
  171. Route::get('/domain-pool/options', [\App\Http\Controllers\admin\AgentDomainPool::class, 'options'])->defaults('permission_uri', 'admin/agent/domain-pool');
  172. Route::post('/domain-pool/create', [\App\Http\Controllers\admin\AgentDomainPool::class, 'create'])->defaults('permission_uri', 'admin/agent/domain-pool/create');
  173. Route::post('/domain-pool/update', [\App\Http\Controllers\admin\AgentDomainPool::class, 'update'])->defaults('permission_uri', 'admin/agent/domain-pool/update');
  174. Route::post('/domain-pool/delete', [\App\Http\Controllers\admin\AgentDomainPool::class, 'delete'])->defaults('permission_uri', 'admin/agent/domain-pool/delete');
  175. Route::post('/equity-orders/cancel', [AgentAdmin::class, 'cancelEquityOrder'])->defaults('permission_uri', 'admin/agent/equity-orders/cancel');
  176. });
  177. Route::get('/menu/mineMenu', [Menu::class, 'mineMenu']); // 我的菜单
  178. Route::post('/menu/check', [Menu::class, 'check']); // 接口权限
  179. Route::get('/menu/tree', [Menu::class, 'tree']); // 菜单按钮树
  180. Route::prefix('/backflow')->group(function () {
  181. Route::get('/', [Backflow::class, 'index']);
  182. Route::post("/grant", [Backflow::class, 'grant']);
  183. Route::get('/grant-settings', [RewardGrantSettings::class, 'backflow'])->defaults('permission_uri', 'admin/backflow/grant');
  184. Route::post('/grant-settings', [RewardGrantSettings::class, 'saveBackflow'])->defaults('permission_uri', 'admin/backflow/grant');
  185. Route::get('/rules', [RewardRules::class, 'backflow'])->defaults('permission_uri', 'admin/backflow/grant');
  186. Route::post('/rules', [RewardRules::class, 'saveBackflow'])->defaults('permission_uri', 'admin/backflow/grant');
  187. });
  188. Route::prefix('/ActivityUser')->group(function () {
  189. Route::get('/', [ActivityUser::class, 'index']);
  190. Route::post("/gift", [ActivityUser::class, 'gift']);
  191. Route::post("/finish", [ActivityUser::class, 'finish']);
  192. });
  193. Route::prefix('/ActivityReward')->group(function () {
  194. Route::get('/', [ActivityReward::class, 'index']);
  195. Route::get('/options', [ActivityReward::class, 'options']);
  196. Route::post('/submit', [ActivityReward::class, 'store']);
  197. Route::post('/delete', [ActivityReward::class, 'destroy']);
  198. });
  199. Route::prefix('/pcIssue')->group(function () {
  200. Route::get('/', [PcIssue::class, 'index']);
  201. Route::post('/preDraw', [PcIssue::class, 'preDraw']);
  202. });
  203. Route::prefix('/home')->group(function () {
  204. Route::get("/", [Home::class, 'index']);
  205. Route::get('/third-game-balance', [Home::class, 'thirdGameBalance'])->defaults('permission_uri', 'admin/home');
  206. });
  207. Route::prefix("/paymentOrder")->group(function () {
  208. Route::get('/', [PaymentOrder::class, 'index']);
  209. Route::get('/check', [PaymentOrder::class, 'check']);
  210. Route::post('/audit', [PaymentOrder::class, 'audit']);
  211. Route::post('/setPayData', [PaymentOrder::class, 'setPayData']);
  212. Route::post('/manualAudit', [PaymentOrder::class, 'manualAudit']);
  213. Route::post('/reject', [PaymentOrder::class, 'reject']);
  214. Route::post('/setIsLocked', [PaymentOrder::class, 'setIsLocked']);
  215. Route::get('/unProcessed', [PaymentOrder::class, 'unProcessed']);
  216. });
  217. Route::prefix('/rebate')->group(function () {
  218. Route::get('/', [Rebate::class, 'index']);
  219. Route::post('/submit', [Rebate::class, 'store']);
  220. Route::get('/grant-settings', [RewardGrantSettings::class, 'rebate'])->defaults('permission_uri', 'admin/rebate/submit');
  221. Route::post('/grant-settings', [RewardGrantSettings::class, 'saveRebate'])->defaults('permission_uri', 'admin/rebate/submit');
  222. Route::get('/rules', [RewardRules::class, 'rebate'])->defaults('permission_uri', 'admin/rebate/submit');
  223. Route::post('/rules', [RewardRules::class, 'saveRebate'])->defaults('permission_uri', 'admin/rebate/submit');
  224. });
  225. Route::post("/setPassword", [Admin::class, 'setPassword']);
  226. Route::get('/index', [Admin::class, 'index']);
  227. Route::post('/submit', [Admin::class, 'store']);
  228. Route::post('/delete', [Admin::class, 'destroy']);
  229. // 关键字回复路由
  230. Route::prefix('/keyboard')->group(function () {
  231. Route::get('/', [Keyboard::class, 'index']);
  232. Route::post('/submit', [Keyboard::class, 'store']);
  233. Route::post('/delete', [Keyboard::class, 'destroy']);
  234. });
  235. // 期数路由
  236. Route::prefix('/issue')->group(function () {
  237. Route::get('/', [Issue::class, 'index']);
  238. Route::get('/abnormal', [Issue::class, 'abnormal']);
  239. Route::post('/submit', [Issue::class, 'store']);
  240. Route::post('/betting', [Issue::class, 'betting']);
  241. Route::post('/close', [Issue::class, 'close']);
  242. Route::post('/failure', [Issue::class, 'failure']);
  243. Route::post('/lotteryDraw', [Issue::class, 'lotteryDraw']); // 开奖
  244. Route::post('/delete', [Issue::class, 'destroy']); // 删除
  245. });
  246. // 投注记录
  247. Route::prefix('/bet')->group(function () {
  248. Route::get('/', [Bet::class, 'index']);
  249. });
  250. // 玩法规则路由
  251. Route::prefix('/gameplayRule')->group(function () {
  252. Route::get('/', [GameplayRule::class, 'index']);
  253. Route::post('/submit', [GameplayRule::class, 'store']); // 游戏规则写入
  254. Route::get('/cache', [GameplayRule::class, 'info']); // 游戏规则缓存读取
  255. Route::post('/delete', [GameplayRule::class, 'destroy']); // 删除
  256. });
  257. Route::prefix('/withdraw')->group(function () {
  258. Route::get('/', [Withdraw::class, 'index']);
  259. Route::get('/rmb', [Withdraw::class, 'rmb']);
  260. Route::post('setStatus', [Withdraw::class, 'setStatus']);
  261. Route::post('/setNote', [Withdraw::class, 'setNote']);
  262. Route::post('/setRmbNote', [Withdraw::class, 'setRmbNote']);
  263. Route::post('/setIsLocked', [Withdraw::class, 'setIsLocked']);
  264. });
  265. Route::prefix('/game')->group(function () {
  266. Route::get('/', [Game::class, 'index']);
  267. Route::post('/update', [Game::class, 'update']);
  268. Route::post('/delete', [Game::class, 'destroy']);
  269. });
  270. Route::prefix('/room')->group(function () {
  271. Route::get('/', [Room::class, 'index']);
  272. Route::get('/details', [Room::class, 'details']);
  273. Route::post('/setScore', [Room::class, 'setScore']);
  274. Route::post('/completed', [Room::class, 'completed']);
  275. });
  276. Route::prefix('/config')->group(function () {
  277. Route::get('/usdt', [Config::class, 'usdt'])->defaults('permission_uri', 'admin/config/getAll');
  278. Route::post('/usdt', [Config::class, 'saveUsdt'])->defaults('permission_uri', 'admin/config/set');
  279. Route::get('/pcConfig', [Config::class, 'pcConfig']);
  280. Route::post('/pc28Switch', [Config::class, 'pc28Switch']);
  281. Route::get('/gameList', [Config::class, 'gameList']);
  282. Route::get('/sportList', [Config::class, 'sportList']);
  283. Route::get('/getAll', [Config::class, 'getAll']);
  284. Route::get('/get', [Config::class, 'get']);
  285. Route::post('/set', [Config::class, 'set']);
  286. Route::post('/sendChannelMessage', [Config::class, 'sendChannelMessage']);
  287. // Route::post('/sendChannelVideo', [Config::class, 'sendChannelVideo']);
  288. Route::get('/', [Config::class, 'index']);
  289. Route::post('/submit', [Config::class, 'store']); //
  290. Route::post('/delete', [Config::class, 'destroy']); // 删除
  291. Route::post('/setField', [Config::class, 'setField']);
  292. });
  293. Route::prefix('/balance')->group(function () {
  294. Route::get('/log', [Balance::class, 'log']);
  295. });
  296. Route::prefix('/funds')->group(function () {
  297. Route::get('/summary', [Funds::class, 'summary']);
  298. });
  299. Route::prefix('/paymentConfig')->middleware('operations.admin')->group(function () {
  300. Route::get('/options', [PaymentConfiguration::class, 'options']);
  301. Route::get('/direct', [PaymentConfiguration::class, 'directList']);
  302. Route::post('/direct/save', [PaymentConfiguration::class, 'directSave']);
  303. Route::post('/direct/status', [PaymentConfiguration::class, 'directStatus']);
  304. Route::post('/direct/delete', [PaymentConfiguration::class, 'directDelete']);
  305. Route::get('/gateways', [PaymentConfiguration::class, 'gatewayList']);
  306. Route::post('/gateways/save', [PaymentConfiguration::class, 'gatewaySave']);
  307. Route::post('/gateways/status', [PaymentConfiguration::class, 'gatewayStatus']);
  308. Route::post('/gateways/delete', [PaymentConfiguration::class, 'gatewayDelete']);
  309. Route::get('/collections', [PaymentConfiguration::class, 'collectionList']);
  310. Route::post('/collections/save', [PaymentConfiguration::class, 'collectionSave']);
  311. Route::post('/collections/status', [PaymentConfiguration::class, 'collectionStatus']);
  312. Route::post('/collections/delete', [PaymentConfiguration::class, 'collectionDelete']);
  313. Route::get('/logs', [PaymentConfiguration::class, 'logs']);
  314. });
  315. Route::prefix('/appConfig')->middleware('operations.admin')->group(function () {
  316. Route::get('/display', [AppConfiguration::class, 'display']);
  317. Route::post('/display/save', [AppConfiguration::class, 'saveDisplay']);
  318. Route::get('/packages', [AppConfiguration::class, 'packages']);
  319. Route::post('/packages/save', [AppConfiguration::class, 'savePackage']);
  320. Route::post('/packages/status', [AppConfiguration::class, 'packageStatus']);
  321. Route::post('/packages/delete', [AppConfiguration::class, 'deletePackage']);
  322. Route::get('/downloadStats', [AppConfiguration::class, 'downloadStats']);
  323. Route::get('/iosReviews', [AppConfiguration::class, 'iosReviews']);
  324. Route::post('/iosReviews/save', [AppConfiguration::class, 'saveIosReview']);
  325. Route::post('/iosReviews/status', [AppConfiguration::class, 'iosReviewStatus']);
  326. Route::post('/iosReviews/delete', [AppConfiguration::class, 'deleteIosReview']);
  327. Route::get('/logs', [AppConfiguration::class, 'logs']);
  328. });
  329. Route::prefix('/shareEarning')->middleware('operations.admin')->group(function () {
  330. Route::get('/members', [ShareEarning::class, 'memberList']);
  331. Route::get('/members/promoters', [ShareEarning::class, 'promoterDetails']);
  332. Route::get('/members/registrations', [ShareEarning::class, 'registrationDetails']);
  333. Route::get('/summary', [ShareEarning::class, 'summary']);
  334. Route::get('/settings', [ShareEarning::class, 'settings']);
  335. Route::post('/settings/save', [ShareEarning::class, 'saveSettings']);
  336. Route::get('/levels', [SharingManagement::class, 'levels']);
  337. Route::post('/levels/save', [SharingManagement::class, 'saveLevel']);
  338. Route::post('/levels/delete', [SharingManagement::class, 'deleteLevel']);
  339. Route::get('/claims', [SharingManagement::class, 'claims']);
  340. Route::get('/claims/options', [SharingManagement::class, 'claimOptions'])->defaults('permission_uri', 'admin/shareEarning/claims');
  341. Route::get('/claims/detail', [SharingManagement::class, 'claimDetail']);
  342. Route::post('/claims/audit', [SharingManagement::class, 'auditClaim']);
  343. Route::get('/rateRules', [SharingManagement::class, 'rateRules']);
  344. Route::post('/rateRules/save', [SharingManagement::class, 'saveRateRules']);
  345. Route::get('/blacklists', [ShareEarning::class, 'blacklists']);
  346. Route::post('/blacklists/save', [ShareEarning::class, 'saveBlacklist']);
  347. Route::post('/blacklists/status', [ShareEarning::class, 'blacklistStatus']);
  348. Route::post('/blacklists/delete', [ShareEarning::class, 'deleteBlacklist']);
  349. });
  350. Route::prefix('/manualAudit')->group(function () {
  351. Route::get('/', [ManualAudit::class, 'index']);
  352. Route::get('/detail', [ManualAudit::class, 'detail']);
  353. Route::post('/topUp', [ManualAudit::class, 'topUp']);
  354. Route::post('/debit', [ManualAudit::class, 'debit']);
  355. Route::post('/freeze', [WalletFreeze::class, 'freeze']);
  356. Route::post('/unfreeze', [WalletFreeze::class, 'unfreeze']);
  357. });
  358. Route::get('/walletFreeze', [WalletFreeze::class, 'index']);
  359. Route::prefix('/thirdPartyDeposit')->group(function () {
  360. Route::get('/', [ThirdPartyDeposit::class, 'index']);
  361. Route::get('/detail', [ThirdPartyDeposit::class, 'detail']);
  362. });
  363. Route::prefix('/thirdGame')->group(function () {
  364. Route::get('/orders', [ThirdGameOrder::class, 'index']);
  365. });
  366. Route::prefix('/wallet')->group(function () {
  367. Route::get('/', [Wallet::class, 'index']);
  368. Route::post('/topUp', [Wallet::class, 'topUp']);
  369. Route::post('/verifyRecharge', [Wallet::class, 'verifyRecharge']);
  370. Route::get('/getPendingTasks', [Wallet::class, 'getPendingTasks']);
  371. Route::get('/getChangeTypes', [Wallet::class, 'getChangeTypes']);
  372. Route::post('/debiting', [Wallet::class, 'debiting']);
  373. Route::post('/orderDebiting', [Wallet::class, 'orderDebiting']);
  374. Route::post('/orderTopUp', [Wallet::class, 'orderTopUp']);
  375. Route::get("/bankList", [Wallet::class, 'bankList']);
  376. Route::get("/address", [Wallet::class, 'address']);
  377. Route::get("/withdrawChannel", [Wallet::class, 'withdrawChannel']);
  378. Route::get("/getChannel", [Wallet::class, 'getChannel']);
  379. });
  380. Route::prefix('/rechargeBonus')->group(function () {
  381. Route::get('/list', [\App\Http\Controllers\admin\RechargeBonus::class, 'index']);
  382. Route::post('/save', [\App\Http\Controllers\admin\RechargeBonus::class, 'save']);
  383. Route::post('/status', [\App\Http\Controllers\admin\RechargeBonus::class, 'status'])->defaults('permission_uri', 'admin/rechargeBonus/save');
  384. });
  385. Route::prefix('/menuBadge')->group(function () {
  386. Route::get('/list', [\App\Http\Controllers\admin\MenuBadge::class, 'index']);
  387. Route::post('/save', [\App\Http\Controllers\admin\MenuBadge::class, 'save']);
  388. Route::post('/status', [\App\Http\Controllers\admin\MenuBadge::class, 'status'])->defaults('permission_uri', 'admin/menuBadge/save');
  389. Route::post('/delete', [\App\Http\Controllers\admin\MenuBadge::class, 'delete']);
  390. });
  391. Route::prefix('/rechargeChannel')->group(function () {
  392. Route::get('/logoOptions', [RechargeChannel::class, 'logoOptions'])->defaults('permission_uri', 'admin/rechargeChannel/list');
  393. Route::post('/saveLogo', [RechargeChannel::class, 'saveLogo'])->defaults('permission_uri', 'admin/rechargeChannel/update');
  394. Route::post('/delete', [RechargeChannel::class, 'delete']);
  395. Route::get("/options", [RechargeChannel::class, 'options']);
  396. Route::get("/list", [RechargeChannel::class, 'list']);
  397. Route::get('/logs', [RechargeChannel::class, 'logs'])->defaults('permission_uri', 'admin/rechargeChannel/list');
  398. Route::post("/update", [RechargeChannel::class, 'update']);
  399. Route::get("/groupList", [RechargeChannel::class, 'groupList']);
  400. Route::post("/updateGroup", [RechargeChannel::class, 'updateGroup']);
  401. Route::post('/deleteGroup', [RechargeChannel::class, 'deleteGroup']);
  402. Route::get("/getChannel", [RechargeChannel::class, 'getChannel']);
  403. });
  404. Route::prefix('/paymentCompany')->group(function () {
  405. Route::get('/list', [\App\Http\Controllers\admin\PaymentCompany::class, 'list']);
  406. Route::post('/status', [\App\Http\Controllers\admin\PaymentCompany::class, 'status']);
  407. Route::get('/config', [\App\Http\Controllers\admin\PaymentCompany::class, 'config'])->middleware('operations.admin');
  408. Route::post('/config/save', [\App\Http\Controllers\admin\PaymentCompany::class, 'saveConfig'])->middleware('operations.admin');
  409. });
  410. Route::prefix('/user')->group(function () {
  411. Route::get('/', [User::class, 'index']);
  412. Route::get('/address', [User::class, 'address']);
  413. Route::post('/merge', [User::class, 'merge']);
  414. Route::post('/setNote', [User::class, 'setNote']);
  415. Route::post('/banned', [User::class, 'banned']);
  416. Route::get('/loginLog', [User::class, 'loginLog']);
  417. Route::get('/registerTrend', [User::class, 'registerTrend']);
  418. Route::get('/registerDomain', [User::class, 'registerDomain']);
  419. Route::post('/setRechargeChannelGroup', [User::class, 'setRechargeChannelGroup']);
  420. Route::post('/bindSuperior', [User::class, 'bindSuperior']);
  421. Route::post('/setPassword', [User::class, 'setPassword']);
  422. Route::post('/freeze', [WalletFreeze::class, 'freeze']);
  423. Route::post('/unfreeze', [WalletFreeze::class, 'unfreeze']);
  424. Route::get('/daily-report', [\App\Http\Controllers\admin\MemberDailyReport::class, 'index']);
  425. Route::get('/thirdGame/detail', [User::class, 'thirdGameDetail']);
  426. Route::post('/thirdGame/recycle', [User::class, 'recycleThirdGameBalance']);
  427. Route::get('/thirdGame/recycleRecords', [User::class, 'thirdGameRecycleRecords']);
  428. Route::post('/thirdGame/recycleResolve', [User::class, 'resolveThirdGameRecycle']);
  429. });
  430. Route::prefix('/online')->group(function () {
  431. Route::get('/users', [Online::class, 'users']);
  432. Route::get('/newUserSummary', [Online::class, 'newUserSummary']);
  433. Route::get('/platformCount', [Online::class, 'platformCount']);
  434. });
  435. Route::prefix('/userFeedback')->group(function () {
  436. Route::get('/list', [UserFeedback::class, 'list']);
  437. });
  438. Route::prefix('/menu')->group(function () {
  439. Route::get('/', [Menu::class, 'index']);
  440. Route::post('/submit', [Menu::class, 'store']);
  441. Route::post('/delete', [Menu::class, 'destroy']);
  442. Route::get('/all', [Menu::class, 'all']);
  443. });
  444. Route::prefix('/role')->group(function () {
  445. Route::get('/', [Role::class, 'index']);
  446. Route::post('/submit', [Role::class, 'store']);
  447. Route::post('/delete', [Role::class, 'destroy']);
  448. Route::get('/all', [Role::class, 'all']);
  449. });
  450. Route::prefix('/order')->group(function () {
  451. Route::post('/refund', [Order::class, 'refund']);
  452. Route::get('/list', [Order::class, 'list']);
  453. Route::get('/info', [Order::class, 'info']);
  454. });
  455. Route::prefix('/operation')->group(function () {
  456. Route::get('/exchangeList', [Operation::class, 'exchangeList']);
  457. Route::get('/index', [Operation::class, 'index']);
  458. });
  459. Route::prefix('/banner')->group(function () {
  460. Route::get('/index', [Banner::class, 'index']);
  461. Route::post('/update', [Banner::class, 'update']);
  462. Route::post('/status', [Banner::class, 'status'])->defaults('permission_uri', 'admin/banner/update');
  463. Route::get('/delete', [Banner::class, 'delete']);
  464. });
  465. Route::prefix('/lhcOrder')->group(function () {
  466. Route::get('/list', [LhcOrder::class, 'list']);
  467. Route::get('/info', [LhcOrder::class, 'info']);
  468. Route::post('/refund', [LhcOrder::class, 'refund']);
  469. });
  470. Route::prefix('/lhcNumber')->group(function () {
  471. Route::get('/list', [LhcNumber::class, 'list']);
  472. Route::post('/setOdds', [LhcNumber::class, 'setOdds']);
  473. });
  474. Route::prefix('/lhcLottery')->group(function () {
  475. Route::get('/list', [LhcLottery::class, 'list']);
  476. Route::post('/setAdvanceCode', [LhcLottery::class, 'setAdvanceCode']);
  477. });
  478. Route::prefix('/sport')->group(function () {
  479. Route::get('/list', [Sport::class, 'list']);
  480. Route::get('/info', [Sport::class, 'info']);
  481. Route::post('/setStatus', [Sport::class, 'setStatus']);
  482. Route::post('/setOddsLocked', [Sport::class, 'setOddsLocked']);
  483. Route::post('/getFixtures', [Sport::class, 'getFixtures']);
  484. Route::post('/setValuesLocked', [Sport::class, 'setValuesLocked']);
  485. Route::post('/setOdds', [Sport::class, 'setOdds']);
  486. Route::get('/oddsList', [Sport::class, 'oddsList']);
  487. });
  488. Route::prefix('/level')->group(function () {
  489. Route::get('/list', [Level::class, 'list']);
  490. Route::post('/update', [Level::class, 'update']);
  491. Route::get('/delete', [Level::class, 'delete']);
  492. });
  493. Route::prefix('/yuebao')->group(function () {
  494. Route::get('/item', [YueBao::class, 'item']);
  495. Route::get('/log', [YueBao::class, 'log']);
  496. Route::get('/config', [YueBao::class, 'config']);
  497. Route::post('/config', [YueBao::class, 'saveConfig']);
  498. });
  499. // 模拟管理:只有这里能看到后台模拟会员(users.user_type = 2)的数据。查看类接口按所在菜单的“查看”权限校验,写接口各有按钮权限。
  500. Route::prefix('/simulation')->group(function () {
  501. Route::get('/overview', [\App\Http\Controllers\admin\Simulation::class, 'overview'])->defaults('permission_uri', 'admin/simulation/overview');
  502. Route::get('/members', [\App\Http\Controllers\admin\Simulation::class, 'members'])->defaults('permission_uri', 'admin/simulation/members');
  503. Route::post('/members', [\App\Http\Controllers\admin\Simulation::class, 'createMembers'])->defaults('permission_uri', 'admin/simulation/members/create');
  504. Route::get('/members/detail', [\App\Http\Controllers\admin\Simulation::class, 'memberDetail'])->defaults('permission_uri', 'admin/simulation/members');
  505. Route::post('/members/banned', [\App\Http\Controllers\admin\Simulation::class, 'memberBanned']);
  506. Route::post('/members/login', [\App\Http\Controllers\admin\Simulation::class, 'memberLogin']);
  507. Route::post('/members/logout', [\App\Http\Controllers\admin\Simulation::class, 'memberLogout']);
  508. Route::get('/members/login-logs', [\App\Http\Controllers\admin\Simulation::class, 'loginLogs'])->defaults('permission_uri', 'admin/simulation/members');
  509. Route::get('/funds/recharges', [\App\Http\Controllers\admin\Simulation::class, 'recharges'])->defaults('permission_uri', 'admin/simulation/funds');
  510. Route::post('/funds/recharge', [\App\Http\Controllers\admin\Simulation::class, 'recharge']);
  511. Route::get('/funds/withdrawals', [\App\Http\Controllers\admin\Simulation::class, 'withdrawals'])->defaults('permission_uri', 'admin/simulation/funds');
  512. Route::post('/funds/withdraw', [\App\Http\Controllers\admin\Simulation::class, 'withdraw']);
  513. Route::post('/funds/withdraw/audit', [\App\Http\Controllers\admin\Simulation::class, 'withdrawAudit']);
  514. Route::post('/funds/adjust', [\App\Http\Controllers\admin\Simulation::class, 'adjust']);
  515. Route::get('/funds/ledger', [\App\Http\Controllers\admin\Simulation::class, 'ledger'])->defaults('permission_uri', 'admin/simulation/funds');
  516. Route::get('/funds/freezes', [\App\Http\Controllers\admin\Simulation::class, 'freezes'])->defaults('permission_uri', 'admin/simulation/funds');
  517. Route::post('/funds/freeze', [\App\Http\Controllers\admin\Simulation::class, 'freeze']);
  518. Route::post('/funds/unfreeze', [\App\Http\Controllers\admin\Simulation::class, 'unfreeze']);
  519. Route::get('/bets/options', [\App\Http\Controllers\admin\Simulation::class, 'betOptions'])->defaults('permission_uri', 'admin/simulation/bets');
  520. Route::get('/bets/lottery', [\App\Http\Controllers\admin\Simulation::class, 'lotteryBets'])->defaults('permission_uri', 'admin/simulation/bets');
  521. Route::post('/bets/lottery', [\App\Http\Controllers\admin\Simulation::class, 'lotteryBet']);
  522. Route::get('/bets/sport', [\App\Http\Controllers\admin\Simulation::class, 'sportBets'])->defaults('permission_uri', 'admin/simulation/bets');
  523. Route::post('/bets/sport', [\App\Http\Controllers\admin\Simulation::class, 'sportBet']);
  524. Route::post('/bets/sport/settle', [\App\Http\Controllers\admin\Simulation::class, 'sportSettle']);
  525. Route::post('/bets/sport/cancel', [\App\Http\Controllers\admin\Simulation::class, 'sportCancel']);
  526. Route::get('/bets/third', [\App\Http\Controllers\admin\Simulation::class, 'thirdBets'])->defaults('permission_uri', 'admin/simulation/bets');
  527. Route::get('/tasks/templates', [\App\Http\Controllers\admin\Simulation::class, 'templates'])->defaults('permission_uri', 'admin/simulation/tasks');
  528. Route::post('/tasks/templates', [\App\Http\Controllers\admin\Simulation::class, 'saveTemplate']);
  529. Route::post('/tasks/templates/delete', [\App\Http\Controllers\admin\Simulation::class, 'deleteTemplate']);
  530. Route::get('/tasks/runs', [\App\Http\Controllers\admin\Simulation::class, 'runs'])->defaults('permission_uri', 'admin/simulation/tasks');
  531. Route::post('/tasks/runs', [\App\Http\Controllers\admin\Simulation::class, 'startRun']);
  532. Route::post('/tasks/runs/status', [\App\Http\Controllers\admin\Simulation::class, 'runStatus']);
  533. Route::get('/tasks/events', [\App\Http\Controllers\admin\Simulation::class, 'events'])->defaults('permission_uri', 'admin/simulation/tasks');
  534. Route::get('/reports/users', [\App\Http\Controllers\admin\Simulation::class, 'reportUsers'])->defaults('permission_uri', 'admin/simulation/reports');
  535. Route::get('/reports/funds', [\App\Http\Controllers\admin\Simulation::class, 'reportFunds'])->defaults('permission_uri', 'admin/simulation/reports');
  536. Route::get('/reports/home', [\App\Http\Controllers\admin\Simulation::class, 'reportHome'])->defaults('permission_uri', 'admin/simulation/reports');
  537. Route::get('/reports/games', [\App\Http\Controllers\admin\Simulation::class, 'reportGames'])->defaults('permission_uri', 'admin/simulation/reports');
  538. Route::get('/reports/fund-flow', [\App\Http\Controllers\admin\Simulation::class, 'reportFundFlow'])->defaults('permission_uri', 'admin/simulation/reports');
  539. Route::get('/reports/registrations', [\App\Http\Controllers\admin\Simulation::class, 'reportRegistrations'])->defaults('permission_uri', 'admin/simulation/reports');
  540. Route::get('/reports/domains', [\App\Http\Controllers\admin\Simulation::class, 'reportDomains'])->defaults('permission_uri', 'admin/simulation/reports');
  541. Route::post('/reports/refresh', [\App\Http\Controllers\admin\Simulation::class, 'reportRefresh']);
  542. Route::get('/logs/audits', [\App\Http\Controllers\admin\Simulation::class, 'audits'])->defaults('permission_uri', 'admin/simulation/logs');
  543. Route::get('/logs/events', [\App\Http\Controllers\admin\Simulation::class, 'events'])->defaults('permission_uri', 'admin/simulation/logs');
  544. Route::get('/settings', [\App\Http\Controllers\admin\Simulation::class, 'settings'])->defaults('permission_uri', 'admin/simulation/settings');
  545. Route::post('/settings', [\App\Http\Controllers\admin\Simulation::class, 'saveSettings'])->middleware('operations.admin')->defaults('permission_uri', 'admin/simulation/settings/save');
  546. Route::get('/reset/preview', [\App\Http\Controllers\admin\Simulation::class, 'resetPreview'])->middleware('operations.admin')->defaults('permission_uri', 'admin/simulation/reset');
  547. Route::post('/reset', [\App\Http\Controllers\admin\Simulation::class, 'reset'])->middleware('operations.admin');
  548. });
  549. Route::prefix('/sportGame')->group(function () {
  550. Route::get('/list', [SportGame::class, 'list']);
  551. Route::post('/setOdds', [SportGame::class, 'setOdds']);
  552. });
  553. Route::prefix('/sportGameOrder')->group(function () {
  554. Route::get('/list', [SportGameOrder::class, 'list']);
  555. Route::get('/info', [SportGameOrder::class, 'info']);
  556. Route::post('/refund', [SportGameOrder::class, 'refund']);
  557. });
  558. Route::prefix('/jisuGame')->group(function () {
  559. Route::get('/list', [JisuGame::class, 'list']);
  560. Route::post('/setOdds', [JisuGame::class, 'setOdds']);
  561. });
  562. Route::prefix('/jisuGameOrder')->group(function () {
  563. Route::get('/list', [JisuGameOrder::class, 'list']);
  564. Route::get('/info', [JisuGameOrder::class, 'info']);
  565. Route::post('/refund', [JisuGameOrder::class, 'refund']);
  566. });
  567. Route::prefix('/jisuLottery')->group(function () {
  568. Route::get('/list', [JisuLottery::class, 'list']);
  569. Route::post('/setAdvanceCode', [JisuLottery::class, 'setAdvanceCode']);
  570. });
  571. Route::prefix('/egame')->group(function () {
  572. Route::get('/items', [Egame::class, 'items']);
  573. Route::get('/options', [Egame::class, 'options']);
  574. Route::post('/update', [Egame::class, 'update']);
  575. Route::post('/setStatus', [Egame::class, 'setStatus']);
  576. Route::post('/delete', [Egame::class, 'delete']);
  577. });
  578. });
  579. // 后台实时推送:Echo 连接参数与断线补发(登录即可,频道按列表按钮权限过滤)
  580. Route::get('/realtime/config', [Realtime::class, 'config']);
  581. Route::get('/realtime/replay', [Realtime::class, 'replay']);
  582. Route::prefix('/upload')->group(function () {
  583. Route::post('/uploadFile', [Upload::class, 'store']);
  584. Route::post('/uploadVideo', [Upload::class, 'video']);
  585. });
  586. });