|
@@ -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));
|
|
|
|