Ver Fonte

1.推广返利
2.购买流量包后,流量包内的流量加到账号上
3.可以批量生成卡券

zhangjiangbin há 8 anos atrás
pai
commit
945f938e3b

+ 31 - 0
app/Http/Controllers/AdminController.php

@@ -1136,6 +1136,37 @@ TXT;
         return Response::json(['status' => 'success', 'data' => '', 'message' => '设置成功']);
     }
 
+    // 设置注册送流量值
+    public function setReferralTraffic(Request $request)
+    {
+        $value = intval($request->get('value'));
+
+        Config::where('name', 'referral_traffic')->update(['value' => $value]);
+
+        return Response::json(['status' => 'success', 'data' => '', 'message' => '设置成功']);
+    }
+
+    // 设置返利比例
+    public function setReferralPercent(Request $request)
+    {
+        $value = intval($request->get('value'));
+        $value = $value / 100;
+
+        Config::where('name', 'referral_percent')->update(['value' => $value]);
+
+        return Response::json(['status' => 'success', 'data' => '', 'message' => '设置成功']);
+    }
+
+    // 设置返利满多少可提现
+    public function setReferralMoney(Request $request)
+    {
+        $value = intval($request->get('value'));
+
+        Config::where('name', 'referral_money')->update(['value' => $value]);
+
+        return Response::json(['status' => 'success', 'data' => '', 'message' => '设置成功']);
+    }
+
     // 设置微信、支付宝二维码
     public function setQrcode(Request $request)
     {

+ 36 - 18
app/Http/Controllers/CouponController.php

@@ -6,6 +6,8 @@ use App\Http\Models\Coupon;
 use Illuminate\Http\Request;
 use Response;
 use Redirect;
+use DB;
+use Log;
 
 /**
  * 优惠券控制器
@@ -36,17 +38,24 @@ class CouponController extends BaseController
             $name = $request->get('name');
             $type = $request->get('type');
             $usage = $request->get('usage');
+            $num = $request->get('num');
             $amount = $request->get('amount');
             $discount = $request->get('discount');
             $available_start = $request->get('available_start');
             $available_end = $request->get('available_end');
 
-            if ((empty($amount) && empty($discount)) || empty($available_start) || empty($available_end)) {
+            if (empty($num) || (empty($amount) && empty($discount)) || empty($available_start) || empty($available_end)) {
                 $request->session()->flash('errorMsg', '请填写完整');
 
                 return Redirect::back()->withInput();
             }
 
+            if (strtotime($available_start) >= strtotime($available_end)) {
+                $request->session()->flash('errorMsg', '结束日期不能大于开始日期');
+
+                return Redirect::back()->withInput();
+            }
+
             // 商品LOGO
             $logo = '';
             if ($request->hasFile('logo')) {
@@ -57,23 +66,32 @@ class CouponController extends BaseController
                 $logo = $move ? '/upload/image/coupon/' . $logoName : '';
             }
 
-            $obj = new Coupon();
-            $obj->name = $name;
-            $obj->sn = strtoupper($this->makeRandStr(7));
-            $obj->logo = $logo;
-            $obj->type = $type;
-            $obj->usage = $usage;
-            $obj->amount = $amount;
-            $obj->discount = $discount / 10;
-            $obj->available_start = strtotime(date('Y-m-d 0:0:0', strtotime($available_start)));
-            $obj->available_end = strtotime(date('Y-m-d 23:59:59', strtotime($available_end)));
-            $obj->status = 0;
-            $obj->save();
-
-            if ($obj->id) {
-                $request->session()->flash('successMsg', '添加成功');
-            } else {
-                $request->session()->flash('errorMsg', '添加失败');
+            DB::beginTransaction();
+            try {
+                for ($i = 0; $i < $num; $i++) {
+                    $obj = new Coupon();
+                    $obj->name = $name;
+                    $obj->sn = strtoupper($this->makeRandStr(7));
+                    $obj->logo = $logo;
+                    $obj->type = $type;
+                    $obj->usage = $usage;
+                    $obj->amount = empty($amount) ? 0 : $amount;
+                    $obj->discount = empty($discount) ? 0 : $discount / 10;
+                    $obj->available_start = strtotime(date('Y-m-d 0:0:0', strtotime($available_start)));
+                    $obj->available_end = strtotime(date('Y-m-d 23:59:59', strtotime($available_end)));
+                    $obj->status = 0;
+                    $obj->save();
+                }
+
+                DB::commit();
+
+                $request->session()->flash('successMsg', '生成成功');
+            } catch (\Exception $e) {
+                DB::rollBack();
+
+                Log::error('生成优惠券失败:' . $e->getMessage());
+
+                $request->session()->flash('errorMsg', '生成失败:' . $e->getMessage());
             }
 
             return Redirect::to('coupon/addCoupon');

+ 1 - 1
app/Http/Controllers/LoginController.php

@@ -46,7 +46,7 @@ class LoginController extends BaseController
 
                 return Redirect::back();
             } else if ($user->status == 0 && self::$config['is_active_register'] && $user->is_admin == 0) {
-                $request->session()->flash('errorMsg', '账号未激活,请先<a href="/activeUser?username=' . $user->username . '" target="_blank">【激活账号】</a>');
+                $request->session()->flash('errorMsg', '账号未激活,请先<a href="/activeUser?username=' . $user->username . '" target="_blank"><span style="color:#000">【激活账号】</span></a>');
 
                 return Redirect::back()->withInput();
             }

+ 48 - 14
app/Http/Controllers/UserController.php

@@ -9,12 +9,14 @@ use App\Http\Models\Goods;
 use App\Http\Models\Invite;
 use App\Http\Models\Order;
 use App\Http\Models\OrderGoods;
+use App\Http\Models\ReferralLog;
 use App\Http\Models\SsNode;
 use App\Http\Models\SsNodeInfo;
 use App\Http\Models\SsNodeOnlineLog;
 use App\Http\Models\Ticket;
 use App\Http\Models\TicketReply;
 use App\Http\Models\User;
+use App\Http\Models\UserBalanceLog;
 use App\Http\Models\UserScoreLog;
 use App\Http\Models\UserTrafficLog;
 use App\Http\Models\Verify;
@@ -683,13 +685,10 @@ TXT;
                 $totalPrice = $goods->price;
             }
 
-            // 扣减账号余额
+            // 验证账号余额是否充足
             $user = User::where('id', $user['id'])->first();
             if ($user->balance < $totalPrice) {
                 return Response::json(['status' => 'fail', 'data' => '', 'message' => '支付失败:您的余额不足,请先充值']);
-            } else {
-                User::where('id', $user['id'])->decrement('balance', $totalPrice);
-                // TODO:记录日志
             }
 
             // 订单长ID
@@ -697,6 +696,7 @@ TXT;
 
             DB::beginTransaction();
             try {
+                // 生成订单
                 $order = new Order();
                 $order->orderId = $orderId;
                 $order->user_id = $user['id'];
@@ -706,18 +706,35 @@ TXT;
                 $order->status = 2;
                 $order->save();
 
-                if ($order->oid) {
-                    $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->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->save();
+
+                // 扣余额
+                User::where('id', $user['id'])->decrement('balance', $totalPrice);
+
+                // 记录余额操作日志
+                $userBalanceLogObj = new UserBalanceLog();
+                $userBalanceLogObj->user_id = $user['id'];
+                $userBalanceLogObj->order_id = $order->id;
+                $userBalanceLogObj->before = $user->balance;
+                $userBalanceLogObj->after = $user->balance - $totalPrice;
+                $userBalanceLogObj->balance = $totalPrice;
+                $userBalanceLogObj->desc = '购买流量包';
+                $userBalanceLogObj->created_at = date('Y-m-d H:i:s');
+                $userBalanceLogObj->save();
+
+
                 // 优惠券置为已使用
                 if (!empty($coupon)) {
                     if ($coupon->usage == 1) {
@@ -733,6 +750,9 @@ TXT;
                     $couponLogObj->save();
                 }
 
+                // 把流量包内的流量加到账号上
+                User::where('id', $user['id'])->increment('transfer_enable', $goods->traffic);
+
                 DB::commit();
 
                 return Response::json(['status' => 'success', 'data' => '', 'message' => '支付成功']);
@@ -793,4 +813,18 @@ TXT;
         }
     }
 
+    // 推广返利
+    public function referral(Request $request)
+    {
+        // 生成个人推广链接
+        $user = $request->session()->get('user');
+        $view['referral_traffic'] = static::$config['referral_traffic'];
+        $view['referral_percent'] = static::$config['referral_percent'];
+        $view['referral_money'] = static::$config['referral_money'];
+        $view['referralLogList'] = ReferralLog::where('ref_user_id', $user['id'])->paginate();
+        $view['totalAmount'] = ReferralLog::where('ref_user_id', $user['id'])->where('status', 0)->sum('ref_amount');
+        $view['link'] = static::$config['website_url'] . '/?ref=' . $user['id'];
+
+        return Response::view('user/referral', $view);
+    }
 }

+ 2 - 2
app/Http/Models/UserScoreLog.php

@@ -5,8 +5,8 @@ namespace App\Http\Models;
 use Illuminate\Database\Eloquent\Model;
 
 /**
- * 账号积分日志
- * Class Ticket
+ * 账号积分操作日志
+ * Class UserScoreLog
  * @package App\Http\Models
  */
 class UserScoreLog extends Model

+ 1 - 1
resources/views/admin/layouts.blade.php

@@ -135,7 +135,7 @@
                 <li class="nav-item {{in_array(Request::getRequestUri(), ['/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>
+                        <span class="title">券管理</span>
                     </a>
                 </li>
                 <li class="nav-item {{in_array(Request::getRequestUri(), ['/ticket/ticketList', '/ticket/replyTicket']) ? 'active open' : ''}}">

+ 91 - 4
resources/views/admin/system.blade.php

@@ -40,14 +40,17 @@
                                             <a href="#tab_3" data-toggle="tab"> 积分设置 </a>
                                         </li>
                                         <li>
-                                            <a href="#tab_4" data-toggle="tab"> 充值二维码设置 </a>
+                                            <a href="#tab_4" data-toggle="tab"> 推广返利设置 </a>
+                                        </li>
+                                        <li>
+                                            <a href="#tab_5" data-toggle="tab"> 充值二维码设置 </a>
                                         </li>
                                     </ul>
                                 </div>
                                 <div class="portlet-body">
                                     <div class="tab-content">
                                         <div class="tab-pane active" id="tab_1">
-                                            <form action="#" method="post" class="form-horizontal" onsubmit="return do_submit();">
+                                            <form action="#" method="post" class="form-horizontal">
                                                 <div class="portlet-body">
                                                     <div class="form-group">
                                                         <label for="website_name" class="col-md-2 control-label">网站名称</label>
@@ -105,7 +108,7 @@
                                             </form>
                                         </div>
                                         <div class="tab-pane" id="tab_2">
-                                            <form action="#" method="post" class="form-horizontal" onsubmit="return do_submit();">
+                                            <form action="#" method="post" class="form-horizontal">
                                                 <div class="portlet-body">
                                                     <div class="form-group">
                                                         <label for="is_rand_port" class="col-md-2 control-label">随机端口</label>
@@ -161,7 +164,7 @@
                                             </form>
                                         </div>
                                         <div class="tab-pane" id="tab_3">
-                                            <form action="#" method="post" class="form-horizontal" onsubmit="return do_submit();">
+                                            <form action="#" method="post" class="form-horizontal">
                                                 <div class="portlet-body">
                                                     <div class="form-group">
                                                         <label for="login_add_score" class="col-md-2 control-label">登录加积分</label>
@@ -196,6 +199,51 @@
                                             </form>
                                         </div>
                                         <div class="tab-pane" id="tab_4">
+                                            <form action="#" method="post" class="form-horizontal">
+                                                <div class="portlet-body">
+                                                    <div class="form-group">
+                                                        <label for="referral_traffic" class="col-md-2 control-label">注册送流量</label>
+                                                        <div class="col-md-2">
+                                                            <div class="input-group">
+                                                                <input class="form-control" type="text" name="referral_gift_traffic" value="{{$referral_traffic}}" id="referral_traffic" />
+                                                                <span class="input-group-addon">MiB</span>
+                                                                <span class="input-group-btn">
+                                                                    <button class="btn btn-success" type="button" onclick="setReferralTraffic()">修改</button>
+                                                                </span>
+                                                            </div>
+                                                            <span class="help-block"> 根据推广链接注册则送多少流量 </span>
+                                                        </div>
+                                                    </div>
+                                                    <div class="form-group">
+                                                        <label for="referral_percent" class="col-md-2 control-label">返利比例</label>
+                                                        <div class="col-md-2">
+                                                            <div class="input-group">
+                                                                <input class="form-control" type="text" name="referral_percent" value="{{$referral_percent * 100}}" id="referral_percent" />
+                                                                <span class="input-group-addon">%</span>
+                                                                <span class="input-group-btn">
+                                                                    <button class="btn btn-success" type="button" onclick="setReferralPercent()">修改</button>
+                                                                </span>
+                                                            </div>
+                                                            <span class="help-block"> 根据推广链接注册的账号每笔消费推广人可以分成的比例 </span>
+                                                        </div>
+                                                    </div>
+                                                    <div class="form-group">
+                                                        <label for="referral_money" class="col-md-2 control-label">提现限制</label>
+                                                        <div class="col-md-2">
+                                                            <div class="input-group">
+                                                                <input class="form-control" type="text" name="referral_money" value="{{$referral_money}}" id="referral_money" />
+                                                                <span class="input-group-addon">元</span>
+                                                                <span class="input-group-btn">
+                                                                    <button class="btn btn-success" type="button" onclick="setReferralMoney()">修改</button>
+                                                                </span>
+                                                            </div>
+                                                            <span class="help-block"> 满多少元才可以申请提现 </span>
+                                                        </div>
+                                                    </div>
+                                                </div>
+                                            </form>
+                                        </div>
+                                        <div class="tab-pane" id="tab_5">
                                             <form action="{{url('admin/setQrcode')}}" method="post" enctype="multipart/form-data" class="form-horizontal">
                                                 <div class="form-body">
                                                     <div class="portlet-body">
@@ -464,5 +512,44 @@
                 }
             });
         }
+
+        // 设置根据推广链接注册送流量
+        function setReferralTraffic() {
+            var referral_traffic = $("#referral_traffic").val();
+
+            $.post("{{url('admin/setReferralTraffic')}}", {_token:'{{csrf_token()}}', value:referral_traffic}, function (ret) {
+                if (ret.status == 'success') {
+                    bootbox.alert(ret.message, function() {
+                        window.location.reload();
+                    });
+                }
+            });
+        }
+
+        // 设置根据推广链接注册人每产生一笔消费,则推广人可以获得的返利比例
+        function setReferralPercent() {
+            var referral_percent = $("#referral_percent").val();
+
+            $.post("{{url('admin/setReferralPercent')}}", {_token:'{{csrf_token()}}', value:referral_percent}, function (ret) {
+                if (ret.status == 'success') {
+                    bootbox.alert(ret.message, function() {
+                        window.location.reload();
+                    });
+                }
+            });
+        }
+
+        // 设置返利满多少元才可以提现
+        function setReferralMoney() {
+            var referral_money = $("#referral_money").val();
+
+            $.post("{{url('admin/setReferralMoney')}}", {_token:'{{csrf_token()}}', value:referral_money}, function (ret) {
+                if (ret.status == 'success') {
+                    bootbox.alert(ret.message, function() {
+                        window.location.reload();
+                    });
+                }
+            });
+        }
     </script>
 @endsection

+ 32 - 15
resources/views/coupon/addCoupon.blade.php

@@ -11,11 +11,11 @@
         <!-- BEGIN PAGE BREADCRUMB -->
         <ul class="page-breadcrumb breadcrumb">
             <li>
-                <a href="{{url('coupon/couponList')}}">商品优惠券</a>
+                <a href="{{url('coupon/couponList')}}">卡券列表</a>
                 <i class="fa fa-circle"></i>
             </li>
             <li>
-                <a href="{{url('coupon/addCoupon')}}">添加优惠券</a>
+                <a href="{{url('coupon/addCoupon')}}">生成卡券</a>
             </li>
         </ul>
         <!-- END PAGE BREADCRUMB -->
@@ -38,7 +38,7 @@
                 <div class="portlet light form-fit bordered">
                     <div class="portlet-title">
                         <div class="caption">
-                            <span class="caption-subject font-green sbold uppercase">添加优惠券</span>
+                            <span class="caption-subject font-green sbold uppercase">生成卡券</span>
                         </div>
                         <div class="actions"></div>
                     </div>
@@ -47,7 +47,7 @@
                         <form action="{{url('coupon/addCoupon')}}" method="post" enctype="multipart/form-data" class="form-horizontal form-bordered">
                             <div class="form-body">
                                 <div class="form-group">
-                                    <label class="control-label col-md-3">优惠券名称</label>
+                                    <label class="control-label col-md-3">券名称</label>
                                     <div class="col-md-6">
                                         <input type="text" class="form-control" name="name" value="" id="name" placeholder="" required>
                                         <input type="hidden" name="_token" value="{{csrf_token()}}" />
@@ -77,11 +77,11 @@
                                     <div class="col-md-6">
                                         <div class="mt-radio-inline">
                                             <label class="mt-radio">
-                                                <input type="radio" name="type" value="1" checked> 现金优惠
+                                                <input type="radio" name="type" value="1" checked> 现金抵用券
                                                 <span></span>
                                             </label>
                                             <label class="mt-radio">
-                                                <input type="radio" name="type" value="2"> 折扣优惠
+                                                <input type="radio" name="type" value="2"> 折扣优惠
                                                 <span></span>
                                             </label>
                                         </div>
@@ -92,30 +92,39 @@
                                     <div class="col-md-6">
                                         <div class="mt-radio-inline">
                                             <label class="mt-radio">
-                                                <input type="radio" name="usage" value="1" checked> 仅限一次性使用
+                                                <input type="radio" name="usage" value="1" id="usage1" checked> 仅限一次性使用
                                                 <span></span>
                                             </label>
-                                            <label class="mt-radio">
-                                                <input type="radio" name="usage" value="2"> 可重复使用
+                                            <label class="mt-radio hide">
+                                                <input type="radio" name="usage" value="2" id="usage2"> 可重复使用
                                                 <span></span>
                                             </label>
                                         </div>
                                     </div>
                                 </div>
+                                <div class="form-group">
+                                    <label class="control-label col-md-3">数量</label>
+                                    <div class="col-md-3">
+                                        <div class="input-group">
+                                            <input type="text" class="form-control" name="num" value="{{Request::old('num')}}" id="num" placeholder="" required>
+                                            <span class="input-group-addon">张</span>
+                                        </div>
+                                    </div>
+                                </div>
                                 <div class="form-group">
                                     <label class="control-label col-md-3">金额</label>
-                                    <div class="col-md-6">
+                                    <div class="col-md-3">
                                         <div class="input-group">
-                                            <input type="text" class="form-control" name="amount" value="10" id="amount" placeholder="">
+                                            <input type="text" class="form-control" name="amount" value="{{Request::old('amount')}}" id="amount" placeholder="" required>
                                             <span class="input-group-addon">元</span>
                                         </div>
                                     </div>
                                 </div>
                                 <div class="form-group hide">
                                     <label class="control-label col-md-3">折扣</label>
-                                    <div class="col-md-6">
+                                    <div class="col-md-3">
                                         <div class="input-group">
-                                            <input type="text" class="form-control" name="discount" value="" id="discount" placeholder="">
+                                            <input type="text" class="form-control" name="discount" value="{{Request::old('discount')}}" id="discount" placeholder="">
                                             <span class="input-group-addon">折</span>
                                         </div>
                                     </div>
@@ -124,9 +133,9 @@
                                     <label class="control-label col-md-3">有效期</label>
                                     <div class="col-md-6">
                                         <div class="input-group input-large input-daterange">
-                                            <input type="text" class="form-control" name="available_start" id="available_start">
+                                            <input type="text" class="form-control" name="available_start" value="{{Request::old('available_start')}}" id="available_start" required>
                                             <span class="input-group-addon"> 至 </span>
-                                            <input type="text" class="form-control" name="available_end" id="available_end">
+                                            <input type="text" class="form-control" name="available_end" value="{{Request::old('available_end')}}" id="available_end" required>
                                         </div>
                                     </div>
                                 </div>
@@ -172,9 +181,17 @@
             if (type == '1') {
                 $("#amount").parent("div").parent("div").parent("div").removeClass("hide");
                 $("#discount").parent("div").parent("div").parent("div").addClass("hide");
+                $("#amount").attr('required', 'required');
+                $("#discount").removeAttr('required');
+                $("#discount").val('');
+                $("#usage2").parent("label").addClass("hide");
             } else {
                 $("#amount").parent("div").parent("div").parent("div").addClass("hide");
                 $("#discount").parent("div").parent("div").parent("div").removeClass("hide");
+                $("#discount").attr('required', 'required');
+                $("#amount").removeAttr('required');
+                $("#amount").val('');
+                $("#usage2").parent("label").removeClass("hide");
             }
         });
     </script>

+ 3 - 3
resources/views/coupon/couponList.blade.php

@@ -16,7 +16,7 @@
         <!-- BEGIN PAGE BREADCRUMB -->
         <ul class="page-breadcrumb breadcrumb">
             <li>
-                <a href="{{url('coupon/couponList')}}">优惠券管理</a>
+                <a href="{{url('coupon/couponList')}}">券管理</a>
                 <i class="fa fa-circle"></i>
             </li>
         </ul>
@@ -29,11 +29,11 @@
                     <div class="portlet-title">
                         <div class="caption font-dark">
                             <i class="icon-list 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">
-                                <button class="btn sbold blue" onclick="addCoupon()"> 新增
+                                <button class="btn sbold blue" onclick="addCoupon()"> 生成
                                     <i class="fa fa-plus"></i>
                                 </button>
                             </div>

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

@@ -29,7 +29,7 @@
                                 <i class="fa fa-warning"></i>
                                 可生成 <strong> {{$num}} </strong> 个邀请码
                             </div>
-                            <button type="submit" class="btn blue" onclick="makeInvite()" @if(!$num) disabled @endif> 生 成 </button>
+                            <button type="button" class="btn blue" onclick="makeInvite()" @if(!$num) disabled @endif> 生 成 </button>
                         </div>
                     </div>
                 </div>

+ 6 - 0
resources/views/user/layouts.blade.php

@@ -144,6 +144,12 @@
                         <span class="title">工单</span>
                     </a>
                 </li>
+                <li class="nav-item {{Request::getRequestUri() == '/user/referral' ? 'active open' : ''}}">
+                    <a href="{{url('user/referral')}}" class="nav-link nav-toggle">
+                        <i class="icon-diamond"></i>
+                        <span class="title">推广返利</span>
+                    </a>
+                </li>
             </ul>
             <!-- END SIDEBAR MENU -->
         </div>

+ 4 - 0
routes/web.php

@@ -51,6 +51,9 @@ Route::group(['middleware' => ['user', 'admin']], function() {
     Route::post('admin/setResetPasswordTimes', 'AdminController@setResetPasswordTimes'); // 设置重置密码次数
     Route::post('admin/setActiveTimes', 'AdminController@setActiveTimes'); // 设置激活账号次数
     Route::post('admin/setAddScoreRange', 'AdminController@setAddScoreRange'); // 设置登录加积分时间间隔
+    Route::post('admin/setReferralTraffic', 'AdminController@setReferralTraffic'); // 设置注册送流量值
+    Route::post('admin/setReferralPercent', 'AdminController@setReferralPercent'); // 设置返利比例
+    Route::post('admin/setReferralMoney', 'AdminController@setReferralMoney'); // 设置返利满多少可提现
     Route::post('admin/setQrcode', 'AdminController@setQrcode'); // 设置充值二维码
     Route::get('admin/makePasswd', 'AdminController@makePasswd'); // 获取随机密码
     Route::get('admin/download', 'AdminController@download'); // 下载转换过的JSON配置
@@ -80,4 +83,5 @@ Route::group(['middleware' => ['user']], function(){
     Route::post('user/makeInvite', 'UserController@makeInvite'); // 生成邀请码
     Route::any('user/profile', 'UserController@profile'); // 修改个人信息
     Route::post('user/exchange', 'UserController@exchange'); // 积分兑换流量
+    Route::get('user/referral', 'UserController@referral'); // 推广返利
 });

+ 25 - 6
sql/db.sql

@@ -230,6 +230,9 @@ INSERT INTO `config` VALUES ('14', 'max_rand_score', 100);
 INSERT INTO `config` VALUES ('15', 'wechat_qrcode', '');
 INSERT INTO `config` VALUES ('16', 'alipay_qrcode', '');
 INSERT INTO `config` VALUES ('17', 'login_add_score_range', 1440);
+INSERT INTO `config` VALUES ('18', 'referral_traffic', 1024);
+INSERT INTO `config` VALUES ('19', 'referral_percent', 0.2);
+INSERT INTO `config` VALUES ('20', 'referral_money', 100);
 
 
 -- ----------------------------
@@ -423,12 +426,28 @@ CREATE TABLE `ticket_reply` (
 -- ----------------------------
 CREATE TABLE `user_score_log` (
   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
-  `user_id` int(11) NOT NULL DEFAULT '0',
-  `before` int(11) NOT NULL DEFAULT '0',
-  `after` int(11) NOT NULL DEFAULT '0',
-  `score` int(11) NOT NULL DEFAULT '0',
-  `desc` varchar(50) NOT NULL DEFAULT '',
-  `created_at` datetime DEFAULT NULL,
+  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '账号ID',
+  `before` int(11) NOT NULL DEFAULT '0' COMMENT '发生前积分',
+  `after` int(11) NOT NULL DEFAULT '0' COMMENT '发生后积分',
+  `score` int(11) NOT NULL DEFAULT '0' COMMENT '发生积分',
+  `desc` varchar(50) DEFAULT '' COMMENT '描述',
+  `created_at` datetime DEFAULT NULL COMMENT '创建日期',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4;
+
+
+-- ----------------------------
+-- Table structure for `user_balance_log`
+-- ----------------------------
+CREATE TABLE `user_balance_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '账号ID',
+  `order_id` int(11) NOT NULL DEFAULT '0' COMMENT '订单ID',
+  `before` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '发生前余额',
+  `after` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '发生后余额',
+  `balance` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '发生金额',
+  `desc` varchar(255) DEFAULT '' COMMENT '描述',
+  `created_at` datetime DEFAULT NULL COMMENT '创建时间',
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;