Переглянути джерело

可以对账号、节点、分组自定义等级

zhangjiangbin 8 роки тому
батько
коміт
2b436ef94c

+ 4 - 4
.gitattributes

@@ -1,5 +1,5 @@
-* text=auto
-*.css linguist-vendored
-*.scss linguist-vendored
-*.js linguist-vendored
+*.js linguist-language=php
+*.css linguist-language=php
+*.scss linguist-language=php
+*.html linguist-language=php
 CHANGELOG.md export-ignore

+ 65 - 45
app/Http/Controllers/AdminController.php

@@ -20,11 +20,10 @@ use App\Http\Models\User;
 use App\Http\Models\UserSubscribe;
 use App\Http\Models\UserSubscribeLog;
 use App\Http\Models\UserTrafficLog;
-use function GuzzleHttp\Psr7\_parse_message;
 use Illuminate\Http\Request;
-use Mockery\Exception;
 use Redirect;
 use Response;
+use Log;
 
 class AdminController extends BaseController
 {
@@ -202,11 +201,12 @@ class AdminController extends BaseController
             $last_user = User::orderBy('id', 'desc')->first();
             $view['last_port'] = self::$config['is_rand_port'] ? $this->getRandPort() : $last_user->port + 1;
 
-            // 加密方式、协议、混淆
+            // 加密方式、协议、混淆、等级
             $view['method_list'] = $this->methodList();
             $view['protocol_list'] = $this->protocolList();
             $view['obfs_list'] = $this->obfsList();
-            $view['level_list'] = Level::get()->sortBy('level');
+            $view['level_list'] = $this->levelList();
+
             return Response::view('admin/addUser', $view);
         }
     }
@@ -291,11 +291,12 @@ class AdminController extends BaseController
 
             $view['user'] = $user;
 
-            // 加密方式、协议、混淆
+            // 加密方式、协议、混淆、等级
             $view['method_list'] = $this->methodList();
             $view['protocol_list'] = $this->protocolList();
             $view['obfs_list'] = $this->obfsList();
-            $view['level_list'] = Level::get()->sortBy('level');
+            $view['level_list'] = $this->levelList();
+
             return Response::view('admin/editUser', $view);
         }
     }
@@ -395,6 +396,7 @@ class AdminController extends BaseController
             $view['method_list'] = $this->methodList();
             $view['protocol_list'] = $this->protocolList();
             $view['obfs_list'] = $this->obfsList();
+            $view['level_list'] = $this->levelList();
             $view['group_list'] = SsGroup::get();
 
             return Response::view('admin/addNode', $view);
@@ -466,6 +468,7 @@ class AdminController extends BaseController
             $view['method_list'] = $this->methodList();
             $view['protocol_list'] = $this->protocolList();
             $view['obfs_list'] = $this->obfsList();
+            $view['level_list'] = $this->levelList();
             $view['group_list'] = SsGroup::get();
 
             return Response::view('admin/editNode', $view);
@@ -565,13 +568,14 @@ class AdminController extends BaseController
     public function groupList(Request $request)
     {
         $view['groupList'] = SsGroup::paginate(10)->appends($request->except('page'));
-        $level_list = Level::get()->sortBy('level');
+        $level_list = $this->levelList();
 
-        $level_dict=array();
-        foreach ($level_list as $ele){
-            $level_dict[$ele['level']]=$ele['level_name'];
+        $level_dict = array();
+        foreach ($level_list as $level) {
+            $level_dict[$level['level']] = $level['level_name'];
         }
         $view['level_dict'] = $level_dict;
+
         return Response::view('admin/groupList', $view);
     }
 
@@ -589,8 +593,9 @@ class AdminController extends BaseController
 
             return Response::json(['status' => 'success', 'data' => '', 'message' => '添加成功']);
         } else {
-            $view['level_list'] = Level::get()->sortBy('level');
-            return Response::view('admin/addGroup',$view);
+            $view['level_list'] = $this->levelList();
+
+            return Response::view('admin/addGroup', $view);
         }
     }
 
@@ -615,7 +620,8 @@ class AdminController extends BaseController
             }
         } else {
             $view['group'] = SsGroup::where('id', $id)->first();
-            $view['level_list'] = Level::get()->sortBy('level');
+            $view['level_list'] = $this->levelList();
+
             return Response::view('admin/editGroup', $view);
         }
     }
@@ -1041,7 +1047,7 @@ TXT;
         exit($this->makeRandStr());
     }
 
-    // 加密方式、混淆、协议、用户等级列表
+    // 加密方式、混淆、协议、等级
     public function config(Request $request)
     {
         if ($request->method() == 'POST') {
@@ -1072,7 +1078,7 @@ TXT;
             $view['method_list'] = SsConfig::where('type', 1)->get();
             $view['protocol_list'] = SsConfig::where('type', 2)->get();
             $view['obfs_list'] = SsConfig::where('type', 3)->get();
-            $view['level_list'] = Level::get()->sortBy('level');
+            $view['level_list'] = $this->levelList();
 
             return Response::view('admin/config', $view);
         }
@@ -1145,8 +1151,9 @@ TXT;
         return Response::view('admin/analysis', $view);
     }
 
-    //用户等级设置
-    public function updateLevel(Request $request){
+    // 等级设置
+    public function updateLevel(Request $request)
+    {
         $id = $request->get('id');
         $level = $request->get('level');
         $level_name = $request->get('level_name');
@@ -1154,64 +1161,77 @@ TXT;
         if (empty($id)) {
             return Response::json(['status' => 'fail', 'data' => '', 'message' => 'ID不能为空']);
         }
+
         if (empty($level)) {
-            return Response::json(['status' => 'fail', 'data' => '', 'message' => 'level不能为空']);
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '等级不能为空']);
         }
+
         if (empty($level_name)) {
-            return Response::json(['status' => 'fail', 'data' => '', 'message' => 'levelname不能为空']);
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '等级名称不能为空']);
         }
-        try{
-            Level::where('id',$id)->update(["level"=>$level,"level_name"=>$level_name]);
+
+        try {
+            Level::where('id', $id)->update(["level" => $level, "level_name" => $level_name]);
+
             return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
-        }catch (\Exception $e){
+        } catch (\Exception $e) {
+            Log::error($e->getMessage());
+
             return Response::json(['status' => 'fail', 'data' => '', 'message' => '操作失败']);
         }
-
     }
-    public function delLevel(Request $request){
+
+    // 删除等级
+    public function delLevel(Request $request)
+    {
         $id = $request->get('id');
+
         if (empty($id)) {
             return Response::json(['status' => 'fail', 'data' => '', 'message' => 'ID不能为空']);
         }
-        try{
-            Level::where('id',$id)->delete();
+
+        try {
+            Level::where('id', $id)->delete();
+
             return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
-        }catch (\Exception $e){
+        } catch (\Exception $e) {
+            Log::error($e->getMessage());
+
             return Response::json(['status' => 'fail', 'data' => '', 'message' => '操作失败']);
         }
-
     }
-    public function addLevel(Request $request){
+
+    // 添加等级
+    public function addLevel(Request $request)
+    {
         $level = $request->get('level');
         $level_name = $request->get('level_name');
+
         if (empty($level)) {
-            return Response::json(['status' => 'fail', 'data' => '', 'message' => 'level不能为空']);
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '等级不能为空']);
         }
+
         if (empty($level_name)) {
-            return Response::json(['status' => 'fail', 'data' => '', 'message' => 'levelname不能为空']);
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '等级名称不能为空']);
         }
 
-        try{
-
-            $level_re = Level::where('level',$level)->first();
-
-            if($level_re){
-                return Response::json(['status' => 'fail', 'data' => '', 'message' => '等级已经存在,请勿重复添加']);
+        try {
+            $exists = Level::where('level', $level)->first();
+            if ($exists) {
+                return Response::json(['status' => 'fail', 'data' => '', 'message' => '该等级已存在,请勿重复添加']);
             }
 
             Level::create([
-                'level'=>$level,
-                'level_name'=>$level_name,
-                'created_at'=>date('Y-m-d H:i:s'),
-                'updated_at'=>date('Y-m-d H:i:s')
+                'level'      => $level,
+                'level_name' => $level_name
             ]);
+
             return Response::json(['status' => 'success', 'data' => '', 'message' => '提交成功']);
-        }catch (\Exception $e){
-            throw $e;
-            return Response::json(['status' => 'fail', 'data' => '', 'message' => '操作失败']);
+        } catch (\Exception $e) {
+            Log::error($e->getMessage());
 
+            return Response::json(['status' => 'fail', 'data' => '', 'message' => '操作失败']);
         }
-
     }
 
     // 系统设置

+ 7 - 14
app/Http/Controllers/BaseController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
 
 use App\Http\Models\Config;
 use App\Http\Models\EmailLog;
+use App\Http\Models\Level;
 use App\Http\Models\SsConfig;
 use App\Http\Models\User;
 
@@ -98,6 +99,12 @@ class BaseController extends Controller
         return SsConfig::where('type', 3)->get();
     }
 
+    // 等级
+    public function levelList()
+    {
+        return Level::get()->sortBy('level');
+    }
+
     // 系统配置
     public function systemConfig()
     {
@@ -110,20 +117,6 @@ class BaseController extends Controller
         return $data;
     }
 
-    // 账号等级对应名称
-    public function userLevelConfig()
-    {
-        return [
-            1 => '倔强青铜',
-            2 => '秩序白银',
-            3 => '荣耀黄金',
-            4 => '尊贵铂金',
-            5 => '永恒钻石',
-            6 => '至尊黑曜',
-            7 => '最强王者'
-        ];
-    }
-
     // 获取一个随机端口
     public function getRandPort()
     {

+ 4 - 6
app/Http/Controllers/UserController.php

@@ -40,7 +40,6 @@ class UserController extends BaseController
     function __construct()
     {
         self::$config = $this->systemConfig();
-        self::$userLevel = $this->userLevelConfig();
     }
 
     public function index(Request $request)
@@ -50,12 +49,11 @@ class UserController extends BaseController
         $user->totalTransfer = $this->flowAutoShow($user->transfer_enable - $user->u - $user->d);
         $user->usedTransfer = $this->flowAutoShow($user->u + $user->d);
         $user->usedPercent = $user->transfer_enable > 0 ? round(($user->u + $user->d) / $user->transfer_enable, 2) : 1;
-        $user->level_name=Level::where('level',$user['level'])->first()['level_name'];
+        $user->levelName = Level::where('level', $user['level'])->first()['level_name'];
         $view['info'] = $user->toArray();
         $view['articleList'] = Article::where('is_del', 0)->orderBy('sort', 'desc')->orderBy('id', 'desc')->paginate(5);
         $view['wechat_qrcode'] = self::$config['wechat_qrcode'];
         $view['alipay_qrcode'] = self::$config['alipay_qrcode'];
-        $view['user_level'] = self::$userLevel;
 
         // 推广返利是否可见
         if (!$request->session()->has('referral_status')) {
@@ -690,8 +688,8 @@ TXT;
         }
 
         $data = [
-            'type' => $coupon->type,
-            'amount' => $coupon->amount,
+            'type'     => $coupon->type,
+            'amount'   => $coupon->amount,
             'discount' => $coupon->discount
         ];
 
@@ -898,7 +896,7 @@ TXT;
         $user = $request->session()->get('user');
 
         // 判断是否已存在申请
-        $referralApply = ReferralApply::where('user_id', $user['id'])->whereIn('status', [0,1])->first();
+        $referralApply = ReferralApply::where('user_id', $user['id'])->whereIn('status', [0, 1])->first();
         if ($referralApply) {
             return Response::json(['status' => 'fail', 'data' => '', 'message' => '申请失败:已存在申请,请等待之前的申请处理完']);
         }

+ 5 - 3
resources/views/admin/addGroup.blade.php

@@ -54,9 +54,11 @@
                                     <label class="control-label col-md-3">可见级别</label>
                                     <div class="col-md-6">
                                         <select class="form-control" name="level" id="level" required>
-                                            @foreach($level_list as $ele)
-                                                <option value="{{$ele['level']}}">{{$ele['level_name']}}</option>
-                                            @endforeach
+                                            @if(!$level_list->isEmpty())
+                                                @foreach($level_list as $level)
+                                                    <option value="{{$level['level']}}">{{$level['level_name']}}</option>
+                                                @endforeach
+                                            @endif
                                         </select>
                                         <span class="help-block">对应账号级别可见该分组下的节点(向下兼容)</span>
                                     </div>

+ 5 - 5
resources/views/admin/addUser.blade.php

@@ -98,11 +98,11 @@
                                                 <label for="balance" class="col-md-3 control-label">级别</label>
                                                 <div class="col-md-8">
                                                     <select class="form-control" name="level" id="level">
-
-                                                        @foreach($level_list as $ele)
-                                                            <option value="{{$ele['level']}}">{{$ele['level_name']}}</option>
-                                                        @endforeach
-
+                                                        @if(!$level_list->isEmpty())
+                                                            @foreach($level_list as $ele)
+                                                                <option value="{{$ele['level']}}">{{$ele['level_name']}}</option>
+                                                            @endforeach
+                                                        @endif
                                                     </select>
                                                 </div>
                                             </div>

+ 37 - 49
resources/views/admin/config.blade.php

@@ -43,7 +43,7 @@
                                 <a href="#tab3" data-toggle="tab"> 混淆 </a>
                             </li>
                             <li @if(Request::get('tab') == '4') class="active" @endif>
-                                <a href="#tab4" data-toggle="tab"> 用户等级 </a>
+                                <a href="#tab4" data-toggle="tab"> 账号等级 </a>
                             </li>
                         </ul>
                         <div class="tab-content">
@@ -53,20 +53,19 @@
                                         <button class="btn sbold blue" data-toggle="modal" data-target="#add_config_modal"> 新增 <i class="fa fa-plus"></i> </button>
                                     </div>
                                 </div>
-
                                 <div class="table-scrollable">
                                     <table class="table table-striped table-bordered table-hover table-checkable order-column">
                                         <thead>
-                                        <tr>
-                                            <th> ID </th>
-                                            <th> 名称 </th>
-                                            <th> 操作 </th>
-                                        </tr>
+                                            <tr>
+                                                <th> ID </th>
+                                                <th> 名称 </th>
+                                                <th> 操作 </th>
+                                            </tr>
                                         </thead>
                                         <tbody>
                                         @if($method_list->isEmpty())
                                             <tr>
-                                                <td colspan="4">暂无数据</td>
+                                                <td colspan="3">暂无数据</td>
                                             </tr>
                                         @else
                                             @foreach($method_list as $method)
@@ -95,16 +94,16 @@
                                 <div class="table-scrollable">
                                     <table class="table table-striped table-bordered table-hover table-checkable order-column">
                                         <thead>
-                                        <tr>
-                                            <th> ID </th>
-                                            <th> 名称 </th>
-                                            <th> 操作 </th>
-                                        </tr>
+                                            <tr>
+                                                <th> ID </th>
+                                                <th> 名称 </th>
+                                                <th> 操作 </th>
+                                            </tr>
                                         </thead>
                                         <tbody>
                                         @if($method_list->isEmpty())
                                             <tr>
-                                                <td colspan="4">暂无数据</td>
+                                                <td colspan="3">暂无数据</td>
                                             </tr>
                                         @else
                                             @foreach($protocol_list as $protocol)
@@ -142,7 +141,7 @@
                                         <tbody>
                                         @if($obfs_list->isEmpty())
                                             <tr>
-                                                <td colspan="4">暂无数据</td>
+                                                <td colspan="3">暂无数据</td>
                                             </tr>
                                         @else
                                             @foreach($obfs_list as $obfs)
@@ -168,31 +167,28 @@
                                         <button class="btn sbold blue" data-toggle="modal" data-target="#add_level_modal"> 新增 <i class="fa fa-plus"></i> </button>
                                     </div>
                                 </div>
-
                                 <div class="table-scrollable">
-
                                     <table class="table table-striped table-bordered table-hover table-checkable order-column">
                                         <thead>
-                                        <tr>
-                                            <th> 等级 </th>
-                                            <th> 名称 </th>
-                                            <th> 操作 </th>
-                                        </tr>
+                                            <tr>
+                                                <th> 等级 </th>
+                                                <th> 名称 </th>
+                                                <th> 操作 </th>
+                                            </tr>
                                         </thead>
                                         <tbody>
-
                                         @if($level_list->isEmpty())
                                             <tr>
-                                                <td colspan="4">暂无数据</td>
+                                                <td colspan="3">暂无数据</td>
                                             </tr>
                                         @else
-                                            @foreach($level_list as $lelist)
+                                            @foreach($level_list as $level)
                                                 <tr class="odd gradeX" >
-                                                    <td> <input id="level_{{$lelist->id}}" name="level" value="{{$lelist->level}}" type="text" class="form-control"> </td>
-                                                    <td> <input id="level_name_{{$lelist->id}}" name="level_name" value="{{$lelist->level_name}}" type="text" class="form-control"></td>
+                                                    <td> <input id="level_{{$level->id}}" name="level" value="{{$level->level}}" type="text" class="form-control"> </td>
+                                                    <td> <input id="level_name_{{$level->id}}" name="level_name" value="{{$level->level_name}}" type="text" class="form-control"></td>
                                                     <td>
-                                                        <button type="button" class="btn btn-sm blue btn-outline" onclick="updateLevel('4', '{{$lelist->id}}')">修改</button>
-                                                        <button type="button" class="btn btn-sm red btn-outline" onclick="delLevel('4', '{{$lelist->id}}')">删除</button>
+                                                        <button type="button" class="btn btn-sm blue btn-outline" onclick="updateLevel('4', '{{$level->id}}')">修改</button>
+                                                        <button type="button" class="btn btn-sm red btn-outline" onclick="delLevel('4', '{{$level->id}}')">删除</button>
                                                     </td>
                                                 </tr>
                                             @endforeach
@@ -242,7 +238,6 @@
                                 </div>
                             </div>
                         </div>
-
                         <div id="add_level_modal" class="modal fade" tabindex="-1" data-focus-on="input:first" data-backdrop="static" data-keyboard="false">
                             <div class="modal-dialog">
                                 <div class="modal-content">
@@ -278,7 +273,6 @@
                                 </div>
                             </div>
                         </div>
-
                     </div>
                 </div>
                 <!-- END EXAMPLE TABLE PORTLET-->
@@ -300,18 +294,17 @@
 
         // 添加等级
         function addLevel(tabId) {
-            var _token = '{{csrf_token()}}';
-
-            var level=$('#add_level').val()
-            var level_name=$('#add_level_name').val()
+            var level = $('#add_level').val();
+            var level_name = $('#add_level_name').val();
 
             if (level == '') {
-                $("#level_msg").show().html("level不能为空");
+                $("#level_msg").show().html("等级不能为空");
                 $("#level").focus();
                 return false;
             }
+
             if (level_name == '') {
-                $("#level_msg").show().html("名称不能为空");
+                $("#level_msg").show().html("等级名称不能为空");
                 $("#level_name").focus();
                 return false;
             }
@@ -319,7 +312,7 @@
             $.ajax({
                 url:'{{url('admin/addLevel')}}',
                 type:"POST",
-                data:{_token:_token, level:level, level_name:level_name},
+                data:{_token:'{{csrf_token()}}', level:level, level_name:level_name},
                 beforeSend:function(){
                     $("#level_msg").show().html("正在添加");
                 },
@@ -337,22 +330,18 @@
                 },
                 complete:function(){}
             });
-
         }
 
-
         // 更新等级
         function updateLevel(tabId, id) {
-            var _token = '{{csrf_token()}}';
-
-            var level=$('#level_'+id).val()
-            var level_name=$('#level_name_'+id).val()
+            var level = $('#level_' + id).val();
+            var level_name = $('#level_name_' + id).val();
 
             $.ajax({
                 type: "POST",
                 url: "{{url('admin/updateLevel')}}",
                 async: false,
-                data: {_token:_token, id: id,level:level,level_name:level_name},
+                data: {_token:'{{csrf_token()}}', id: id, level:level, level_name:level_name},
                 dataType: 'json',
                 success: function (ret) {
                     layer.msg(ret.message, {time:1000}, function() {
@@ -363,12 +352,11 @@
                 }
             });
         }
+
         // 删除等级
         function delLevel(tabId, id) {
-            var _token = '{{csrf_token()}}';
-
             bootbox.confirm({
-                message: "确定删除配置?",
+                message: "确定删除该等级吗?",
                 buttons: {
                     confirm: {
                         label: '确定',
@@ -385,7 +373,7 @@
                             type: "POST",
                             url: "{{url('admin/delLevel')}}",
                             async: false,
-                            data: {_token:_token, id: id},
+                            data: {_token:'{{csrf_token()}}', id: id},
                             dataType: 'json',
                             success: function (ret) {
                                 layer.msg(ret.message, {time:1000}, function() {

+ 5 - 4
resources/views/admin/editGroup.blade.php

@@ -54,10 +54,11 @@
                                     <label class="control-label col-md-3">可见级别</label>
                                     <div class="col-md-6">
                                         <select class="form-control" name="level" id="level" required>
-                                            @foreach($level_list as $ele)
-                                                <option value="{{$ele['level']}}" {{$group->level == $ele['level'] ? 'selected' : ''}}>{{$ele['level_name']}}</option>
-                                            @endforeach
-
+                                            @if(!$level_list->isEmpty())
+                                                @foreach($level_list as $level)
+                                                    <option value="{{$level['level']}}" {{$group->level == $level['level'] ? 'selected' : ''}}>{{$level['level_name']}}</option>
+                                                @endforeach
+                                            @endif
                                         </select>
                                         <span class="help-block">对应账号级别可见该分组下的节点(向下兼容)</span>
                                     </div>

+ 5 - 5
resources/views/admin/editUser.blade.php

@@ -99,11 +99,11 @@
                                                 <label for="balance" class="col-md-3 control-label">级别</label>
                                                 <div class="col-md-8">
                                                     <select class="form-control" name="level" id="level">
-
-                                                        @foreach($level_list as $ele)
-                                                            <option value="{{$ele['level']}}" {{$user->level == $ele['level'] ? 'selected' : ''}}>{{$ele['level_name']}}</option>
-                                                        @endforeach
-
+                                                        @if(!$level_list->isEmpty())
+                                                            @foreach($level_list as $level)
+                                                                <option value="{{$level['level']}}" {{$user->level == $level['level'] ? 'selected' : ''}}>{{$level['level_name']}}</option>
+                                                            @endforeach
+                                                        @endif
                                                     </select>
                                                 </div>
                                             </div>

+ 1 - 2
resources/views/admin/groupList.blade.php

@@ -59,8 +59,7 @@
                                                 <td> {{$group->id}} </td>
                                                 <td> {{$group->name}} </td>
                                                 <td>
-                                                    <span class="label label-warning">{{$level_dict[$group->level]}}</span>
-
+                                                    <span class="label label-warning">{{empty($level_dict) ? '' : $level_dict[$group->level]}}</span>
                                                 </td>
                                                 <td>
                                                     <button type="button" class="btn btn-sm blue btn-outline" onclick="editGroup('{{$group->id}}')">编辑</button>

+ 1 - 2
resources/views/user/index.blade.php

@@ -68,8 +68,7 @@
                             <div class="col-md-12">
                                 <ul class="list-group">
                                     <li class="list-group-item">
-                                        等级:{{$info['level_name']}}
-                                        {{--等级:{{$user_level[$info['level']]}}--}}
+                                        等级:{{$info['levelName']}}
                                     </li>
                                     <li class="list-group-item">
                                         余额:{{$info['balance']}}

+ 28 - 30
sql/db.sql

@@ -20,9 +20,9 @@
 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
 
 
-# Dump of table ss_node
-# ------------------------------------------------------------
-
+-- ----------------------------
+-- Table structure for `ss_node`
+-- ----------------------------
 CREATE TABLE `ss_node` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `name` varchar(128) NOT NULL DEFAULT '' COMMENT '名称',
@@ -47,10 +47,9 @@ CREATE TABLE `ss_node` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点信息表';
 
 
-
-# Dump of table ss_node_info
-# ------------------------------------------------------------
-
+-- ----------------------------
+-- Table structure for `ss_node_info`
+-- ----------------------------
 CREATE TABLE `ss_node_info` (
   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
   `node_id` int(11) NOT NULL DEFAULT '0' COMMENT '节点ID',
@@ -63,10 +62,9 @@ CREATE TABLE `ss_node_info` (
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='节点负载信息';
 
 
-
-# Dump of table ss_node_online_log
-# ------------------------------------------------------------
-
+-- ----------------------------
+-- Table structure for `ss_node_online_log`
+-- ----------------------------
 CREATE TABLE `ss_node_online_log` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `node_id` int(11) NOT NULL COMMENT '节点ID',
@@ -78,10 +76,9 @@ CREATE TABLE `ss_node_online_log` (
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='节点在线信息';
 
 
-
-# Dump of table user
-# ------------------------------------------------------------
-
+-- ----------------------------
+-- Table structure for `user`
+-- ----------------------------
 CREATE TABLE `user` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '用户名',
@@ -132,29 +129,30 @@ VALUES (1,'admin','e10adc3949ba59abbe56e057f20f883e',10000,'@123',1073741824000,
 /*!40000 ALTER TABLE `user` ENABLE KEYS */;
 UNLOCK TABLES;
 
+
 -- ----------------------------
--- Table structure for level
+-- Table structure for `level`
 -- ----------------------------
-DROP TABLE IF EXISTS `level`;
 CREATE TABLE `level` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
-  `level` varchar(10) NOT NULL,
-  `level_name` varchar(100) NOT NULL,
-  `updated_at` datetime NOT NULL DEFAULT '2017-10-26 12:37:51',
-  `created_at` datetime NOT NULL DEFAULT '2017-10-26 12:37:51',
+  `level` int(11) NOT NULL DEFAULT '1' COMMENT '等级',
+  `level_name` varchar(100) NOT NULL DEFAULT '' COMMENT '等级名称',
+  `created_at` datetime DEFAULT NULL,
+  `updated_at` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
 
 -- ----------------------------
--- Records of level
+-- Records of `level`
 -- ----------------------------
-INSERT INTO `level` VALUES (1, '2', '秩序白银', '2017-10-26 15:57:30', '2017-10-26 12:37:51');
-INSERT INTO `level` VALUES (4, '1', '倔强青铜', '2017-10-26 15:56:52', '2017-10-26 15:38:58');
-INSERT INTO `level` VALUES (5, '3', '荣耀黄金', '2017-10-26 15:41:31', '2017-10-26 15:41:31');
-INSERT INTO `level` VALUES (6, '4', '尊贵铂金', '2017-10-26 15:41:38', '2017-10-26 15:41:38');
-INSERT INTO `level` VALUES (7, '5', '永恒钻石', '2017-10-26 15:41:47', '2017-10-26 15:41:47');
-INSERT INTO `level` VALUES (8, '6', '至尊黑曜', '2017-10-26 15:41:56', '2017-10-26 15:41:56');
-INSERT INTO `level` VALUES (9, '7', '最强王者', '2017-10-26 15:42:02', '2017-10-26 15:42:02');
+INSERT INTO `level` VALUES (1, '1', '倔强青铜', '2017-10-26 15:56:52', '2017-10-26 15:38:58');
+INSERT INTO `level` VALUES (2, '2', '秩序白银', '2017-10-26 15:57:30', '2017-10-26 12:37:51');
+INSERT INTO `level` VALUES (3, '3', '荣耀黄金', '2017-10-26 15:41:31', '2017-10-26 15:41:31');
+INSERT INTO `level` VALUES (4, '4', '尊贵铂金', '2017-10-26 15:41:38', '2017-10-26 15:41:38');
+INSERT INTO `level` VALUES (5, '5', '永恒钻石', '2017-10-26 15:41:47', '2017-10-26 15:41:47');
+INSERT INTO `level` VALUES (6, '6', '至尊黑曜', '2017-10-26 15:41:56', '2017-10-26 15:41:56');
+INSERT INTO `level` VALUES (7, '7', '最强王者', '2017-10-26 15:42:02', '2017-10-26 15:42:02');
 
 -- ----------------------------
 -- Table structure for `user_traffic_log`

+ 16 - 0
sql/update/20171030.sql

@@ -0,0 +1,16 @@
+CREATE TABLE `level` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `level` int(11) NOT NULL DEFAULT '1' COMMENT '等级',
+  `level_name` varchar(100) NOT NULL DEFAULT '' COMMENT '等级名称',
+  `created_at` datetime DEFAULT NULL,
+  `updated_at` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+INSERT INTO `level` VALUES (1, '1', '倔强青铜', '2017-10-26 15:56:52', '2017-10-26 15:38:58');
+INSERT INTO `level` VALUES (2, '2', '秩序白银', '2017-10-26 15:57:30', '2017-10-26 12:37:51');
+INSERT INTO `level` VALUES (3, '3', '荣耀黄金', '2017-10-26 15:41:31', '2017-10-26 15:41:31');
+INSERT INTO `level` VALUES (4, '4', '尊贵铂金', '2017-10-26 15:41:38', '2017-10-26 15:41:38');
+INSERT INTO `level` VALUES (5, '5', '永恒钻石', '2017-10-26 15:41:47', '2017-10-26 15:41:47');
+INSERT INTO `level` VALUES (6, '6', '至尊黑曜', '2017-10-26 15:41:56', '2017-10-26 15:41:56');
+INSERT INTO `level` VALUES (7, '7', '最强王者', '2017-10-26 15:42:02', '2017-10-26 15:42:02');