1
0
admin 7 жил өмнө
parent
commit
a91b580d8e

+ 24 - 0
app/Components/Helpers.php

@@ -8,6 +8,7 @@ use App\Http\Models\EmailLog;
 use App\Http\Models\Level;
 use App\Http\Models\SsConfig;
 use App\Http\Models\User;
+use App\Http\Models\UserTrafficModifyLog;
 
 class Helpers
 {
@@ -177,4 +178,27 @@ class Helpers
 
         return $log->save();
     }
+
+    /**
+     * 记录流量变动日志
+     *
+     * @param int    $userId 用户ID
+     * @param string $oid    订单ID
+     * @param int    $before 记录前的值
+     * @param int    $after  记录后的值
+     * @param string $desc   描述
+     *
+     * @return int
+     */
+    public static function addUserTrafficModifyLog($userId, $oid, $before, $after, $desc = '')
+    {
+        $log = new UserTrafficModifyLog();
+        $log->user_id = $userId;
+        $log->order_id = $oid;
+        $log->before = $before;
+        $log->after = $after;
+        $log->desc = $desc;
+
+        return $log->save();
+    }
 }

+ 32 - 27
app/Http/Controllers/AdminController.php

@@ -255,15 +255,10 @@ class AdminController extends Controller
 
             if ($user->id) {
                 // 生成用户标签
-                $labels = $request->get('labels');
-                if (!empty($labels)) {
-                    foreach ($labels as $label) {
-                        $userLabel = new UserLabel();
-                        $userLabel->user_id = $user->id;
-                        $userLabel->label_id = $label;
-                        $userLabel->save();
-                    }
-                }
+                $this->makeUserLabels($user->id, $request->get('labels', []));
+
+                // 写入用户流量变动记录
+                Helpers::addUserTrafficModifyLog($user->id, 0, 0, toGB($request->get('transfer_enable', 0)), '后台手动添加用户');
 
                 return Response::json(['status' => 'success', 'data' => '', 'message' => '添加成功']);
             } else {
@@ -317,13 +312,11 @@ class AdminController extends Controller
                 // 初始化默认标签
                 if (count(self::$systemConfig['initial_labels_for_user']) > 0) {
                     $labels = explode(',', self::$systemConfig['initial_labels_for_user']);
-                    foreach ($labels as $label) {
-                        $userLabel = new UserLabel();
-                        $userLabel->user_id = $user->id;
-                        $userLabel->label_id = $label;
-                        $userLabel->save();
-                    }
+                    $this->makeUserLabels($user->id, $labels);
                 }
+
+                // 写入用户流量变动记录
+                Helpers::addUserTrafficModifyLog($user->id, 0, 0, toGB($request->get('transfer_enable', 0)), '后台批量生成用户');
             }
 
             DB::commit();
@@ -339,7 +332,7 @@ class AdminController extends Controller
     // 编辑账号
     public function editUser(Request $request)
     {
-        $id = $request->get('id');
+        $id = intval($request->get('id'));
 
         if ($request->method() == 'POST') {
             $username = trim($request->get('username'));
@@ -362,7 +355,7 @@ class AdminController extends Controller
             $usage = $request->get('usage');
             $pay_way = $request->get('pay_way');
             $status = $request->get('status');
-            $labels = $request->get('labels');
+            $labels = $request->get('labels', []);
             $enable_time = $request->get('enable_time');
             $expire_time = $request->get('expire_time');
             $remark = str_replace("eval", "", str_replace("atob", "", $request->get('remark')));
@@ -390,6 +383,9 @@ class AdminController extends Controller
                 return Response::json(['status' => 'fail', 'data' => '', 'message' => '请至少选择一种用途']);
             }
 
+            // 用户编辑前的信息
+            $user = User::query()->where('id', $id)->first();
+
             DB::beginTransaction();
             try {
                 $data = [
@@ -432,17 +428,10 @@ class AdminController extends Controller
                 User::query()->where('id', $id)->update($data);
 
                 // 重新生成用户标签
-                if (!empty($labels)) {
-                    // 先删除该用户所有的标签
-                    UserLabel::query()->where('user_id', $id)->delete();
+                $this->makeUserLabels($id, $labels);
 
-                    foreach ($labels as $label) {
-                        $userLabel = new UserLabel();
-                        $userLabel->user_id = $id;
-                        $userLabel->label_id = $label;
-                        $userLabel->save();
-                    }
-                }
+                // 写入用户流量变动记录
+                Helpers::addUserTrafficModifyLog($id, 0, $user->transfer_enable, toGB($transfer_enable), '后台手动编辑用户');
 
                 DB::commit();
 
@@ -2358,4 +2347,20 @@ EOF;
 
         return Response::view('admin.emailLog', $view);
     }
+
+    // 生成用户标签
+    private function makeUserLabels($userId, $labels = [])
+    {
+        if (!empty($labels)) {
+            // 先删除该用户所有的标签
+            UserLabel::query()->where('user_id', $userId)->delete();
+
+            foreach ($labels as $label) {
+                $userLabel = new UserLabel();
+                $userLabel->user_id = $userId;
+                $userLabel->label_id = $label;
+                $userLabel->save();
+            }
+        }
+    }
 }

+ 0 - 23
app/Http/Controllers/Controller.php

@@ -116,29 +116,6 @@ class Controller extends BaseController
         return $log->save();
     }
 
-    /**
-     * 记录流量变动日志
-     *
-     * @param int    $userId 用户ID
-     * @param string $oid    订单ID
-     * @param int    $before 记录前的值
-     * @param int    $after  记录后的值
-     * @param string $desc   描述
-     *
-     * @return int
-     */
-    public function addUserTrafficModifyLog($userId, $oid, $before, $after, $desc = '')
-    {
-        $log = new UserTrafficModifyLog();
-        $log->user_id = $userId;
-        $log->order_id = $oid;
-        $log->before = $before;
-        $log->after = $after;
-        $log->desc = $desc;
-
-        return $log->save();
-    }
-
     /**
      * 添加返利日志
      *