Prechádzať zdrojové kódy

1.修正在线支付优惠券可重复使用BUG
2.v2ray api
3.语言包修正

bingo 7 rokov pred
rodič
commit
8efc91d0f7

+ 12 - 3
app/Console/Commands/AutoCloseOrderJob.php

@@ -2,6 +2,7 @@
 
 namespace App\Console\Commands;
 
+use App\Http\Models\Coupon;
 use App\Http\Models\Order;
 use App\Http\Models\Payment;
 use Illuminate\Console\Command;
@@ -21,13 +22,21 @@ class AutoCloseOrderJob extends Command
     public function handle()
     {
         // 有赞云超过60分钟未支付则自动关闭,我们这则只给30分钟
-        $paymentList = Payment::query()->where('status', 0)->where('created_at', '<=', date("Y-m-d H:i:s", strtotime("-30 minutes")))->get();
+        $paymentList = Payment::query()->with(['order'])->where('status', 0)->where('created_at', '<=', date("Y-m-d H:i:s", strtotime("-30 minutes")))->get();
         if (!$paymentList->isEmpty()) {
             DB::beginTransaction();
             try {
                 foreach ($paymentList as $payment) {
-                    Payment::query()->where('id', $payment->id)->update(['status' => -1]); // 关闭支付单
-                    Order::query()->where('oid', $payment->oid)->update(['status' => -1]); // 关闭订单
+                    // 关闭支付单
+                    Payment::query()->where('id', $payment->id)->update(['status' => -1]);
+
+                    // 关闭订单
+                    Order::query()->where('oid', $payment->oid)->update(['status' => -1]);
+
+                    // 退回优惠券
+                    if ($payment->order->coupon_id) {
+                        Coupon::query()->where('id', $payment->order->coupon_id)->update(['status' => 0]);
+                    }
                 }
 
                 DB::commit();

+ 311 - 0
app/Http/Controllers/Api/V2rayController.php

@@ -0,0 +1,311 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use App\Components\Yzy;
+use App\Http\Controllers\Controller;
+use App\Http\Models\Coupon;
+use App\Http\Models\CouponLog;
+use App\Http\Models\Goods;
+use App\Http\Models\GoodsLabel;
+use App\Http\Models\Order;
+use App\Http\Models\Payment;
+use App\Http\Models\PaymentCallback;
+use App\Http\Models\ReferralLog;
+use App\Http\Models\SsNode;
+use App\Http\Models\User;
+use App\Http\Models\UserLabel;
+use Illuminate\Http\Request;
+use Log;
+use DB;
+
+class V2rayController extends Controller
+{
+    protected static $config;
+
+    function __construct()
+    {
+        self::$config = $this->systemConfig();
+    }
+
+    //V2ray 用户
+    public function users(Request $request)
+    {
+        $node_id = $request->route('id');
+        $ssr_node = SsNode::query()->where('id', $node_id)->first(); // 节点是否存在
+        if ($ssr_node == null) {
+            $res = [
+                "ret" => 0
+            ];
+
+            return Response::json($res, 400);
+        }
+
+        // 找出该节点的标签id
+        $ssr_node_label = SsNodeLabel::query()->where('node_id', $node_id)->pluck('label_id');
+
+        //找出有这个标签的用户
+        $user_with_label = UserLabel::query()->whereIn('label_id', $ssr_node_label)->pluck('user_id');
+
+        //提取用户信息
+        $userids = User::query()->whereIn('id', $user_with_label)->where('enable', 1)->where('id', '<>', self::$config['free_node_users_id'])->pluck('id')->toArray();
+        $users = User::query()->where('id', '<>', self::$config['free_node_users_id'])->select(
+            "id", "username", "passwd", "t", "u", "d", "transfer_enable",
+            "port", "protocol", "obfs", "enable", "expire_time as expire_time_d", "method",
+            "v2ray_uuid", "v2ray_level", "v2ray_alter_id")->get();
+
+        $data = [];
+        foreach ($users as $user) {
+            //datetime 转timestamp
+            $user['switch'] = 1;
+            $user['email'] = $user['username'];
+            $user['expire_time'] = strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+            if (in_array($user->id, $userids)) {
+                $user->enable = 1;
+            } else {
+                $user->enable = 0;
+            }
+
+            //v2ray用户信息
+            $user->v2ray_user = [
+                "uuid"     => $user->v2ray_uuid,
+                "email"    => sprintf("%[email protected]", $user->v2ray_uuid),
+                "alter_id" => $user->v2ray_alter_id,
+                "level"    => $user->v2ray_level,
+            ];
+
+            array_push($data, $user);
+        }
+
+        if (self::$config['is_free_node']) {
+            if (self::$config['free_node_id'] == $node_id) {
+                $user = User::query()->whereIn('id', $user_with_label)->where('id', self::$config['free_node_users_id'])->select(
+                    "id", "enable", "username", "passwd", "t", "u", "d", "transfer_enable",
+                    "port", "protocol", "obfs", "enable", "expire_time as expire_time_d", "method",
+                    "v2ray_uuid", "v2ray_level", "v2ray_alter_id")->first();
+
+                //datetime 转timestamp
+                $user['switch'] = 1;
+                $user['email'] = $user['username'];
+                $user['expire_time'] = strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+
+                //v2ray用户信息
+                $user->v2ray_user = [
+                    "uuid"     => $user->v2ray_uuid,
+                    "email"    => sprintf("%[email protected]", $user->v2ray_uuid),
+                    "alter_id" => $user->v2ray_alter_id,
+                    "level"    => $user->v2ray_level,
+                ];
+
+                array_push($data, $user);
+            }
+        }
+
+        $load = '1';
+        $uptime = time();
+
+        $log = new SsNodeInfo();
+        $log->node_id = $node_id;
+        $log->load = $load;
+        $log->uptime = $uptime;
+        $log->log_time = time();
+        $log->save();
+
+        $res = [
+            'msg'  => 'ok',
+            'data' => $data,
+        ];
+
+        return Response::json($res);
+    }
+
+    //写在线用户日志
+    public function onlineUserLog(Request $request)
+    {
+        $node_id = $request->route('id');
+        $count = $request->get('count');
+        $log = new SsNodeOnlineLog();
+        $log->node_id = $node_id;
+        $log->online_user = $count;
+        $log->log_time = time();
+
+        if (!$log->save()) {
+            $res = [
+                "ret" => 0,
+                "msg" => "update failed",
+            ];
+
+            return response()->json($res);
+        }
+
+        $res = [
+            "ret" => 1,
+            "msg" => "ok",
+        ];
+
+        return response()->json($res);
+    }
+
+    //节点信息
+    public function info(Request $request)
+    {
+        $node_id = $request->route('id');
+        $load = $request->get('load');
+        $uptime = $request->get('uptime');
+
+        $log = new SsNodeInfo();
+        $log->node_id = $node_id;
+        $log->load = $load;
+        $log->uptime = $uptime;
+        $log->log_time = time();
+
+        if (!$log->save()) {
+            $res = [
+                "ret" => 0,
+                "msg" => "update failed",
+            ];
+
+            return response()->json($res);
+        }
+
+        $res = [
+            "ret" => 1,
+            "msg" => "ok",
+        ];
+
+        return response()->json($res);
+    }
+
+    //PostTraffic
+    public function postTraffic(Request $request)
+    {
+        $nodeId = $request->route('id');
+        $node = SsNode::query()->where('id', $nodeId)->first();
+        $rate = $node->traffic_rate;
+        $input = $request->getContent();
+        $datas = json_decode($input, true);
+
+        foreach ($datas as $data) {
+            $user = User::query()->where('id', $data['user_id'])->first();
+            if (!$user) {
+                continue;
+            }
+
+            $user->t = time();
+            $user->u = $user->u + ($data['u'] * $rate);
+            $user->d = $user->d + ($data['d'] * $rate);
+            $user->save();
+
+            // 写usertrafficlog
+            $totalTraffic = flowAutoShow(($data['u'] + $data['d']) * $rate);
+            $traffic = new UserTrafficLog();
+            $traffic->user_id = $data['user_id'];
+            $traffic->u = $data['u'];
+            $traffic->d = $data['d'];
+            $traffic->node_id = $nodeId;
+            $traffic->rate = $rate;
+            $traffic->traffic = $totalTraffic;
+            $traffic->log_time = time();
+            $traffic->save();
+        }
+
+        $res = [
+            'ret' => 1,
+            "msg" => "ok",
+        ];
+
+        return response()->json($res);
+    }
+
+    //V2ray Users
+    public function v2rayUsers(Request $request)
+    {
+        $node = SsNode::query()->where('id', $request->route('id'))->first();
+        $users = User::query()->where('enable', 1)->where('id', '<>', self::$config['free_node_users_id'])->get();
+
+        $v = new V2rayGenerator();
+        $v->setPort($node->v2ray_port);
+
+        foreach ($users as $user) {
+            $email = sprintf("%[email protected]", $user->v2ray_uuid);
+            $v->addUser($user->v2ray_uuid, $user->v2ray_level, $user->v2ray_alter_id, $email);
+        }
+
+        if (self::$config['is_free_node']) {
+            if ($request->route('id') == self::$config['free_node_id']) {
+                $freeuser = User::query()->where('enable', 1)->where('id', self::$config['free_node_users_id'])->first();
+                $email = sprintf("%[email protected]", $freeuser->v2ray_uuid);
+                $v->addUser($freeuser->v2ray_uuid, $freeuser->v2ray_level, $freeuser->v2ray_alter_id, $email);
+            }
+        }
+
+        return Response::json($v->getArr());
+    }
+
+    //用户列表
+    public function index()
+    {
+        $users= User::query()->where('enable',1)->select(
+            "id","username","passwd","t","u","d","transfer_enable",
+            "port","protocol","obfs","enable","expire_time as expire_time_d","method",
+            "v2ray_uuid","v2ray_level","v2ray_alter_id")->get();
+
+        foreach($users as $user){
+            //datetime 转timestamp
+            $user['switch']=1;
+            $user['email']=$user['username'];
+            $user['expire_time']=strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+        }
+
+        $res = [
+            "data" => $users
+        ];
+
+        return response()->json($res);
+    }
+
+    //更新流量到user表
+    public function addTraffic(Request $request, $response, $args)
+    {
+        $id = $request->route('id');
+        $u = $request->get('u');
+        $d = $request->get('d');
+        $nodeId = $request->get('node_id');
+
+        $node = SsNode::query()->find($nodeId)->get();
+        $rate = $node->traffic_rate;
+
+        $user = User::query()->find($id)->get();
+
+        $user->t = time();
+        $user->u = $user->u + ($u * $rate);
+        $user->d = $user->d + ($d * $rate);
+
+        if (!$user->save()) {
+            $res = [
+                "msg" => "update failed",
+            ];
+
+            return response()->json($res,400);
+        }
+
+        // 写usertrafficlog
+        $totalTraffic = flowAutoShow(($u + $d) * $rate);
+        $traffic = new UserTrafficLog();
+        $traffic->user_id = $id;
+        $traffic->u = $u;
+        $traffic->d = $d;
+        $traffic->node_id = $nodeId;
+        $traffic->rate = $rate;
+        $traffic->traffic = $totalTraffic;
+        $traffic->log_time = time();
+        $traffic->save();
+
+        $res = [
+            'ret' => 1,
+            "msg" => "ok",
+        ];
+
+        return response()->json($res);
+    }
+}

+ 84 - 88
app/Http/Controllers/Muv2/NodeController.php

@@ -1,6 +1,7 @@
 <?php
 
 namespace App\Http\Controllers\Muv2;
+
 use App\Http\Controllers\Controller;
 use App\Http\Models\SsNode;
 use App\Http\Models\SsNodeInfo;
@@ -10,7 +11,6 @@ use App\Http\Models\User;
 use App\Http\Models\UserLabel;
 use App\Http\Models\UserTrafficLog;
 use App\Http\V2ray\V2rayGenerator;
-use App\Mail\resetPassword;
 use Illuminate\Http\Request;
 use Response;
 
@@ -23,73 +23,76 @@ class NodeController extends Controller
     {
         self::$config = $this->systemConfig();
     }
+
     //V2ray 用户
-    public function users(Request $request){
+    public function users(Request $request)
+    {
         $node_id = $request->route('id');
-        $ssr_node = SsNode::query()->where('id',$node_id)->first();//节点是否存在
-        if($ssr_node == null){
+        $ssr_node = SsNode::query()->where('id', $node_id)->first(); // 节点是否存在
+        if ($ssr_node == null) {
             $res = [
                 "ret" => 0
             ];
-            return Response::json($res,400);
+
+            return Response::json($res, 400);
         }
-        //找出该节点的标签id
-        $ssr_node_label = SsNodeLabel::query()
-            ->where('node_id',$node_id)->pluck('label_id');
+
+        // 找出该节点的标签id
+        $ssr_node_label = SsNodeLabel::query()->where('node_id', $node_id)->pluck('label_id');
+
         //找出有这个标签的用户
-        $user_with_label = UserLabel::query()
-            ->whereIn('label_id',$ssr_node_label)->pluck('user_id');
+        $user_with_label = UserLabel::query()->whereIn('label_id', $ssr_node_label)->pluck('user_id');
+
         //提取用户信息
-        $userids = User::query()->whereIn('id',$user_with_label)
-            ->where('enable',1)->where('id','<>',self::$config['free_node_users_id'])->pluck('id')->toArray();
-
-        $users = User::query()->where('id','<>',self::$config['free_node_users_id'])
-            ->select(
-            "id","username","passwd","t","u","d","transfer_enable",
-            "port","protocol","obfs","enable","expire_time as expire_time_d","method",
-            "v2ray_uuid","v2ray_level","v2ray_alter_id")
-            ->get();
+        $userids = User::query()->whereIn('id', $user_with_label)->where('enable', 1)->where('id', '<>', self::$config['free_node_users_id'])->pluck('id')->toArray();
+        $users = User::query()->where('id', '<>', self::$config['free_node_users_id'])->select(
+                "id", "username", "passwd", "t", "u", "d", "transfer_enable",
+                "port", "protocol", "obfs", "enable", "expire_time as expire_time_d", "method",
+                "v2ray_uuid", "v2ray_level", "v2ray_alter_id")->get();
+
         $data = [];
-        foreach($users as $user){
+        foreach ($users as $user) {
             //datetime 转timestamp
-            $user['switch']=1;
-            $user['email']=$user['username'];
-            $user['expire_time']=strval((new \DateTime($user['expire_time_d']))->getTimestamp());
-            if(in_array($user->id,$userids)){
+            $user['switch'] = 1;
+            $user['email'] = $user['username'];
+            $user['expire_time'] = strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+            if (in_array($user->id, $userids)) {
                 $user->enable = 1;
-            }
-            else{
+            } else {
                 $user->enable = 0;
             }
+
             //v2ray用户信息
             $user->v2ray_user = [
-                "uuid" => $user->v2ray_uuid,
-                "email" => sprintf("%[email protected]", $user->v2ray_uuid),
+                "uuid"     => $user->v2ray_uuid,
+                "email"    => sprintf("%[email protected]", $user->v2ray_uuid),
                 "alter_id" => $user->v2ray_alter_id,
-                "level" => $user->v2ray_level,
-                ];
+                "level"    => $user->v2ray_level,
+            ];
+
             array_push($data, $user);
         }
-        if(self::$config['is_free_node']){
-            if(self::$config['free_node_id'] == $node_id){
-                $user = User::query()->whereIn('id',$user_with_label)
-                    ->where('id', self::$config['free_node_users_id'])
-                    ->select(
-                        "id","enable","username","passwd","t","u","d","transfer_enable",
-                        "port","protocol","obfs","enable","expire_time as expire_time_d","method",
-                        "v2ray_uuid","v2ray_level","v2ray_alter_id")
-                    ->first();
+
+        if (self::$config['is_free_node']) {
+            if (self::$config['free_node_id'] == $node_id) {
+                $user = User::query()->whereIn('id', $user_with_label)->where('id', self::$config['free_node_users_id'])->select(
+                        "id", "enable", "username", "passwd", "t", "u", "d", "transfer_enable",
+                        "port", "protocol", "obfs", "enable", "expire_time as expire_time_d", "method",
+                        "v2ray_uuid", "v2ray_level", "v2ray_alter_id")->first();
+
                 //datetime 转timestamp
-                $user['switch']=1;
-                $user['email']=$user['username'];
-                $user['expire_time']=strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+                $user['switch'] = 1;
+                $user['email'] = $user['username'];
+                $user['expire_time'] = strval((new \DateTime($user['expire_time_d']))->getTimestamp());
+
                 //v2ray用户信息
                 $user->v2ray_user = [
-                    "uuid" => $user->v2ray_uuid,
-                    "email" => sprintf("%[email protected]", $user->v2ray_uuid),
+                    "uuid"     => $user->v2ray_uuid,
+                    "email"    => sprintf("%[email protected]", $user->v2ray_uuid),
                     "alter_id" => $user->v2ray_alter_id,
-                    "level" => $user->v2ray_level,
+                    "level"    => $user->v2ray_level,
                 ];
+
                 array_push($data, $user);
             }
         }
@@ -105,32 +108,37 @@ class NodeController extends Controller
         $log->save();
 
         $res = [
-            'msg' => 'ok',
+            'msg'  => 'ok',
             'data' => $data,
         ];
+
         return Response::json($res);
     }
 
     //写在线用户日志
     public function onlineUserLog(Request $request)
     {
-        $node_id =$request->route('id');
+        $node_id = $request->route('id');
         $count = $request->get('count');
         $log = new SsNodeOnlineLog();
         $log->node_id = $node_id;
         $log->online_user = $count;
         $log->log_time = time();
+
         if (!$log->save()) {
             $res = [
                 "ret" => 0,
                 "msg" => "update failed",
             ];
+
             return response()->json($res);
         }
+
         $res = [
             "ret" => 1,
             "msg" => "ok",
         ];
+
         return response()->json($res);
     }
 
@@ -146,37 +154,46 @@ class NodeController extends Controller
         $log->load = $load;
         $log->uptime = $uptime;
         $log->log_time = time();
+
         if (!$log->save()) {
             $res = [
                 "ret" => 0,
                 "msg" => "update failed",
             ];
+
             return response()->json($res);
         }
+
         $res = [
             "ret" => 1,
             "msg" => "ok",
         ];
+
         return response()->json($res);
     }
 
     //PostTraffic
-    public function postTraffic(Request $request){
+    public function postTraffic(Request $request)
+    {
         $nodeId = $request->route('id');
-        $node = SsNode::query()->where('id',$nodeId)->first();
+        $node = SsNode::query()->where('id', $nodeId)->first();
         $rate = $node->traffic_rate;
         $input = $request->getContent();
         $datas = json_decode($input, true);
-        foreach ($datas as $data){
-            $user = User::query()->where('id',$data['user_id'])->first();
-            if(!$user){continue;}
+
+        foreach ($datas as $data) {
+            $user = User::query()->where('id', $data['user_id'])->first();
+            if (!$user) {
+                continue;
+            }
+
             $user->t = time();
             $user->u = $user->u + ($data['u'] * $rate);
             $user->d = $user->d + ($data['d'] * $rate);
             $user->save();
 
             // 写usertrafficlog
-            $totalTraffic = self::flowAutoShow(($data['u'] + $data['d']) * $rate);
+            $totalTraffic = flowAutoShow(($data['u'] + $data['d']) * $rate);
             $traffic = new UserTrafficLog();
             $traffic->user_id = $data['user_id'];
             $traffic->u = $data['u'];
@@ -186,59 +203,38 @@ class NodeController extends Controller
             $traffic->traffic = $totalTraffic;
             $traffic->log_time = time();
             $traffic->save();
-
         }
+
         $res = [
             'ret' => 1,
             "msg" => "ok",
         ];
+
         return response()->json($res);
     }
 
     //V2ray Users
-    public function v2rayUsers(Request $request){
-        $node = SsNode::query()->where('id',$request->route('id'))->first();
-        $users = User::query()->where('enable',1)->where('id','<>',self::$config['free_node_users_id'])->get();
+    public function v2rayUsers(Request $request)
+    {
+        $node = SsNode::query()->where('id', $request->route('id'))->first();
+        $users = User::query()->where('enable', 1)->where('id', '<>', self::$config['free_node_users_id'])->get();
+
         $v = new V2rayGenerator();
         $v->setPort($node->v2ray_port);
-        foreach ($users as $user){
+
+        foreach ($users as $user) {
             $email = sprintf("%[email protected]", $user->v2ray_uuid);
             $v->addUser($user->v2ray_uuid, $user->v2ray_level, $user->v2ray_alter_id, $email);
         }
-        if(self::$config['is_free_node']){
-            if($request->route('id') == self::$config['free_node_id']){
-                $freeuser = User::query()->where('enable',1)->where('id',self::$config['free_node_users_id'])->first();
+
+        if (self::$config['is_free_node']) {
+            if ($request->route('id') == self::$config['free_node_id']) {
+                $freeuser = User::query()->where('enable', 1)->where('id', self::$config['free_node_users_id'])->first();
                 $email = sprintf("%[email protected]", $freeuser->v2ray_uuid);
                 $v->addUser($freeuser->v2ray_uuid, $freeuser->v2ray_level, $freeuser->v2ray_alter_id, $email);
             }
         }
-        return Response::json($v->getArr());
-    }
 
-    /**
-     * 根据流量值自动转换单位输出
-     * @param int $value
-     * @return string
-     */
-    public static function flowAutoShow($value = 0)
-    {
-        $kb = 1024;
-        $mb = 1048576;
-        $gb = 1073741824;
-        $tb = $gb * 1024;
-        $pb = $tb * 1024;
-        if (abs($value) > $pb) {
-            return round($value / $pb, 2) . "PB";
-        } elseif (abs($value) > $tb) {
-            return round($value / $tb, 2) . "TB";
-        } elseif (abs($value) > $gb) {
-            return round($value / $gb, 2) . "GB";
-        } elseif (abs($value) > $mb) {
-            return round($value / $mb, 2) . "MB";
-        } elseif (abs($value) > $kb) {
-            return round($value / $kb, 2) . "KB";
-        } else {
-            return round($value, 2) . "B";
-        }
+        return Response::json($v->getArr());
     }
 }

+ 11 - 35
app/Http/Controllers/Muv2/UserController.php

@@ -3,14 +3,9 @@
 namespace App\Http\Controllers\Muv2;
 use App\Http\Controllers\Controller;
 use App\Http\Models\SsNode;
-use App\Http\Models\SsNodeInfo;
-use App\Http\Models\SsNodeLabel;
-use App\Http\Models\SsNodeOnlineLog;
 use App\Http\Models\User;
-use App\Http\Models\UserLabel;
 use App\Http\Models\UserTrafficLog;
 use Illuminate\Http\Request;
-use Response;
 
 class UserController extends Controller
 {
@@ -20,17 +15,19 @@ class UserController extends Controller
         $users= User::query()->where('enable',1)->select(
             "id","username","passwd","t","u","d","transfer_enable",
             "port","protocol","obfs","enable","expire_time as expire_time_d","method",
-            "v2ray_uuid","v2ray_level","v2ray_alter_id")
-            ->get();
+            "v2ray_uuid","v2ray_level","v2ray_alter_id")->get();
+
         foreach($users as $user){
             //datetime 转timestamp
             $user['switch']=1;
             $user['email']=$user['username'];
             $user['expire_time']=strval((new \DateTime($user['expire_time_d']))->getTimestamp());
         }
+
         $res = [
             "data" => $users
         ];
+
         return response()->json($res);
     }
 
@@ -41,21 +38,26 @@ class UserController extends Controller
         $u = $request->get('u');
         $d = $request->get('d');
         $nodeId = $request->get('node_id');
+
         $node = SsNode::query()->find($nodeId)->get();
         $rate = $node->traffic_rate;
+
         $user = User::query()->find($id)->get();
 
         $user->t = time();
         $user->u = $user->u + ($u * $rate);
         $user->d = $user->d + ($d * $rate);
+
         if (!$user->save()) {
             $res = [
                 "msg" => "update failed",
             ];
+
             return response()->json($res,400);
         }
+
         // 写usertrafficlog
-        $totalTraffic = self::flowAutoShow(($u + $d) * $rate);
+        $totalTraffic = flowAutoShow(($u + $d) * $rate);
         $traffic = new UserTrafficLog();
         $traffic->user_id = $id;
         $traffic->u = $u;
@@ -70,33 +72,7 @@ class UserController extends Controller
             'ret' => 1,
             "msg" => "ok",
         ];
-        return response()->json($res);
-    }
 
-    /**
-     * 根据流量值自动转换单位输出
-     * @param int $value
-     * @return string
-     */
-    public static function flowAutoShow($value = 0)
-    {
-        $kb = 1024;
-        $mb = 1048576;
-        $gb = 1073741824;
-        $tb = $gb * 1024;
-        $pb = $tb * 1024;
-        if (abs($value) > $pb) {
-            return round($value / $pb, 2) . "PB";
-        } elseif (abs($value) > $tb) {
-            return round($value / $tb, 2) . "TB";
-        } elseif (abs($value) > $gb) {
-            return round($value / $gb, 2) . "GB";
-        } elseif (abs($value) > $mb) {
-            return round($value / $mb, 2) . "MB";
-        } elseif (abs($value) > $kb) {
-            return round($value / $kb, 2) . "KB";
-        } else {
-            return round($value, 2) . "B";
-        }
+        return response()->json($res);
     }
 }

+ 5 - 0
app/Http/Controllers/PaymentController.php

@@ -117,6 +117,11 @@ class PaymentController extends Controller
             $payment->status = 0;
             $payment->save();
 
+            // 优惠券置为已使用
+            if (!empty($coupon)) {
+                Coupon::query()->where('id', $coupon->id)->update(['status' => 1]);
+            }
+
             DB::commit();
 
             return Response::json(['status' => 'success', 'data' => $sn, 'message' => '创建支付单成功']);

+ 8 - 8
resources/lang/en/home.php

@@ -38,11 +38,11 @@ return [
     'account_reset_notice'            => ' reset bandwidth on day :reset_day of each month',
     'article_title'                   => 'Article List',
     'recharge'                        => 'Recharge',
-    'enabled'                         => 'normal',
-    'disabled'                        => 'disabled',
-    'never_used'                      => 'never used',
-    'expired'                         => 'expired',
-    'never_loggedin'                  => 'never logged in',
+    'enabled'                         => 'Normal',
+    'disabled'                        => 'Disabled',
+    'never_used'                      => 'Never Used',
+    'expired'                         => 'Expired',
+    'never_loggedin'                  => 'Never logged in',
     'announcement'                    => 'Announcement',
     'recharge_balance'                => 'Recharge Balance',
     'payment_method'                  => 'charge method',
@@ -54,8 +54,8 @@ return [
     'please_input_coupon'             => 'Please input the coupon code',
     'scan_qrcode'                     => 'Scan qrcode with your client',
     'setting_info'                    => 'Setting Information',
-    'ratio'                           => 'traffic  ratio',
-    'coupon_not_empty'                => 'coupon code can not be empty',
+    'ratio'                           => 'traffic ratio',
+    'coupon_not_empty'                => 'Coupon code can not be empty',
     'recharging'                      => 'Recharging...',
     'error_response'                  => 'Error reponse, please retry',
     'error'                           => 'Error',
@@ -125,7 +125,7 @@ return [
     'invoice_table_name'              => 'Service',
     'invoice_table_price'             => 'Amount',
     'invoice_table_create_date'       => 'Created On',
-	'invoice_table_expire_at'		  => 'Expiry time',	
+    'invoice_table_expire_at' 	      => 'Expire Time',
     'invoice_table_status'            => 'Status',
     'invoice_table_none'              => 'None Data',
     'invoice_table_closed'            => 'Closed',

+ 1 - 1
resources/lang/ja/home.php

@@ -125,7 +125,7 @@ return [
     'invoice_table_name'              => 'サービス',
     'invoice_table_price'             => '金額',
     'invoice_table_create_date'       => '購入日',
-	'invoice_table_expire_at'		  => '有効期限',	
+    'invoice_table_expire_at'         => '有効期限',
     'invoice_table_status'            => '状態',
     'invoice_table_none'              => 'データなし',
     'invoice_table_closed'            => '閉鎖された',

+ 1 - 1
resources/lang/ko/home.php

@@ -123,7 +123,7 @@ return [
     'invoice_table_name'              => '서버스',
     'invoice_table_price'             => '금액',
     'invoice_table_create_date'       => '구입일자',
-	'invoice_table_expire_at'		  => '만료 시간',
+    'invoice_table_expire_at'         => '만료 시간',
     'invoice_table_status'            => '상태',
     'invoice_table_none'              => '데이터 없음',
     'invoice_table_closed'            => '닫혔어',

+ 1 - 1
resources/lang/zh-CN/home.php

@@ -125,7 +125,7 @@ return [
     'invoice_table_name'              => '服务',
     'invoice_table_price'             => '金额',
     'invoice_table_create_date'       => '购买日期',
-	'invoice_table_expire_at'		  => '到期时间',
+    'invoice_table_expire_at'         => '到期时间',
     'invoice_table_status'            => '状态',
     'invoice_table_none'              => '暂无数据',
     'invoice_table_closed'            => '关闭',

+ 1 - 1
resources/lang/zh-tw/home.php

@@ -125,7 +125,7 @@ return [
     'invoice_table_name'              => '服務',
     'invoice_table_price'             => '金額',
     'invoice_table_create_date'       => '購買日期',
-	'invoice_table_expire_at'		  => '到期時間',
+    'invoice_table_expire_at'         => '到期時間',
     'invoice_table_status'            => '狀態',
     'invoice_table_none'              => '暫無數據',
     'invoice_table_closed'            => '關閉',

+ 1 - 0
resources/views/user/addOrder.blade.php

@@ -109,6 +109,7 @@
 
                         $(".grand-total").text("¥" + total_price);
                     } else {
+                        $(".grand-total").text("¥" + goods_price);
                         $("#coupon_sn").parent().addClass('has-error');
                         $("#coupon_sn").parent().remove('.input-group-addon');
                         $("#coupon_sn").parent().prepend('<span class="input-group-addon"><i class="fa fa-remove fa-fw"></i></span>');