Просмотр исходного кода

1.美化界面
2.重新设计订单结构
3.修正自动重置用户流量BUG
4.用户消费日志

zhangjiangbin 8 лет назад
Родитель
Сommit
4b1195015b
59 измененных файлов с 407 добавлено и 627 удалено
  1. 3 1
      .gitignore
  2. 2 2
      app/Console/Commands/AutoCheckNodeStatusJob.php
  3. 17 15
      app/Console/Commands/AutoDecGoodsTrafficJob.php
  4. 15 11
      app/Console/Commands/AutoResetUserTrafficJob.php
  5. 49 7
      app/Http/Controllers/AdminController.php
  6. 23 35
      app/Http/Controllers/UserController.php
  7. 17 2
      app/Http/Models/Order.php
  8. 2 2
      config/app.php
  9. 1 1
      readme.md
  10. 2 1
      resources/lang/en/home.php
  11. 3 2
      resources/lang/zh-CN/home.php
  12. 1 12
      resources/views/admin/addArticle.blade.php
  13. 1 16
      resources/views/admin/addGroup.blade.php
  14. 1 12
      resources/views/admin/addNode.blade.php
  15. 1 12
      resources/views/admin/addUser.blade.php
  16. 1 12
      resources/views/admin/analysis.blade.php
  17. 1 9
      resources/views/admin/applyDetail.blade.php
  18. 1 9
      resources/views/admin/applyList.blade.php
  19. 1 9
      resources/views/admin/articleList.blade.php
  20. 1 13
      resources/views/admin/articleLogList.blade.php
  21. 1 12
      resources/views/admin/config.blade.php
  22. 1 12
      resources/views/admin/convert.blade.php
  23. 1 12
      resources/views/admin/editArticle.blade.php
  24. 1 16
      resources/views/admin/editGroup.blade.php
  25. 1 12
      resources/views/admin/editNode.blade.php
  26. 1 12
      resources/views/admin/editUser.blade.php
  27. 1 12
      resources/views/admin/export.blade.php
  28. 1 12
      resources/views/admin/groupList.blade.php
  29. 1 12
      resources/views/admin/import.blade.php
  30. 1 9
      resources/views/admin/index.blade.php
  31. 1 9
      resources/views/admin/inviteList.blade.php
  32. 35 29
      resources/views/admin/layouts.blade.php
  33. 3 14
      resources/views/admin/nodeList.blade.php
  34. 1 16
      resources/views/admin/nodeMonitor.blade.php
  35. 1 9
      resources/views/admin/profile.blade.php
  36. 1 12
      resources/views/admin/subscribeLog.blade.php
  37. 1 12
      resources/views/admin/system.blade.php
  38. 1 12
      resources/views/admin/trafficLog.blade.php
  39. 5 16
      resources/views/admin/userBalanceLogList.blade.php
  40. 5 13
      resources/views/admin/userList.blade.php
  41. 1 16
      resources/views/admin/userMonitor.blade.php
  42. 117 0
      resources/views/admin/userOrderList.blade.php
  43. 1 12
      resources/views/coupon/addCoupon.blade.php
  44. 1 9
      resources/views/coupon/couponList.blade.php
  45. 1 12
      resources/views/emailLog/logList.blade.php
  46. 1 1
      resources/views/register.blade.php
  47. 4 12
      resources/views/shop/addGoods.blade.php
  48. 1 12
      resources/views/shop/editGoods.blade.php
  49. 1 9
      resources/views/shop/goodsList.blade.php
  50. 1 9
      resources/views/ticket/replyTicket.blade.php
  51. 1 9
      resources/views/ticket/ticketList.blade.php
  52. 7 7
      resources/views/user/addOrder.blade.php
  53. 0 2
      resources/views/user/goodsList.blade.php
  54. 1 1
      resources/views/user/index.blade.php
  55. 9 9
      resources/views/user/layouts.blade.php
  56. 19 36
      resources/views/user/orderList.blade.php
  57. 1 0
      routes/web.php
  58. 29 25
      sql/db.sql
  59. 4 0
      sql/update/20171214.sql

+ 3 - 1
.gitignore

@@ -1,6 +1,8 @@
 /config/database.php
 /public/upload
-/storage
+/storage/framework
+/storage/logs
+/storage/app/public
 /vendor
 /.idea
 /.vagrant

+ 2 - 2
app/Console/Commands/AutoCheckNodeStatusJob.php

@@ -57,7 +57,7 @@ class AutoCheckNodeStatusJob extends Command
                         $this->sendEmailLog(1, $title, $content, 0, $e->getMessage());
                     }
 
-                    // 写入发信缓存,防止短时间内大量发信
+                    // 写入发信缓存
                     Cache::put($this->cacheKey . $node->id, $node->name . '(' . $node->server . ')', 15);
                 }
 
@@ -71,7 +71,7 @@ class AutoCheckNodeStatusJob extends Command
                         $this->sendEmailLog(1, '[ServerChan]' . $title, $content, 0, $result->errmsg);
                     }
 
-                    // 写入发信缓存,防止短时间内大量发信
+                    // 写入发信缓存
                     Cache::put($this->cacheKey . $node->id, $node->name . '(' . $node->server . ')', 15);
                 }
             }

+ 17 - 15
app/Console/Commands/AutoDecGoodsTrafficJob.php

@@ -3,14 +3,14 @@
 namespace App\Console\Commands;
 
 use Illuminate\Console\Command;
-use App\Http\Models\OrderGoods;
+use App\Http\Models\Order;
 use App\Http\Models\User;
 use Log;
 
 class AutoDecGoodsTrafficJob extends Command
 {
     protected $signature = 'command:autoDecGoodsTrafficJob';
-    protected $description = '自动扣除到期流量包的流量';
+    protected $description = '自动扣除用户到期流量包的流量';
 
     public function __construct()
     {
@@ -19,21 +19,23 @@ class AutoDecGoodsTrafficJob extends Command
 
     public function handle()
     {
-        $orderGoods = OrderGoods::query()->with(['user', 'goods'])->where('is_expire', 0)->get();
-        foreach ($orderGoods as $og) {
-            if (empty($og->goods) || $og->goods->is_del || empty($og->user)) {
-                continue;
-            }
-
-            // 到期自动处理
-            if (date("Y-m-d H:i:s", strtotime("-" . $og->goods->days . " days")) >= $og->created_at) {
-                if ($og->user->transfer_enable - $og->traffic * 1048576 <= 0) {
-                    User::query()->where('id', $og->user_id)->update(['transfer_enable' => 0]);
-                } else {
-                    User::query()->where('id', $og->user_id)->decrement('transfer_enable', $og->traffic * 1048576);
+        $order = Order::query()->with(['user', 'goods'])->where('is_expire', 0)->get();
+        if (!$order->isEmpty()) {
+            foreach ($order as $vo) {
+                if (empty($vo->user) || empty($vo->goods)) {
+                    continue;
                 }
 
-                OrderGoods::query()->where('id', $og->id)->update(['is_expire' => 1]);
+                // 到期自动处理
+                if (date("Y-m-d H:i:s") >= $vo->expire_at) {
+                    if ($vo->user->transfer_enable - $vo->goods->traffic * 1048576 <= 0) {
+                        User::query()->where('id', $vo->user_id)->update(['transfer_enable' => 0]);
+                    } else {
+                        User::query()->where('id', $vo->user_id)->decrement('transfer_enable', $vo->goods->traffic * 1048576);
+                    }
+
+                    Order::query()->where('oid', $vo->oid)->update(['is_expire' => 1]);
+                }
             }
         }
 

+ 15 - 11
app/Console/Commands/AutoResetUserTrafficJob.php

@@ -2,7 +2,7 @@
 
 namespace App\Console\Commands;
 
-use App\Http\Models\OrderGoods;
+use App\Http\Models\Order;
 use Illuminate\Console\Command;
 use App\Http\Models\Config;
 use App\Http\Models\User;
@@ -11,8 +11,7 @@ use Log;
 class AutoResetUserTrafficJob extends Command
 {
     protected $signature = 'command:autoResetUserTrafficJob';
-    protected $description = '自动重置用户流量';
-
+    protected $description = '自动重置用户可用流量';
     protected static $config;
 
     public function __construct()
@@ -33,21 +32,26 @@ class AutoResetUserTrafficJob extends Command
         if (self::$config['reset_traffic']) {
             $userList = User::query()->where('status', '>=', 0)->where('enable', 1)->get();
             foreach ($userList as $user) {
-                if (empty($user->traffic_reset_day)) {
+                if (!$user->traffic_reset_day) {
                     continue;
                 }
 
-                // 取出这个用户最后购买的有效套餐
-                $orderGoods = OrderGoods::query()->with(['goods' => function($q) { $q->where('type', 2); }])->where('user_id', $user->id)->where('is_expire', 0)->orderBy('id', 'desc')->first();
-                if (empty($orderGoods) || empty($orderGoods->goods)) {
+                // 取出用户最后购买的有效套餐
+                $order = Order::query()->with(['user', 'goods'])->whereHas('goods', function ($q) { $q->where('type', 2); })->where('user_id', $user->id)->where('is_expire', 0)->orderBy('oid', 'desc')->first();
+                if (!$order) {
                     continue;
                 }
 
-                if ($user->traffic_reset_day == abs(date('d')) && date('m') == date('m', strtotime($orderGoods->created_at))) {
-                    continue;
-                }
+                $today = abs(date('d'));
+                $reset_days = [$today, 29, 30, 31];
+                if (in_array($order->user->traffic_reset_day, $reset_days)) {
+                    // 跳过本月,防止异常重置
+                    if (date('m') == date('m', strtotime($order->expire_at))) {
+                        continue;
+                    }
 
-                User::query()->where('id', $user->id)->update(['u' => 0, 'd' => 0]);
+                    User::query()->where('id', $user->id)->update(['u' => 0, 'd' => 0]);
+                }
             }
         }
 

+ 49 - 7
app/Http/Controllers/AdminController.php

@@ -8,6 +8,7 @@ use App\Http\Models\Config;
 use App\Http\Models\Country;
 use App\Http\Models\Invite;
 use App\Http\Models\Level;
+use App\Http\Models\Order;
 use App\Http\Models\OrderGoods;
 use App\Http\Models\ReferralApply;
 use App\Http\Models\ReferralLog;
@@ -31,6 +32,7 @@ use Illuminate\Http\Request;
 use Redirect;
 use Response;
 use Log;
+use DB;
 
 class AdminController extends Controller
 {
@@ -216,7 +218,7 @@ class AdminController extends Controller
     // 批量生成账号
     public function batchAddUsers(Request $request)
     {
-        \DB::beginTransaction();
+        DB::beginTransaction();
         try {
             for ($i = 0; $i < 5; $i++) {
                 // 生成一个可用端口
@@ -237,10 +239,10 @@ class AdminController extends Controller
                 $user->save();
             }
 
-            \DB::commit();
+            DB::commit();
             return Response::json(['status' => 'success', 'data' => '', 'message' => '批量生成账号成功']);
         } catch (\Exception $e) {
-            \DB::rollBack();
+            DB::rollBack();
 
             return Response::json(['status' => 'fail', 'data' => '', 'message' => '批量生成账号失败:' . $e->getMessage()]);
         }
@@ -968,7 +970,7 @@ class AdminController extends Controller
                 return Redirect::back();
             }
 
-            \DB::beginTransaction();
+            DB::beginTransaction();
             try {
                 foreach ($data as $user) {
                     $obj = new User();
@@ -1004,9 +1006,9 @@ class AdminController extends Controller
                     $obj->save();
                 }
 
-                \DB::commit();
+                DB::commit();
             } catch (\Exception $e) {
-                \DB::rollBack();
+                DB::rollBack();
 
                 $request->session()->flash('errorMsg', '出错了,可能是导入的配置中有端口已经存在了');
 
@@ -1255,7 +1257,7 @@ class AdminController extends Controller
     // 日志分析
     public function analysis(Request $request)
     {
-        $file = storage_path('app/public/ssserver.log');
+        $file = storage_path('app/ssserver.log');
         if (!file_exists($file)) {
             $request->session()->flash('analysisErrorMsg', $file . ' 不存在,请先创建文件');
 
@@ -1795,6 +1797,46 @@ class AdminController extends Controller
         return Response::view('admin/userBalanceLogList', $view);
     }
 
+    // 用户消费记录
+    public function userOrderList(Request $request)
+    {
+        $username = trim($request->get('username'));
+        $is_expire = $request->get('is_expire');
+        $is_coupon = $request->get('is_coupon');
+
+        $query = Order::query()->with(['user', 'goods', 'coupon'])->orderBy('oid', 'desc');
+
+        if ($username) {
+            $query->whereHas('user', function ($q) use ($username) {
+                $q->where('username', 'like', '%' . $username . '%');
+            });
+        }
+
+        if ($is_expire != '') {
+            $query->where('is_expire', $is_expire);
+        }
+
+        if ($is_coupon != '') {
+            if ($is_coupon) {
+                $query->where('coupon_id', '<>', 0);
+            } else {
+                $query->where('coupon_id', 0);
+            }
+        }
+
+        $list = $query->paginate(10);
+        if (!$list->isEmpty()) {
+            foreach ($list as &$vo) {
+                $vo->totalOriginalPrice = $vo->totalOriginalPrice / 100;
+                $vo->totalPrice = $vo->totalPrice / 100;
+            }
+        }
+
+        $view['list'] = $list;
+
+        return Response::view('admin/userOrderList', $view);
+    }
+
     // 转换成某个用户的身份
     public function switchToUser(Request $request)
     {

+ 23 - 35
app/Http/Controllers/UserController.php

@@ -9,7 +9,6 @@ use App\Http\Models\Goods;
 use App\Http\Models\Invite;
 use App\Http\Models\Level;
 use App\Http\Models\Order;
-use App\Http\Models\OrderGoods;
 use App\Http\Models\ReferralApply;
 use App\Http\Models\ReferralLog;
 use App\Http\Models\SsConfig;
@@ -22,7 +21,6 @@ use App\Http\Models\UserSubscribe;
 use App\Http\Models\UserTrafficDaily;
 use App\Http\Models\UserTrafficHourly;
 use App\Http\Models\Verify;
-use App\Http\Models\Payment;
 use App\Mail\activeUser;
 use App\Mail\resetPassword;
 use Illuminate\Http\Request;
@@ -30,8 +28,8 @@ use Redirect;
 use Response;
 use Cache;
 use Mail;
-use DB;
 use Log;
+use DB;
 
 class UserController extends Controller
 {
@@ -283,14 +281,11 @@ class UserController extends Controller
     {
         $user = $request->session()->get('user');
 
-        $orderList = Order::query()->where('user_id', $user['id'])->orderBy('oid', 'desc')->with('goodsList')->paginate(10)->appends($request->except('page'));
+        $orderList = Order::query()->with(['user', 'goods', 'coupon'])->where('user_id', $user['id'])->orderBy('oid', 'desc')->paginate(10)->appends($request->except('page'));
         if (!$orderList->isEmpty()) {
             foreach ($orderList as &$order) {
-                foreach ($order->goodsList as &$goods) {
-                    $g = Goods::query()->where('id', $goods->goods_id)->first();
-                    $goods->goods_name = empty($g) ? '【该商品已删除】' : $g->name;
-                    $goods->price = $goods->price / 100;
-                }
+                $order->totalOriginalPrice = $order->totalOriginalPrice / 100;
+                $order->totalPrice = $order->totalPrice / 100;
             }
         }
 
@@ -704,7 +699,7 @@ class UserController extends Controller
         return Response::json(['status' => 'success', 'data' => $data, 'message' => '该优惠券有效']);
     }
 
-    // 添加订单
+    // 购买服务
     public function addOrder(Request $request)
     {
         $goods_id = intval($request->get('goods_id'));
@@ -715,7 +710,7 @@ class UserController extends Controller
         if ($request->method() == 'POST') {
             $goods = Goods::query()->where('id', $goods_id)->where('status', 1)->first();
             if (empty($goods)) {
-                return Response::json(['status' => 'fail', 'data' => '', 'message' => '支付失败:商品不存在']);
+                return Response::json(['status' => 'fail', 'data' => '', 'message' => '支付失败:服务不存在']);
             }
 
             // 使用优惠券
@@ -738,38 +733,24 @@ class UserController extends Controller
                 return Response::json(['status' => 'fail', 'data' => '', 'message' => '支付失败:您的余额不足,请先充值']);
             }
 
-            // 订单长ID
-            $orderId = date('YmdHis') . mt_rand(100000, 999999);
-
             DB::beginTransaction();
             try {
                 // 生成订单
                 $order = new Order();
-                $order->orderId = $orderId;
+                $order->orderId = date('ymdHis') . mt_rand(100000, 999999);
                 $order->user_id = $user->id;
+                $order->goods_id = $goods_id;
                 $order->coupon_id = !empty($coupon) ? $coupon->id : 0;
                 $order->totalOriginalPrice = $goods->price;
                 $order->totalPrice = $totalPrice;
+                $order->expire_at = date("Y-m-d H:i:s", strtotime("+" . $goods->days . " days"));
+                $order->is_expire = 0;
+                $order->pay_way = 1; // 支付方式
                 $order->status = 2;
                 $order->save();
 
-                if (!$order->oid) {
-                    throw new \Exception('错误:生成订单失败');
-                }
-
-                $orderGoods = new OrderGoods();
-                $orderGoods->oid = $order->oid;
-                $orderGoods->orderId = $orderId;
-                $orderGoods->user_id = $user->id;
-                $orderGoods->goods_id = $goods_id;
-                $orderGoods->num = 1;
-                $orderGoods->original_price = $goods->price;
-                $orderGoods->price = $totalPrice;
-                $orderGoods->is_expire = 0;
-                $orderGoods->save();
-
                 // 扣余额
-                User::query()->where('id', $user['id'])->decrement('balance', $totalPrice);
+                User::query()->where('id', $user->id)->decrement('balance', $totalPrice);
 
                 // 记录余额操作日志
                 $userBalanceLogObj = new UserBalanceLog();
@@ -797,12 +778,19 @@ class UserController extends Controller
                     $couponLogObj->save();
                 }
 
+                // 如果买的是套餐,则先将之前购买的所有套餐置都无效,并扣掉之前所有套餐的流量
+                $existOrderList = Order::query()->with('goods')->whereHas('goods', function ($q) { $q->where('type', 2);})->where('user_id', $user->id)->where('oid', '<>', $order->oid)->where('is_expire', 0)->get();
+                foreach ($existOrderList as $vo) {
+                    Order::query()->where('oid', $vo->oid)->update(['is_expire' => 1]);
+                    User::query()->where('id', $user->id)->decrement('transfer_enable', $vo->goods->traffic * 1048576);
+                }
+
                 // 把商品的流量加到账号上
-                User::query()->where('id', $user['id'])->increment('transfer_enable', $goods->traffic * 1048576);
+                User::query()->where('id', $user->id)->increment('transfer_enable', $goods->traffic * 1048576);
 
                 // 将商品的有效期和流量自动重置日期加到账号上
                 $traffic_reset_day = $goods->type == 2 ? (in_array(date('d'), [29, 30, 31]) ? 28 : abs(date('d'))) : 0;
-                User::query()->where('id', $user['id'])->update(['traffic_reset_day' => $traffic_reset_day, 'expire_time' => date('Y-m-d H:i:s', strtotime("+" . $goods->days . " days")), 'enable' => 1]);
+                User::query()->where('id', $user->id)->update(['traffic_reset_day' => $traffic_reset_day, 'expire_time' => date('Y-m-d', strtotime("+" . $goods->days . " days", strtotime($user->expire_time))), 'enable' => 1]);
 
                 // 写入返利日志
                 if ($user->referral_uid) {
@@ -897,7 +885,7 @@ class UserController extends Controller
         $view['link'] = self::$config['website_url'] . '/register?aff=' . $user['id'];
 
         $referralLogList = ReferralLog::query()->where('ref_user_id', $user['id'])->with('user')->paginate(10);
-        if (!empty($referralLogList)) {
+        if (!$referralLogList->isEmpty()) {
             foreach ($referralLogList as &$referral) {
                 $referral->amount = $referral->amount / 100;
                 $referral->ref_amount = $referral->ref_amount / 100;
@@ -953,7 +941,7 @@ class UserController extends Controller
         // 如果没有唯一码则生成一个
         $subscribe = UserSubscribe::query()->where('user_id', $user['id'])->first();
         if (empty($subscribe)) {
-            $code = mb_substr(md5($user['id'] . '-' . $user['username']), 8, 16);
+            $code = mb_substr(md5($user['id'] . '-' . $user['username']), 8, 12);
 
             $obj = new UserSubscribe();
             $obj->user_id = $user['id'];

+ 17 - 2
app/Http/Models/Order.php

@@ -16,13 +16,28 @@ class Order extends Model
     protected $fillable = [
         'orderId',
         'user_id',
+        'goods_id',
         'coupon_id',
         'totalOriginalPrice',
         'totalPrice',
+        'expire_at',
+        'is_expire',
+        'pay_way',
         'status'
     ];
 
-    function goodsList() {
-        return $this->hasMany(OrderGoods::class, 'oid', 'oid');
+    function user()
+    {
+        return $this->hasOne(User::class, 'id', 'user_id');
+    }
+
+    function goods()
+    {
+        return $this->hasOne(Goods::class, 'id', 'goods_id');
+    }
+
+    function coupon()
+    {
+        return $this->hasOne(Coupon::class, 'id', 'coupon_id');
     }
 }

+ 2 - 2
config/app.php

@@ -77,8 +77,8 @@ return [
     |
     */
 
-    //'locale' => 'zh-CN',
-    'locale' => 'en',
+    'locale' => 'zh-CN',
+    //'locale' => 'en',
 
     /*
     |--------------------------------------------------------------------------

+ 1 - 1
readme.md

@@ -147,7 +147,7 @@ crontab -e
 ````
 找到SSR服务端所在的ssserver.log文件
 进入ssrpanel所在目录,建立一个软连接,并授权
-cd /home/wwwroot/ssrpanel/public/storage/app/public
+cd /home/wwwroot/ssrpanel/public/storage/app
 ln -S ssserver.log /root/shadowsocksr/ssserver.log
 chown www:www ssserver.log
 ````

+ 2 - 1
resources/lang/en/home.php

@@ -38,6 +38,7 @@ return [
     'service_quantity' => 'Quantity',
     'service_total_price' => 'Total Price',
     'service_settlement_price' => 'Settlement Price',
+    'service_pay_button' => 'Pay',
     'services_none' => 'None Services',
     'service_traffic' => 'Transfer',
     'service_days' => 'Available Days',
@@ -71,7 +72,7 @@ return [
     // 单据
     'invoice_title' => 'My Invoices',
     'invoice_table_name' => 'Service',
-    'invoice_table_price' => 'Price',
+    'invoice_table_price' => 'Amount',
     'invoice_table_create_date' => 'Created On',
     'invoice_table_status' => 'Status',
     'invoice_table_none' => 'None Data',

+ 3 - 2
resources/lang/zh-CN/home.php

@@ -38,6 +38,7 @@ return [
     'service_quantity' => '数量',
     'service_total_price' => '共计',
     'service_settlement_price' => '结算价',
+    'service_pay_button' => '支付',
     'services_none' => '暂无可用服务',
     'service_traffic' => '内含流量',
     'service_days' => '有效期',
@@ -70,8 +71,8 @@ return [
     // 单据
     'invoice_title' => '消费记录',
     'invoice_table_name' => '服务',
-    'invoice_table_price' => '价格',
-    'invoice_table_create_date' => '创建日期',
+    'invoice_table_price' => '金额',
+    'invoice_table_create_date' => '日期',
     'invoice_table_status' => '状态',
     'invoice_table_none' => '暂无数据',
     'invoice_table_closed' => '关闭',

+ 1 - 12
resources/views/admin/addArticle.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/articleList')}}">文章管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/addArticle')}}">添加文章</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 16
resources/views/admin/addGroup.blade.php

@@ -6,22 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/groupList')}}">节点分组</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/addGroup')}}">添加节点分组</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/addNode.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/nodeList')}}">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/addNode')}}">添加节点</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/addUser.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/userList')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/addUser')}}">添加账号</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="tab-pane">
             <div class="portlet light bordered">

+ 1 - 12
resources/views/admin/analysis.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/analysis')}}">日志分析</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/admin/applyDetail.blade.php

@@ -5,15 +5,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/applyList')}}">提现管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/admin/applyList.blade.php

@@ -5,15 +5,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/applyList')}}">提现管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/admin/articleList.blade.php

@@ -7,15 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/articleList')}}">文章管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 13
resources/views/admin/articleLogList.blade.php

@@ -7,19 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/articleList')}}">文章管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/articleLogList')}}">文章访问日志</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/config.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">设置</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/config')}}">通用配置</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/convert.blade.php

@@ -5,18 +5,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/convert')}}">格式转换</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/editArticle.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/articleList')}}">文章管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="javascript:;">编辑文章</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 16
resources/views/admin/editGroup.blade.php

@@ -6,22 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/groupList')}}">节点分组</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="javascript:;">编辑节点分组</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/editNode.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/nodeList')}}">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="javascript:;">编辑节点</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <div class="row">
             <div class="col-md-12">
                 <!-- BEGIN PAGE BASE CONTENT -->

+ 1 - 12
resources/views/admin/editUser.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/userList')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="javascript:;">编辑账号</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="tab-pane active">
             <div class="portlet light bordered">

+ 1 - 12
resources/views/admin/export.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/userList')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/export')}}">导出配置信息</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

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

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/groupList')}}">节点分组</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/import.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/import')}}">数据导入</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/admin/index.blade.php

@@ -3,15 +3,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">管理中心</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

+ 1 - 9
resources/views/admin/inviteList.blade.php

@@ -5,15 +5,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/inviteList')}}">邀请码管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-4">

+ 35 - 29
resources/views/admin/layouts.blade.php

@@ -103,58 +103,58 @@
             <!-- DOC: Set data-auto-scroll="false" to disable the sidebar from auto scrolling/focusing -->
             <!-- DOC: Set data-keep-expand="true" to keep the submenues expanded -->
             <!-- DOC: Set data-auto-speed="200" to adjust the sub menu slide up/down speed -->
-            <ul class="page-sidebar-menu   " data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200">
-                <li class="nav-item start {{Request::getRequestUri() == '/admin' ? 'active open' : ''}}">
+            <ul class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200">
+                <li class="nav-item start {{in_array(Request::path(), ['admin']) ? 'active open' : ''}}">
                     <a href="{{url('admin')}}" class="nav-link nav-toggle">
                         <i class="icon-home"></i>
                         <span class="title">管理中心</span>
                         <span class="selected"></span>
                     </a>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/admin/inviteList' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/inviteList']) ? 'active open' : ''}}">
                     <a href="{{url('admin/inviteList')}}" class="nav-link nav-toggle">
                         <i class="icon-puzzle"></i>
                         <span class="title">邀请码管理</span>
                     </a>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/admin/applyList' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/applyList', 'admin/applyDetail']) ? 'active open' : ''}}">
                     <a href="{{url('admin/applyList')}}" class="nav-link nav-toggle">
                         <i class="icon-credit-card"></i>
                         <span class="title">提现管理</span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/shop/goodsList', '/shop/addGoods', '/shop/editGoods']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['shop/goodsList', 'shop/addGoods', 'shop/editGoods']) ? 'active open' : ''}}">
                     <a href="{{url('shop/goodsList')}}" class="nav-link nav-toggle">
                         <i class="icon-basket"></i>
                         <span class="title">商品管理</span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/coupon/couponList', '/coupon/addCoupon']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['coupon/couponList', 'coupon/addCoupon']) ? 'active open' : ''}}">
                     <a href="{{url('coupon/couponList')}}" class="nav-link nav-toggle">
                         <i class="icon-wallet"></i>
                         <span class="title">卡券管理</span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/ticket/ticketList', '/ticket/replyTicket']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['ticket/ticketList', 'ticket/replyTicket']) ? 'active open' : ''}}">
                     <a href="{{url('ticket/ticketList')}}" class="nav-link nav-toggle">
                         <i class="icon-question"></i>
                         <span class="title">工单管理</span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/admin/articleList', '/admin/addArticle', '/admin/editArticle', '/admin/articleLogList']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/articleList', 'admin/addArticle', 'admin/editArticle', 'admin/articleLogList']) ? 'active open' : ''}}">
                     <a href="javascript:;" class="nav-link nav-toggle">
                         <i class="icon-docs"></i>
                         <span class="title">文章管理</span>
                         <span class="arrow"></span>
                     </a>
                     <ul class="sub-menu">
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/articleList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/articleList']) ? 'active open' : ''}}">
                             <a href="{{url('admin/articleList')}}" class="nav-link ">
                                 <i class="icon-list"></i>
                                 <span class="title">文章列表</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/articleLogList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/articleLogList']) ? 'active open' : ''}}">
                             <a href="{{url('admin/articleLogList')}}" class="nav-link ">
                                 <i class="icon-list"></i>
                                 <span class="title">文章访问日志</span>
@@ -162,41 +162,47 @@
                         </li>
                     </ul>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/admin/userList', '/admin/addUser', '/admin/editUser', '/admin/userBalanceLogList']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/userList', 'admin/addUser', 'admin/editUser', 'admin/userOrderList', 'admin/userBalanceLogList']) ? 'active open' : ''}}">
                     <a href="javascript:;" class="nav-link nav-toggle">
                         <i class="icon-users"></i>
-                        <span class="title">账号管理</span>
+                        <span class="title">用户管理</span>
                         <span class="arrow"></span>
                     </a>
                     <ul class="sub-menu">
-                        <li class="nav-item {{in_array(Request::getRequestUri(), ['/admin/userList', '/admin/addUser', '/admin/editUser']) ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/userList', 'admin/addUser', 'admin/editUser']) ? 'active open' : ''}}">
                             <a href="{{url('admin/userList')}}" class="nav-link ">
                                 <i class="icon-user"></i>
-                                <span class="title">账号列表</span>
+                                <span class="title">用户列表</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/userBalanceLogList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/userOrderList']) ? 'active open' : ''}}">
+                            <a href="{{url('admin/userOrderList')}}" class="nav-link ">
+                                <i class="icon-credit-card"></i>
+                                <span class="title">消费记录</span>
+                            </a>
+                        </li>
+                        <li class="nav-item {{in_array(Request::path(), ['admin/userBalanceLogList']) ? 'active open' : ''}}">
                             <a href="{{url('admin/userBalanceLogList')}}" class="nav-link ">
                                 <i class="icon-credit-card"></i>
-                                <span class="title">余额变动日志</span>
+                                <span class="title">余额日志</span>
                             </a>
                         </li>
                     </ul>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/admin/nodeList', '/admin/addNode', '/admin/editNode', '/admin/groupList', '/admin/addGroup', '/admin/editGroup']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/nodeList', 'admin/addNode', 'admin/editNode', 'admin/groupList', 'admin/addGroup', 'admin/editGroup']) ? 'active open' : ''}}">
                     <a href="javascript:;" class="nav-link nav-toggle">
                         <i class="icon-layers"></i>
                         <span class="title">节点管理</span>
                         <span class="arrow"></span>
                     </a>
                     <ul class="sub-menu">
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/nodeList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/nodeList']) ? 'active open' : ''}}">
                             <a href="{{url('admin/nodeList')}}" class="nav-link ">
                                 <i class="icon-list"></i>
                                 <span class="title">节点列表</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/groupList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/groupList']) ? 'active open' : ''}}">
                             <a href="{{url('admin/groupList')}}" class="nav-link ">
                                 <i class="icon-grid"></i>
                                 <span class="title">节点分组</span>
@@ -204,44 +210,44 @@
                         </li>
                     </ul>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/admin/convert', '/admin/import', '/admin/trafficLog', '/admin/analysis', '/admin/subscribeLog', '/emailLog/logList']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/convert', 'admin/import', 'admin/trafficLog', 'admin/analysis', 'admin/subscribeLog', 'emailLog/logList']) ? 'active open' : ''}}">
                     <a href="javascript:;" class="nav-link nav-toggle">
                         <i class="icon-wrench"></i>
                         <span class="title">工具箱</span>
                         <span class="arrow"></span>
                     </a>
                     <ul class="sub-menu">
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/convert' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/convert']) ? 'active open' : ''}}">
                             <a href="{{url('admin/convert')}}" class="nav-link">
                                 <i class="icon-refresh"></i>
                                 <span class="title">格式转换</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/import' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/import']) ? 'active open' : ''}}">
                             <a href="{{url('admin/import')}}" class="nav-link">
                                 <i class="icon-plus"></i>
                                 <span class="title">数据导入</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/trafficLog' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/trafficLog']) ? 'active open' : ''}}">
                             <a href="{{url('admin/trafficLog')}}" class="nav-link">
                                 <i class="icon-speedometer"></i>
                                 <span class="title">流量日志</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/analysis' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/analysis']) ? 'active open' : ''}}">
                             <a href="{{url('admin/analysis')}}" class="nav-link">
                                 <i class="icon-bar-chart"></i>
                                 <span class="title">日志分析</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/subscribeLog' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/subscribeLog']) ? 'active open' : ''}}">
                             <a href="{{url('admin/subscribeLog')}}" class="nav-link">
                                 <i class="icon-list"></i>
                                 <span class="title">订阅请求日志</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/emailLog/logList' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['emailLog/logList']) ? 'active open' : ''}}">
                             <a href="{{url('emailLog/logList')}}" class="nav-link">
                                 <i class="icon-list"></i>
                                 <span class="title">邮件投递记录</span>
@@ -249,20 +255,20 @@
                         </li>
                     </ul>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/admin/config' || Request::getRequestUri() == '/admin/addConfig' || Request::getRequestUri() == '/admin/system' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['admin/config', 'admin/addConfig', 'admin/system']) ? 'active open' : ''}}">
                     <a href="javascript:;" class="nav-link nav-toggle">
                         <i class="icon-settings"></i>
                         <span class="title">设置</span>
                         <span class="arrow"></span>
                     </a>
                     <ul class="sub-menu">
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/config' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/config']) ? 'active open' : ''}}">
                             <a href="{{url('admin/config')}}" class="nav-link ">
                                 <i class="icon-info"></i>
                                 <span class="title">通用配置</span>
                             </a>
                         </li>
-                        <li class="nav-item {{Request::getRequestUri() == '/admin/system' ? 'active open' : ''}}">
+                        <li class="nav-item {{in_array(Request::path(), ['admin/system']) ? 'active open' : ''}}">
                             <a href="{{url('admin/system')}}" class="nav-link ">
                                 <i class="icon-settings"></i>
                                 <span class="title">系统设置</span>

+ 3 - 14
resources/views/admin/nodeList.blade.php

@@ -7,25 +7,14 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/nodeList')}}">节点列表</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">
                 <div class="note note-info">
-                    <p>提示:如果负载显示宕机,可能是节点服务器宕机或者节点上的SSR服务挂掉了,请重启节点服务器或者SSR服务。</p>
+                    <p>如果负载显示宕机,可能是节点服务器宕机或者节点上的SSR服务挂掉了,请重启节点服务器或者SSR服务。</p>
                     <p>宕机是因为节点服务器IDC母鸡超售过载导致,SSR挂掉是因为节点服务器配置太渣。<a href="https://github.com/ssrpanel/ssrpanel/wiki/VPS%E6%8E%A8%E8%8D%90&%E8%B4%AD%E4%B9%B0%E7%BB%8F%E9%AA%8C" target="_blank" style="color:red;">[VPS推荐]</a></p>
-                    <p>如果还是无法解决,请先把服务器时间都同步一下试试。</p>
+                    <p>如果还是无法解决,请检查各节点服务器的时间是否同步。<a href="https://github.com/ssrpanel/SSRPanel/wiki/%E5%8D%95%E7%AB%AF%E5%8F%A3%E5%A4%9A%E7%94%A8%E6%88%B7%E7%9A%84%E5%9D%91" target="_blank" style="color:red;">[时间校准]</a></p>
                 </div>
             </div>
         </div>

+ 1 - 16
resources/views/admin/nodeMonitor.blade.php

@@ -6,22 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/nodeList')}}">节点管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/nodeList')}}">节点列表</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/nodeMonitor')}}">节点流量监控</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/admin/profile.blade.php

@@ -6,15 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/profile')}}">个人资料</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/subscribeLog.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/subscribeLog')}}">订阅请求日志</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/system.blade.php

@@ -8,18 +8,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="javascript:;">设置</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/config')}}">系统配置</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/admin/trafficLog.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/trafficLog')}}">流量日志</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 5 - 16
resources/views/admin/userBalanceLogList.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/userBalanceLogList')}}">余额变动日志</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">
@@ -26,8 +15,8 @@
                 <div class="portlet light bordered">
                     <div class="portlet-title">
                         <div class="caption font-dark">
-                            <i class="icon-speedometer font-dark"></i>
-                            <span class="caption-subject bold uppercase"> 余额变动日志</span>
+                            <i class="icon-credit-card font-dark"></i>
+                            <span class="caption-subject bold uppercase"> 余额日志</span>
                         </div>
                     </div>
                     <div class="portlet-body">
@@ -44,8 +33,8 @@
                             <table class="table table-striped table-bordered table-hover table-checkable order-column">
                                 <thead>
                                 <tr>
-                                    <th> ID </th>
-                                    <th> 用户 </th>
+                                    <th> # </th>
+                                    <th> 用户 </th>
                                     <th> 订单ID </th>
                                     <th> 操作前余额 </th>
                                     <th> 发生金额 </th>

+ 5 - 13
resources/views/admin/userList.blade.php

@@ -7,15 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/userList')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">
@@ -24,7 +16,7 @@
                     <div class="portlet-title">
                         <div class="caption font-dark">
                             <i class="icon-users font-dark"></i>
-                            <span class="caption-subject bold uppercase"> 账号列表 </span>
+                            <span class="caption-subject bold uppercase"> 用户列表 </span>
                         </div>
                         <div class="actions">
                             <div class="btn-group btn-group-devided">
@@ -53,7 +45,7 @@
                             </div>
                             <div class="col-md-2 col-sm-2">
                                 <select class="form-control input-sm" name="pay_way" id="pay_way" onChange="doSearch()">
-                                    <option value="" @if(empty(Request::get('pay_way'))) selected @endif>付费方式</option>
+                                    <option value="" @if(Request::get('pay_way') == '') selected @endif>付费方式</option>
                                     <option value="0" @if(Request::get('pay_way') == '0') selected @endif>免费</option>
                                     <option value="1" @if(Request::get('pay_way') == '1') selected @endif>月付</option>
                                     <option value="2" @if(Request::get('pay_way') == '2') selected @endif>半年付</option>
@@ -62,7 +54,7 @@
                             </div>
                             <div class="col-md-2 col-sm-2">
                                 <select class="form-control input-sm" name="status" id="status" onChange="doSearch()">
-                                    <option value="" @if(empty(Request::get('status'))) selected @endif>状态</option>
+                                    <option value="" @if(Request::get('status') == '') selected @endif>状态</option>
                                     <option value="-1" @if(Request::get('status') == '-1') selected @endif>禁用</option>
                                     <option value="0" @if(Request::get('status') == '0') selected @endif>未激活</option>
                                     <option value="1" @if(Request::get('status') == '1') selected @endif>正常</option>
@@ -70,7 +62,7 @@
                             </div>
                             <div class="col-md-2 col-sm-2">
                                 <select class="form-control input-sm" name="enable" id="enable" onChange="doSearch()">
-                                    <option value="" @if(empty(Request::get('enable'))) selected @endif>SS(R)状态</option>
+                                    <option value="" @if(Request::get('enable') == '') selected @endif>SS(R)状态</option>
                                     <option value="1" @if(Request::get('enable') == '1') selected @endif>启用</option>
                                     <option value="0" @if(Request::get('enable') == '0') selected @endif>禁用</option>
                                 </select>

+ 1 - 16
resources/views/admin/userMonitor.blade.php

@@ -6,22 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin/userList')}}">账号管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/userList')}}">账号列表</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('admin/userMonitor')}}">账号流量监控</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 117 - 0
resources/views/admin/userOrderList.blade.php

@@ -0,0 +1,117 @@
+@extends('admin.layouts')
+
+@section('css')
+    <link href="/assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
+    <link href="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
+@endsection
+@section('title', '控制面板')
+@section('content')
+    <!-- BEGIN CONTENT BODY -->
+    <div class="page-content" style="padding-top:0;">
+        <!-- BEGIN PAGE BASE CONTENT -->
+        <div class="row">
+            <div class="col-md-12">
+                <!-- BEGIN EXAMPLE TABLE PORTLET-->
+                <div class="portlet light bordered">
+                    <div class="portlet-title">
+                        <div class="caption font-dark">
+                            <i class="icon-credit-card font-dark"></i>
+                            <span class="caption-subject bold uppercase"> 消费记录 </span>
+                        </div>
+                    </div>
+                    <div class="portlet-body">
+                        <div class="row">
+                            <div class="col-md-2 col-sm-2">
+                                <input type="text" class="col-md-4 form-control input-sm" name="username" value="{{Request::get('username')}}" id="username" placeholder="用户名" onkeydown="if(event.keyCode==13){do_search();}">
+                            </div>
+                            <div class="col-md-2 col-sm-2">
+                                <select class="form-control input-sm" name="is_expire" id="is_expire" onchange="doSearch()">
+                                    <option value="" @if(Request::get('is_expire') == '') selected @endif>过期</option>
+                                    <option value="0" @if(Request::get('is_expire') == '0') selected @endif>否</option>
+                                    <option value="1" @if(Request::get('is_expire') == '1') selected @endif>是</option>
+                                </select>
+                            </div>
+                            <div class="col-md-2 col-sm-2">
+                                <select class="form-control input-sm" name="is_coupon" id="is_coupon" onchange="doSearch()">
+                                    <option value="" @if(Request::get('is_coupon') == '') selected @endif>使用优惠券</option>
+                                    <option value="0" @if(Request::get('is_coupon') == '0') selected @endif>否</option>
+                                    <option value="1" @if(Request::get('is_coupon') == '1') selected @endif>是</option>
+                                </select>
+                            </div>
+                            <div class="col-md-2 col-sm-2">
+                                <button type="button" class="btn btn-sm blue" onclick="doSearch();">查询</button>
+                                <button type="button" class="btn btn-sm grey" onclick="doReset();">重置</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>
+                                    <th> 原价 </th>
+                                    <th> 实付 </th>
+                                    <th> 优惠券 </th>
+                                    <th> 过期 </th>
+                                    <th> 操作时间 </th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                    @if($list->isEmpty())
+                                        <tr>
+                                            <td colspan="8">暂无数据</td>
+                                        </tr>
+                                    @else
+                                        @foreach($list as $vo)
+                                            <tr class="odd gradeX">
+                                                <td> {{$vo->oid}} </td>
+                                                <td> {{empty($vo->user) ? '【用户已删除】' : $vo->user->username}} </td>
+                                                <td> {{empty($vo->goods) ? '【商品已删除】' : $vo->goods->name}} </td>
+                                                <td> {{$vo->totalOriginalPrice}} </td>
+                                                <td> {{$vo->totalPrice}} </td>
+                                                <td> {{empty($vo->coupon) ? '' : $vo->coupon->name . ' - ' . $vo->coupon->sn}} </td>
+                                                <td> {{$vo->is_expire ? '是' : $vo->expire_at}} </td>
+                                                <td> {{$vo->created_at}} </td>
+                                            </tr>
+                                        @endforeach
+                                    @endif
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="row">
+                            <div class="col-md-4 col-sm-4">
+                                <div class="dataTables_info" role="status" aria-live="polite">共 {{$list->total()}} 条记录</div>
+                            </div>
+                            <div class="col-md-8 col-sm-8">
+                                <div class="dataTables_paginate paging_bootstrap_full_number pull-right">
+                                    {{ $list->links() }}
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <!-- END EXAMPLE TABLE PORTLET-->
+            </div>
+        </div>
+        <!-- END PAGE BASE CONTENT -->
+    </div>
+    <!-- END CONTENT BODY -->
+@endsection
+@section('script')
+    <script type="text/javascript">
+        // 搜索
+        function doSearch() {
+            var username = $("#username").val();
+            var is_expire = $("#is_expire").val();
+            var is_coupon = $("#is_coupon").val();
+
+            window.location.href = '{{url('admin/userOrderList')}}' + '?username=' + username + '&is_expire=' + is_expire + '&is_coupon=' + is_coupon;
+        }
+
+        // 重置
+        function doReset() {
+            window.location.href = '{{url('admin/userOrderList')}}';
+        }
+    </script>
+@endsection

+ 1 - 12
resources/views/coupon/addCoupon.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('coupon/couponList')}}">卡券列表</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('coupon/addCoupon')}}">生成卡券</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/coupon/couponList.blade.php

@@ -12,15 +12,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('coupon/couponList')}}">卡券管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 12
resources/views/emailLog/logList.blade.php

@@ -12,18 +12,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('admin')}}">工具箱</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('emailLog/list')}}">邮件发送记录</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 1
resources/views/register.blade.php

@@ -127,7 +127,7 @@
             ,btn: ['{{trans('register.tnc_title')}}']
             ,btnAlign: 'c'
             ,moveType: 1 //拖拽模式,0或者1
-            ,content: '<div style="padding: 20px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">{{trans('register.tnc_content')}}</div>'
+            ,content: '<div style="padding: 20px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">不得通过本站提供的服务发布、转载、传送含有下列内容之一的信息:<br>1.违反宪法确定的基本原则的;<br>2.危害国家安全,泄漏国家机密,颠覆国家政权,破坏国家统一的;<br>3.损害国家荣誉和利益的;<br>4.煽动民族仇恨、民族歧视,破坏民族团结的;<br>5.破坏国家宗教政策,宣扬邪教和封建迷信的; <br>6.散布谣言,扰乱社会秩序,破坏社会稳定的;<br>7.散布淫秽、色情、赌博、暴力、恐怖或者教唆犯罪的;<br>8.侮辱或者诽谤他人,侵害他人合法权益的;<br>9.煽动非法集会、结社、游行、示威、聚众扰乱社会秩序的;<br>10.以非法民间组织名义活动的;<br>11.含有法律、行政法规禁止的其他内容的。</div>'
             ,success: function(layero){
 //                var btn = layero.find('.layui-layer-btn');
 //                btn.find('.layui-layer-btn0').attr({

+ 4 - 12
resources/views/shop/addGoods.blade.php

@@ -7,18 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('shop/goodsList')}}">商品管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('shop/addGoods')}}">添加商品</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">
@@ -34,6 +23,9 @@
                         <strong>错误:</strong> {{Session::get('errorMsg')}}
                     </div>
                 @endif
+                <div class="note note-warning">
+                    <p>警告:购买新套餐则会覆盖所有已购但未过期的旧套餐并删除对应的流量,所以设置商品时请务必注意类型和有效期。</p>
+                </div>
                 <!-- BEGIN PORTLET-->
                 <div class="portlet light bordered">
                     <div class="portlet-title">

+ 1 - 12
resources/views/shop/editGoods.blade.php

@@ -6,18 +6,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('shop/goodsList')}}">商品管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-            <li>
-                <a href="{{url('shop/editGoods?id=' . Request::get('id'))}}">编辑商品</a>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/shop/goodsList.blade.php

@@ -12,15 +12,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('shop/goodsList')}}">商品管理</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/ticket/replyTicket.blade.php

@@ -7,15 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('ticket/ticketList')}}">我的工单</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 1 - 9
resources/views/ticket/ticketList.blade.php

@@ -7,15 +7,7 @@
 @section('title', '控制面板')
 @section('content')
     <!-- BEGIN CONTENT BODY -->
-    <div class="page-content">
-        <!-- BEGIN PAGE BREADCRUMB -->
-        <ul class="page-breadcrumb breadcrumb">
-            <li>
-                <a href="{{url('ticket/ticketList')}}">工单列表</a>
-                <i class="fa fa-circle"></i>
-            </li>
-        </ul>
-        <!-- END PAGE BREADCRUMB -->
+    <div class="page-content" style="padding-top:0;">
         <!-- BEGIN PAGE BASE CONTENT -->
         <div class="row">
             <div class="col-md-12">

+ 7 - 7
resources/views/user/addOrder.blade.php

@@ -14,9 +14,9 @@
                     <table class="table table-hover">
                         <thead>
                         <tr>
-                            <th class="invoice-title uppercase"> {{trans('home.service_name')}} </th>
-                            <th class="invoice-title uppercase text-center"> {{trans('home.service_price')}} </th>
-                            <th class="invoice-title uppercase text-center"> {{trans('home.service_quantity')}} </th>
+                            <th class="invoice-title"> {{trans('home.service_name')}} </th>
+                            <th class="invoice-title text-center"> {{trans('home.service_price')}} </th>
+                            <th class="invoice-title text-center"> {{trans('home.service_quantity')}} </th>
                         </tr>
                         </thead>
                         <tbody>
@@ -34,11 +34,11 @@
             </div>
             <div class="row invoice-subtotal">
                 <div class="col-xs-3">
-                    <h2 class="invoice-title uppercase"> {{trans('home.service_total_price')}} </h2>
+                    <h2 class="invoice-title"> {{trans('home.service_total_price')}} </h2>
                     <p class="invoice-desc"> ¥{{$goods->price}} </p>
                 </div>
                 <div class="col-xs-3">
-                    <h2 class="invoice-title uppercase"> {{trans('home.coupon')}} </h2>
+                    <h2 class="invoice-title"> {{trans('home.coupon')}} </h2>
                     <p class="invoice-desc">
                         <div class="input-group">
                             <input class="form-control" type="text" name="coupon_sn" id="coupon_sn" placeholder="{{trans('home.coupon')}}" />
@@ -49,13 +49,13 @@
                     </p>
                 </div>
                 <div class="col-xs-6">
-                    <h2 class="invoice-title uppercase"> {{trans('home.service_settlement_price')}} </h2>
+                    <h2 class="invoice-title"> {{trans('home.service_settlement_price')}} </h2>
                     <p class="invoice-desc grand-total"> ¥{{$goods->price}} </p>
                 </div>
             </div>
             <div class="row">
                 <div class="col-xs-12">
-                    <a class="btn btn-lg green-haze hidden-print uppercase print-btn" onclick="addOrder()"> 支付 </a>
+                    <a class="btn btn-lg green-haze hidden-print uppercase print-btn" onclick="addOrder()"> {{trans('home.service_pay_button')}} </a>
                 </div>
             </div>
         </div>

+ 0 - 2
resources/views/user/goodsList.blade.php

@@ -48,8 +48,6 @@
                                                 {{trans('home.service_traffic')}}:{{$goods->traffic}}
                                                 <br>
                                                 {{trans('home.service_days')}}:{{$goods->days}} {{trans('home.day')}}
-                                                <br>
-                                                Strictly Self-Managed, No Support.
                                             </td>
                                             <td style="text-align: center;"> ¥{{$goods->price}} </td>
                                             <td style="text-align: center;">

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

@@ -103,7 +103,7 @@
                         <p class="text-muted"> {{trans('home.account_last_usage')}}:{{empty($info['t']) ? '从未使用' : date('Y-m-d H:i:s', $info['t'])}} </p>
                         <p class="text-muted"> {{trans('home.account_last_login')}}:{{empty($info['last_login']) ? '未登录' : date('Y-m-d H:i:s', $info['last_login'])}} </p>
                         <p class="text-muted">
-                            {{trans('home.account_bandwidth_usage')}}:{{$info['usedTransfer']}} ({{$info['totalTransfer']}})
+                            {{trans('home.account_bandwidth_usage')}}:{{$info['usedTransfer']}} ({{$info['totalTransfer']}})@if($info['traffic_reset_day']) &ensp;&ensp;每月{{$info['traffic_reset_day']}}日自动重置流量 @endif
                             <div class="progress progress-striped active" style="margin-bottom:0;" title="{{trans('home.account_total_traffic')}} {{$info['totalTransfer']}},{{trans('home.account_usage_traffic')}} {{$info['usedTransfer']}}">
                                 <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="{{$info['usedPercent'] * 100}}" aria-valuemin="0" aria-valuemax="100" style="width: {{$info['usedPercent'] * 100}}%">
                                     <span class="sr-only"> {{$info['usedTransfer']}} / {{$info['totalTransfer']}} </span>

+ 9 - 9
resources/views/user/layouts.blade.php

@@ -66,7 +66,7 @@
                         <ul class="dropdown-menu dropdown-menu-default">
                             @if(Session::get('user')['is_admin'])
                                 <li>
-                                    <a href="{{url('/admin')}}"> <i class="icon-settings"></i> 管理中心 </a>
+                                    <a href="{{url('admin')}}"> <i class="icon-settings"></i> 管理中心 </a>
                                 </li>
                             @endif
                             <li>
@@ -106,46 +106,46 @@
             <!-- DOC: Set data-auto-scroll="false" to disable the sidebar from auto scrolling/focusing -->
             <!-- DOC: Set data-keep-expand="true" to keep the submenues expanded -->
             <!-- DOC: Set data-auto-speed="200" to adjust the sub menu slide up/down speed -->
-            <ul class="page-sidebar-menu   " data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200">
-                <li class="nav-item start {{(Request::getRequestUri() == '/' || Request::getRequestUri() == '/user' || Request::getRequestUri() == '/user/subscribe') ? 'active open' : ''}}">
+            <ul class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200">
+                <li class="nav-item start {{in_array(Request::path(), ['/', 'user', 'user/subscribe']) ? 'active open' : ''}}">
                     <a href="{{url('user')}}" class="nav-link nav-toggle">
                         <i class="icon-home"></i>
                         <span class="title">{{trans('home.home')}}</span>
                         <span class="selected"></span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/user/goodsList', '/user/addOrder']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/goodsList', 'user/addOrder']) ? 'active open' : ''}}">
                     <a href="{{url('user/goodsList')}}" class="nav-link nav-toggle">
                         <i class="icon-basket"></i>
                         <span class="title">{{trans('home.services')}}</span>
                     </a>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/user/trafficLog' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/trafficLog']) ? 'active open' : ''}}">
                     <a href="{{url('user/trafficLog')}}" class="nav-link nav-toggle">
                         <i class="icon-speedometer"></i>
                         <span class="title">{{trans('home.traffic_log')}}</span>
                     </a>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/user/invite' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/invite']) ? 'active open' : ''}}">
                     <a href="{{url('user/invite')}}" class="nav-link nav-toggle">
                         <i class="icon-user-follow"></i>
                         <span class="title">{{trans('home.invite_code')}}</span>
                     </a>
                 </li>
-                <li class="nav-item {{in_array(Request::getRequestUri(), ['/user/orderList']) ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/orderList']) ? 'active open' : ''}}">
                     <a href="{{url('user/orderList')}}" class="nav-link nav-toggle">
                         <i class="icon-wallet"></i>
                         <span class="title">{{trans('home.invoices')}}</span>
                     </a>
                 </li>
-                <li class="nav-item {{Request::getRequestUri() == '/user/ticketList' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/ticketList']) ? 'active open' : ''}}">
                     <a href="{{url('user/ticketList')}}" class="nav-link nav-toggle">
                         <i class="icon-question"></i>
                         <span class="title">{{trans('home.tickets')}}</span>
                     </a>
                 </li>
                 @if(Session::get('referral_status'))
-                <li class="nav-item {{Request::getRequestUri() == '/user/referral' ? 'active open' : ''}}">
+                <li class="nav-item {{in_array(Request::path(), ['user/referral']) ? 'active open' : ''}}">
                     <a href="{{url('user/referral')}}" class="nav-link nav-toggle">
                         <i class="icon-diamond"></i>
                         <span class="title">{{trans('home.referrals')}}</span>

+ 19 - 36
resources/views/user/orderList.blade.php

@@ -26,10 +26,10 @@
                     </div>
                     <div class="portlet-body">
                         <div class="table-scrollable">
-                            <table class="table table-striped table-bordered table-hover table-checkable order-column">
+                            <table class="table table-striped table-bordered table-hover">
                                 <thead>
                                     <tr>
-                                        <th> # </th>
+                                        <th> 编号 </th>
                                         <th> {{trans('home.invoice_table_name')}} </th>
                                         <th> {{trans('home.invoice_table_price')}} </th>
                                         <th> {{trans('home.invoice_table_create_date')}} </th>
@@ -39,28 +39,28 @@
                                 <tbody>
                                 @if($orderList->isEmpty())
                                     <tr>
-                                        <td colspan="4">{{trans('home.invoice_table_none')}}</td>
+                                        <td colspan="5">{{trans('home.invoice_table_none')}}</td>
                                     </tr>
                                 @else
                                     @foreach($orderList as $key => $order)
                                         <tr class="odd gradeX">
-                                            <td> {{$key + 1}} </td>
-                                            <td>
-                                                @foreach($order->goodsList as $goods)
-                                                    {{$goods->goods_name}}
-                                                @endforeach
-                                            </td>
-                                            <td>¥{{$order->totalPrice / 100}}</td>
+                                            <td>{{$order->orderId}}</td>
+                                            <td>{{empty($order->goods) ? '【商品已删除】' : $order->goods->name}}</td>
+                                            <td>¥{{$order->totalPrice}}</td>
                                             <td>{{date('Y-m-d', strtotime($order->created_at))}}</td>
                                             <td>
-                                                @if($order->status == -1)
-                                                    <span class="label label-default"> {{trans('home.invoice_table_closed')}} </span>
-                                                @elseif($order->status == 0)
-                                                    <span class="label label-default"> {{trans('home.invoice_table_wait_payment')}} </span>
-                                                @elseif($order->status == 1)
-                                                    <span class="label label-danger"> {{trans('home.invoice_table_wait_confirm')}} </span>
-                                                @elseif($order->status == 2)
-                                                    <span class="label label-success"> {{trans('home.invoice_table_wait_active')}} </span>
+                                                @if(!$order->is_expire)
+                                                    @if($order->status == -1)
+                                                        <span class="label label-default"> {{trans('home.invoice_table_closed')}} </span>
+                                                    @elseif($order->status == 0)
+                                                        <span class="label label-default"> {{trans('home.invoice_table_wait_payment')}} </span>
+                                                    @elseif($order->status == 1)
+                                                        <span class="label label-danger"> {{trans('home.invoice_table_wait_confirm')}} </span>
+                                                    @elseif($order->status == 2)
+                                                        <span class="label label-success"> {{trans('home.invoice_table_wait_active')}} </span>
+                                                    @else
+                                                        <span class="label label-default"> {{trans('home.invoice_table_expired')}} </span>
+                                                    @endif
                                                 @else
                                                     <span class="label label-default"> {{trans('home.invoice_table_expired')}} </span>
                                                 @endif
@@ -88,24 +88,7 @@
     <!-- END CONTENT BODY -->
 @endsection
 @section('script')
-    <script src="/assets/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
-
     <script type="text/javascript">
-        function buy(goods_id) {
-            window.location.href = '{{url('user/addOrder?goods_id=')}}' + goods_id;
-        }
-
-        // 编辑商品
-        function exchange(id) {
-            //
-        }
-
-        // 查看商品图片
-        $(document).ready(function () {
-            $('.fancybox').fancybox({
-                openEffect: 'elastic',
-                closeEffect: 'elastic'
-            })
-        })
+        //
     </script>
 @endsection

+ 1 - 0
routes/web.php

@@ -66,6 +66,7 @@ Route::group(['middleware' => ['user', 'admin']], function() {
     Route::post('admin/setQrcode', 'AdminController@setQrcode'); // 设置充值二维码
     Route::post('admin/resetUserTraffic', 'AdminController@resetUserTraffic'); // 重置用户流量
     Route::post('admin/handleUserBalance', 'AdminController@handleUserBalance'); // 余额充值
+    Route::get('admin/userOrderList', 'AdminController@userOrderList'); // 用户消费记录
     Route::get('admin/userBalanceLogList', 'AdminController@userBalanceLogList'); // 余额变动日志
     Route::get('admin/makePasswd', 'AdminController@makePasswd'); // 获取随机密码
     Route::get('admin/download', 'AdminController@download'); // 下载转换过的JSON配置

+ 29 - 25
sql/db.sql

@@ -66,7 +66,7 @@ CREATE TABLE `ss_node_info` (
   `log_time` int(11) NOT NULL COMMENT '记录时间',
   PRIMARY KEY (`id`),
   KEY `idx_node_id` (`node_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='节点负载信息';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='节点负载信息';
 
 
 -- ----------------------------
@@ -79,7 +79,7 @@ CREATE TABLE `ss_node_online_log` (
   `log_time` int(11) NOT NULL COMMENT '记录时间',
   PRIMARY KEY (`id`),
   KEY `idx_node_id` (`node_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='节点在线信息';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='节点在线信息';
 
 
 -- ----------------------------
@@ -150,7 +150,7 @@ CREATE TABLE `level` (
   `created_at` datetime DEFAULT NULL,
   `updated_at` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
 -- ----------------------------
@@ -180,7 +180,7 @@ CREATE TABLE `user_traffic_log` (
   KEY `idx_user` (`user_id`),
   KEY `idx_node` (`node_id`),
   KEY `idx_user_node` (`user_id`,`node_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
 -- ----------------------------
@@ -196,7 +196,7 @@ CREATE TABLE `ss_config` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
 -- ----------------------------
 -- Records of ss_config
@@ -244,7 +244,7 @@ CREATE TABLE `config` (
   `name` varchar(255) NOT NULL DEFAULT '' COMMENT '配置名',
   `value` varchar(255) NOT NULL DEFAULT '' COMMENT '配置值',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='系统配置';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置';
 
 
 -- ----------------------------
@@ -306,7 +306,7 @@ CREATE TABLE `article` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -332,7 +332,7 @@ CREATE TABLE `article_log` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
 
 -- ----------------------------
@@ -348,7 +348,7 @@ CREATE TABLE `invite` (
   `created_at` datetime DEFAULT NULL,
   `updated_at` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='邀请码表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='邀请码表';
 
 
 -- ----------------------------
@@ -363,7 +363,7 @@ CREATE TABLE `verify` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
 
 -- ----------------------------
@@ -376,7 +376,7 @@ CREATE TABLE `ss_group` (
   `created_at` datetime DEFAULT NULL,
   `updated_at` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
 
 -- ----------------------------
@@ -387,7 +387,7 @@ CREATE TABLE `ss_group_node` (
   `group_id` int(11) NOT NULL DEFAULT '0' COMMENT '分组ID',
   `node_id` int(11) NOT NULL DEFAULT '0' COMMENT '节点ID',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='分组节点关系表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='分组节点关系表';
 
 
 -- ----------------------------
@@ -408,7 +408,7 @@ CREATE TABLE `goods` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品信息表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品信息表';
 
 
 -- ----------------------------
@@ -430,7 +430,7 @@ CREATE TABLE `coupon` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='优惠券';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='优惠券';
 
 
 -- ----------------------------
@@ -444,7 +444,7 @@ CREATE TABLE `coupon_log` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='优惠券使用日志';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='优惠券使用日志';
 
 
 -- ----------------------------
@@ -454,12 +454,16 @@ CREATE TABLE `order` (
   `oid` int(11) NOT NULL AUTO_INCREMENT,
   `orderId` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '订单编号',
   `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '操作人',
+  `goods_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品ID',
   `coupon_id` int(11) NOT NULL DEFAULT '0' COMMENT '优惠券ID',
   `totalOriginalPrice` int(11) NOT NULL DEFAULT '0' COMMENT '订单原始总价,单位分',
   `totalPrice` int(11) NOT NULL DEFAULT '0' COMMENT '订单总价,单位分',
+  `expire_at` datetime DEFAULT NULL COMMENT '过期时间',
+  `is_expire` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否已过期:0-未过期、1-已过期',
+  `pay_way` tinyint(4) NOT NULL DEFAULT '1' COMMENT '支付方式:1-余额支付、2-PayPal',
   `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '订单状态:-1-已关闭、0-待支付、1-已支付待确认、2-已完成',
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
-  `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
+  `updated_at` datetime DEFAULT NULL COMMENT '最后一次更新时间',
   PRIMARY KEY (`oid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单信息表';
 
@@ -523,7 +527,7 @@ CREATE TABLE `user_score_log` (
   `created_at` datetime DEFAULT NULL COMMENT '创建日期',
   PRIMARY KEY (`id`),
   KEY `idx` (`user_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -556,7 +560,7 @@ CREATE TABLE `referral_apply` (
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提现申请';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='提现申请';
 
 
 -- ----------------------------
@@ -588,7 +592,7 @@ CREATE TABLE `email_log` (
   `error` text COMMENT '发送失败抛出的异常信息',
   `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='邮件投递记录';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='邮件投递记录';
 
 
 -- ----------------------------
@@ -635,7 +639,7 @@ CREATE TABLE `user_traffic_daily` (
   PRIMARY KEY (`id`),
   KEY `idx_user` (`user_id`) USING BTREE,
   KEY `idx_user_node` (`user_id`,`node_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -654,7 +658,7 @@ CREATE TABLE `user_traffic_hourly` (
   PRIMARY KEY (`id`),
   KEY `idx_user` (`user_id`) USING BTREE,
   KEY `idx_user_node` (`user_id`,`node_id`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -671,7 +675,7 @@ CREATE TABLE `ss_node_traffic_daily` (
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`),
   KEY `idx_node_id` (`node_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -688,7 +692,7 @@ CREATE TABLE `ss_node_traffic_hourly` (
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`),
   KEY `idx_node_id` (`node_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
 
 -- ----------------------------
@@ -703,7 +707,7 @@ CREATE TABLE `user_ban_log` (
   `created_at` datetime DEFAULT NULL COMMENT ' 创建时间',
   `updated_at` datetime DEFAULT NULL COMMENT '最后更新时间',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户封禁日志';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户封禁日志';
 
 
 -- ----------------------------
@@ -714,7 +718,7 @@ CREATE TABLE `country` (
   `country_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名称',
   `country_code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '代码',
   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 
 -- ----------------------------
 -- Records of country

+ 4 - 0
sql/update/20171214.sql

@@ -0,0 +1,4 @@
+ALTER TABLE `order` ADD COLUMN `goods_id`  int NOT NULL DEFAULT 0 COMMENT '商品ID' AFTER `user_id`;
+ALTER TABLE `order` ADD COLUMN `expire_at` datetime DEFAULT NULL COMMENT '过期时间' AFTER `totalPrice`;
+ALTER TABLE `order` ADD COLUMN `is_expire`  tinyint NOT NULL DEFAULT 0 COMMENT '是否已过期:0-未过期、1-已过期' AFTER `expire_at`;
+