lip 3 dni temu
rodzic
commit
023cef0f9d

+ 2 - 1
app/Http/Controllers/api/ActivityReward.php

@@ -168,7 +168,8 @@ class ActivityReward extends BaseController
             $query = ActivityRewardModel::where(ActivityRewardService::getWhere([
             $query = ActivityRewardModel::where(ActivityRewardService::getWhere([
 //                'start_time' => ['<=', $time],
 //                'start_time' => ['<=', $time],
                 'end_time' => ['>=', $time],
                 'end_time' => ['>=', $time],
-                'status' => ActivityRewardModel::STATUS_UP
+                'status' => ActivityRewardModel::STATUS_UP,
+                'type' => 1,
             ]));
             ]));
             if (!empty($memberId)) {
             if (!empty($memberId)) {
                 $query->with(['activityUser' => function ($query1) use ($memberId) {
                 $query->with(['activityUser' => function ($query1) use ($memberId) {

+ 81 - 0
app/Http/Controllers/api/Wallet.php

@@ -0,0 +1,81 @@
+<?php
+
+namespace App\Http\Controllers\api;
+
+use App\Services\WalletService;
+use App\Services\ConfigService;
+use App\Models\Config;
+use App\Models\Recharge;
+use Illuminate\Validation\ValidationException;
+
+use Exception;
+
+/**
+ * 充值提现接口
+ */
+class Wallet extends BaseController
+{
+
+    /**
+     * 获取充值二维码(微信、支付宝、扫码充值)
+     */
+    function scan()
+    {
+        $member_id = '';
+        $type = 'TRC20';
+        $receivingType = ConfigService::getVal("receiving_type");
+        //自动充值
+        if ($receivingType == 1) {
+            $res = WalletService::getRechargeImageAddress($member_id);
+            $address = $res['address'];
+            $qrCode = $res['full_path'];
+        } else {
+            //手动充值
+            if ($type === "TRC20") {
+                $address = Config::where('field', 'receiving_address')->first()->val;
+            } else {//if ($type === "ERC20")
+                $address = Config::where('field', 'receiving_address_erc20')->first()->val;
+            }
+            $res = WalletService::getPlatformImageAddress($address);
+            $res['net'] = $type;
+            $qrCode = $res['full_path'];
+        }
+        
+        return $this->success([
+            'qrcode' => $qrCode,
+            // 'photo' => InputFile::create($qrCode),
+        ]);
+    }
+
+    /**
+     * 提交充值凭证
+     */
+    public function recharge()
+    {
+        try {
+            $params = request()->validate([
+                'net' => ['required', 'string'],
+                'amount' => ['required', 'float'],
+                'toAddress' => ['required', 'string'],
+                'image' => ['required', 'url'],
+            ]);
+            $member_id = '';
+            $recharge = new Recharge();
+            $recharge->member_id = $member_id;
+            $recharge->net = $params['net'];
+            $recharge->coin = "USDT";
+            $recharge->amount = $params['amount'];
+            $recharge->to_address = $params['toAddress'];
+            $recharge->status = 0;
+            $recharge->type = 2;
+            $recharge->image = $params['image'];
+            $recharge->save();
+
+        } catch (ValidationException $e) {
+            return $this->error($e->validator->errors()->first());
+        } catch (Exception $e) {
+            return $this->error($e->getMessage());
+        }
+    }
+
+}

+ 2 - 0
app/Http/Kernel.php

@@ -67,6 +67,8 @@ class Kernel extends HttpKernel
         'admin.jwt' => \App\Http\Middleware\JwtAdminMiddleware::class,
         'admin.jwt' => \App\Http\Middleware\JwtAdminMiddleware::class,
         'jwt' => \App\Http\Middleware\JwtMiddleware::class,
         'jwt' => \App\Http\Middleware\JwtMiddleware::class,
         'check.button.uri' => \App\Http\Middleware\CheckButtonPermission::class,
         'check.button.uri' => \App\Http\Middleware\CheckButtonPermission::class,
+        'check.token' => \App\Http\Middleware\CheckToken::class,
+
         // 系统默认的中间件
         // 系统默认的中间件
         'auth' => Authenticate::class,
         'auth' => Authenticate::class,
         'auth.basic' => AuthenticateWithBasicAuth::class,
         'auth.basic' => AuthenticateWithBasicAuth::class,

+ 62 - 0
app/Http/Middleware/CheckToken.php

@@ -0,0 +1,62 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Models\User;
+use App\Models\UserSession;
+use Closure;
+use Illuminate\Http\Request;
+
+class CheckToken
+{
+    /**
+     * 处理传入请求
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle(Request $request, Closure $next)
+    {
+        // 1. 从请求头获取 token(header 名称:token / Token 都支持)
+        $token = $request->header('token');
+
+        // 2. 如果请求头没有 token,直接返回未授权
+        if (empty($token)) {
+            return response()->json([
+                'code' => 401,
+                'msg' => lang('请携带token访问')
+            ], 401);
+        }
+
+        // 3. 查询 user_session:token 存在 + 未过期
+        $session = UserSession::where('token', $token)
+            ->where('expire_time', '>', now()) // 过期时间 > 当前时间 = 未过期
+            ->first();
+
+        // 4. 会话不存在或已过期
+        if (!$session) {
+            return response()->json([
+                'code' => 401,
+                'msg' => lang('token无效或已过期')
+            ], 401);
+        }
+
+        // 5. 查询对应用户信息
+        $user = User::find($session->user_id);
+
+        // 6. 用户不存在
+        if (!$user) {
+            return response()->json([
+                'code' => 401,
+                'msg' => lang('用户不存在')
+            ], 401);
+        }
+
+        // 7. 把用户信息赋值给 $request->user
+        $request->user = $user;
+
+        // 8. 放行请求,进入控制器
+        return $next($request);
+    }
+}

+ 1 - 1
app/Services/BalanceLogService.php

@@ -19,7 +19,7 @@ class BalanceLogService extends BaseService
         '体彩投注','体彩退款','体彩和局退款','体彩中奖','体彩输半退款',
         '体彩投注','体彩退款','体彩和局退款','体彩中奖','体彩输半退款',
         '澳门六合彩投注','澳门六合彩退款','澳门六合彩和局退款','澳门六合彩中奖',
         '澳门六合彩投注','澳门六合彩退款','澳门六合彩和局退款','澳门六合彩中奖',
         '香港六合彩投注','香港六合彩退款','香港六合彩和局退款','香港六合彩中奖','PC28投注','极速28投注',
         '香港六合彩投注','香港六合彩退款','香港六合彩和局退款','香港六合彩中奖','PC28投注','极速28投注',
-        '投注','中奖', '资产转移', '比比返', '返水', '回水', '笔笔返', '投注退分'
+        '投注','中奖', '资产转移', '比比返', '返水', '回水', '笔笔返', '投注退分','余额宝收益'
     ];
     ];
 
 
     public static function init($telegram, $data, $chatId, $firstName, $messageId, $callbackId): void
     public static function init($telegram, $data, $chatId, $firstName, $messageId, $callbackId): void

+ 8 - 0
routes/api.php

@@ -10,6 +10,7 @@ use App\Http\Controllers\api\Issue;
 use App\Http\Controllers\api\Pay;
 use App\Http\Controllers\api\Pay;
 use App\Http\Controllers\api\NewPc;
 use App\Http\Controllers\api\NewPc;
 use App\Http\Controllers\api\PcIssue;
 use App\Http\Controllers\api\PcIssue;
+use App\Http\Controllers\api\Wallet;
 
 
 Route::post("/onMessage", [TelegramWebHook::class, 'handle']);
 Route::post("/onMessage", [TelegramWebHook::class, 'handle']);
 Route::get("/setWebHook", [Home::class, 'setWebHook']);
 Route::get("/setWebHook", [Home::class, 'setWebHook']);
@@ -77,6 +78,13 @@ Route::fallback(function () {
     ], 200);
     ], 200);
 });
 });
 
 
+// 足球app充值提现的接口需要校验 token 的接口
+Route::middleware('check.token')->group(function () {
+    Route::prefix('/wallet')->group(function () {
+        Route::get("/scan", [Wallet::class, 'scan']);
+        Route::post("/recharge", [Wallet::class, 'recharge']);
+    });
+});