alroyso hace 8 meses
padre
commit
7d07ea6012

+ 0 - 1
.idea/dataSources.local.xml

@@ -5,7 +5,6 @@
       <database-info product="MySQL" version="5.7.43-log" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c)" dbms="MYSQL" exact-version="5.7.43" exact-driver-version="8.2">
         <extra-name-characters>#@</extra-name-characters>
         <identifier-quote-string>`</identifier-quote-string>
-        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
       </database-info>
       <case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
       <secret-storage>master_key</secret-storage>

+ 1 - 1
app/Http/Controllers/Api/Client/V3Controller.php

@@ -310,7 +310,7 @@ class V3Controller  extends Controller
         }
 
         if ($userinfo["enable"] == 0){
-            return response()->json(['ret' => 446, 'msg' => "账号禁用"], 200);
+            return response()->json(['ret' => 446, 'msg' => "账号禁用,请5分钟后刷新账号或者重新登录"], 200);
         }
 
         //获取节点

+ 1 - 18
app/Models/User.php

@@ -391,25 +391,8 @@ class User extends Authenticatable implements JWTSubject
     public function incrementData(int $data): bool
     {// 添加用户流量
 
-        //用户的 剩余流量
-        $totalTransfer = $this->transfer_enable;
-        $usedTransfer = $this->u + $this->d;
-        $unusedTraffic = $totalTransfer - $usedTransfer; // 计算剩余流量
-
-        // 如果剩余流量为负数,将其设置为0
-        if ($unusedTraffic < 0) {
-            $unusedTraffic = 0;
-            $this->d = 0;
-            $this->u = 0;
-        }
-        // 用户的使用流量超过总流量就
-        if ($unusedTraffic > $totalTransfer) {
-            $unusedTraffic = 0;
-            $this->d = 0;
-            $this->u = 0;
-        }
 
-        $this->transfer_enable = $data + $unusedTraffic;
+        $this->transfer_enable = $data;
 
         return $this->save();
     }

+ 35 - 10
app/Services/OrderService.php

@@ -87,7 +87,40 @@ class OrderService
     // 激活流量包
     private function activatePackage(): bool
     {
-        if (self::$user->incrementData(self::$goods->traffic * MB)) {
+        $goodsTraffic = self::$goods->traffic * MB;
+        $flow = false;
+        //用户的 剩余流量
+        $totalTransfer = self::$user->transfer_enable;
+        $usedTransfer = self::$user->u + self::$user->d;
+        $unusedTraffic = $totalTransfer - $usedTransfer; // 计算剩余流量
+        Log::info('用户剩余流量'.self::$user->email."加油包流量".flowAutoShow($goodsTraffic)."用户剩余剩余流量".$unusedTraffic."用户总流量".flowAutoShow($totalTransfer));
+        // 如果剩余流量为负数,将其设置为0
+        if ($unusedTraffic < 0) {
+            $unusedTraffic = 0;
+        }
+        // 用户的使用流量超过总流量就
+        if ($unusedTraffic == 0 || $unusedTraffic > $totalTransfer) {
+           // $unusedTraffic = 0;
+            $flow = true;
+            Log::info('用户购买加油包用户超过总流量'.self::$user->email."加油包流量".flowAutoShow($goodsTraffic)."用户剩余剩余流量".flowAutoShow($unusedTraffic)."用户总流量".flowAutoShow($totalTransfer));
+        }
+        else{
+            $goodsTraffic += $totalTransfer;
+        }
+
+        Log::info('用户购买加油包'.self::$user->email.'到期时间'.self::$user->expired_at."流量".flowAutoShow($goodsTraffic)."剩余流量".flowAutoShow($unusedTraffic)."用户总流量".flowAutoShow($totalTransfer));
+
+        $updateData = [
+            'transfer_enable' =>  $goodsTraffic,
+        ];
+
+        if ($flow){
+            $updateData['u'] = 0;
+            $updateData['d'] = 0;
+        }
+
+        $ret = self::$user->update($updateData);
+        if ($ret) {
             return Helpers::addUserTrafficModifyLog(
                 self::$order->user_id,
                 self::$order->id,
@@ -152,20 +185,12 @@ class OrderService
         if ($unusedTraffic < 0) {
             $unusedTraffic = 0;
         }
-        // 用户的使用流量超过总流量就
-        if ($unusedTraffic > $totalTransfer) {
-            $unusedTraffic = 0;
-        }
+
 
         $googstraffic = self::$goods->traffic * MB;
 
         // 套餐流量加上剩余流量
         $countt = $googstraffic + $unusedTraffic;
-        // 如果总流量为负数,将其设置为套餐流量
-        if ($countt < 0) {
-            $countt = $googstraffic;
-        }
-
 
         Log::info('用户购买'.self::$user->email.'到期时间'.self::$user->expired_at."流量".flowAutoShow($countt)."剩余流量".flowAutoShow($unusedTraffic));