PPPPPPP 4 өдөр өмнө
parent
commit
d16ec8d037

+ 15 - 10
app/Http/Controllers/Admin/GlobalController.php

@@ -30,6 +30,9 @@ use Illuminate\Support\Facades\Redis;
 
 class GlobalController extends Controller
 {
+    const USER_RIGHT_FORCE_STOCKMODE1 = 0b00000001; // 强制使用普通控制模式
+    const USER_RIGHT_FORCE_STOCKMODE2 = 0b00000010; // 强制使用库存模式2
+    const USER_RIGHT_BLACKMAN = 0b00000100; // 拉黑
 
     public function index(Request $request)
     {
@@ -1973,12 +1976,9 @@ class GlobalController extends Controller
 
     public function force_stock_mode(Request $request, $UserID)
     {
-        // 常量定义
-        $USER_RIGHT_FORCE_STOCKMODE1 = 0b00000001; // 强制使用普通控制模式
-        $USER_RIGHT_FORCE_STOCKMODE2 = 0b00000010; // 强制使用库存模式2
-
         if ($request->isMethod('post')) {
             $force_mode = (int)$request->force_mode;
+            $black_mode = (int)$request->input('black_mode', 0);
 
             // 获取当前UserRight值
             $gameScoreInfo = DB::table('QPTreasureDB.dbo.GameScoreInfo')
@@ -1993,15 +1993,15 @@ class GlobalController extends Controller
             $currentUserRight = (int)($gameScoreInfo->UserRight ?? 0);
 
             // 清除现有的强制模式标志
-            $newUserRight = $currentUserRight & ~($USER_RIGHT_FORCE_STOCKMODE1 | $USER_RIGHT_FORCE_STOCKMODE2);
+            $newUserRight = $currentUserRight & ~(self::USER_RIGHT_FORCE_STOCKMODE1 | self::USER_RIGHT_FORCE_STOCKMODE2 | self::USER_RIGHT_BLACKMAN);
 
             // 根据选择设置新的强制模式
             switch ($force_mode) {
                 case 1: // 强制使用普通控制模式
-                    $newUserRight |= $USER_RIGHT_FORCE_STOCKMODE1;
+                    $newUserRight |= self::USER_RIGHT_FORCE_STOCKMODE1;
                     break;
                 case 2: // 强制使用库存模式2
-                    $newUserRight |= $USER_RIGHT_FORCE_STOCKMODE2;
+                    $newUserRight |= self::USER_RIGHT_FORCE_STOCKMODE2;
                     break;
                 case 0: // 关闭所有强制模式
                 default:
@@ -2009,6 +2009,10 @@ class GlobalController extends Controller
                     break;
             }
 
+            if ($black_mode === 1) {
+                $newUserRight |= self::USER_RIGHT_BLACKMAN;
+            }
+
             // 更新UserRight
             DB::table('QPTreasureDB.dbo.GameScoreInfo')
                 ->where('UserID', $UserID)
@@ -2024,10 +2028,11 @@ class GlobalController extends Controller
             ->first();
 
         $userRight = (int)($gameScoreInfo->UserRight ?? 0);
-        $isForceStockMode1 = ($userRight & $USER_RIGHT_FORCE_STOCKMODE1) !== 0;
-        $isForceStockMode2 = ($userRight & $USER_RIGHT_FORCE_STOCKMODE2) !== 0;
+        $isForceStockMode1 = ($userRight & self::USER_RIGHT_FORCE_STOCKMODE1) !== 0;
+        $isForceStockMode2 = ($userRight & self::USER_RIGHT_FORCE_STOCKMODE2) !== 0;
+        $isBlackMode = ($userRight & self::USER_RIGHT_BLACKMAN) !== 0;
 
-        return view('admin.global.force_stock_mode', compact('UserID', 'isForceStockMode1', 'isForceStockMode2'));
+        return view('admin.global.force_stock_mode', compact('UserID', 'isForceStockMode1', 'isForceStockMode2', 'isBlackMode'));
     }
 
 

+ 25 - 8
resources/views/admin/global/force_stock_mode.blade.php

@@ -12,13 +12,22 @@
                                 <div class="form-group">
                                     <label>当前模式状态:</label>
                                     <div class="alert alert-info">
-                                        @if($isForceStockMode1)
-                                            <span class="badge badge-success">已开启</span> 强制使用普通控制模式
-                                        @elseif($isForceStockMode2)
-                                            <span class="badge badge-success">已开启</span> 强制使用库存模式2
-                                        @else
-                                            <span class="badge badge-secondary">未设置</span> 未强制任何模式
-                                        @endif
+                                        <div>
+                                            @if($isForceStockMode1)
+                                                <span class="badge badge-success">已开启</span> 强制使用普通控制模式
+                                            @elseif($isForceStockMode2)
+                                                <span class="badge badge-success">已开启</span> 强制使用库存模式2
+                                            @else
+                                                <span class="badge badge-secondary">未设置</span> 未强制任何模式
+                                            @endif
+                                        </div>
+                                        <div style="margin-top: 8px;">
+                                            @if($isBlackMode)
+                                                <span class="badge badge-danger">已开启</span> 黑名单模式
+                                            @else
+                                                <span class="badge badge-secondary">未开启</span> 黑名单模式
+                                            @endif
+                                        </div>
                                     </div>
                                 </div>
 
@@ -38,9 +47,17 @@
                                     </label>
                                 </div>
 
+                                <div class="form-group">
+                                    <label><h5>黑名单模式:</h5></label><br>
+                                    <label style="margin-right: 20px;">
+                                        <input type="checkbox" name="black_mode" value="1" {{ $isBlackMode ? 'checked' : '' }}>
+                                        开启黑名单模式
+                                    </label>
+                                </div>
+
                                 <div class="alert alert-warning">
                                     <i class="mdi mdi-alert"></i>
-                                    <strong>注意:</strong>这两种模式是互斥的,不可以同时都打开,但是可以同时都关闭。
+                                    <strong>注意:</strong>强制普通控制模式和强制库存模式2互斥,不可以同时都打开,但是可以同时都关闭;黑名单模式可单独开启或关闭。
                                 </div>
 
                                 <button type="button" onclick="commit( {{ $UserID }} )" class="btn btn-sm btn-gradient-primary btn-icon-text">