mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21:46 +08:00 
			
		
		
		
	update: order service
This commit is contained in:
		| @@ -188,21 +188,26 @@ class OrderService | ||||
|     { | ||||
|         $orders = Order::where('user_id', $user->id) | ||||
|             ->where('period', '!=', 'reset_price') | ||||
|             ->where('period', '!=', 'onetime_price') | ||||
|             ->where('status', 3) | ||||
|             ->get() | ||||
|             ->toArray(); | ||||
|         if (!$orders) return; | ||||
|         $orderAmountSum = 0; | ||||
|         $orderMonthSum = 0; | ||||
|         $lastValidateAt = 0; | ||||
|         foreach ($orders as $item) { | ||||
|             if ($item['period'] === 'onetime_price') continue; | ||||
|             $orderMonthSum = self::STR_TO_TIME[$item['period']] + $orderMonthSum; | ||||
|             $period = self::STR_TO_TIME[$item['period']]; | ||||
|             if (strtotime("+{$period} month", $item['created_at']) < time()) continue; | ||||
|             $lastValidateAt = $item['created_at']; | ||||
|             $orderMonthSum = $period + $orderMonthSum; | ||||
|             $orderAmountSum = $orderAmountSum + ($item['total_amount'] + $item['balance_amount'] + $item['surplus_amount'] - $item['refund_amount']); | ||||
|         } | ||||
|         $expiredAtByOrder = strtotime("+{$orderMonthSum} month", $orders[0]['created_at']); | ||||
|         if (!$lastValidateAt) return; | ||||
|         $expiredAtByOrder = strtotime("+{$orderMonthSum} month", $lastValidateAt); | ||||
|         if ($expiredAtByOrder < time()) return; | ||||
|         $orderSurplusSecond = $expiredAtByOrder - time(); | ||||
|         $orderRangeSecond = $expiredAtByOrder - $orders[0]['created_at']; | ||||
|         $orderRangeSecond = $expiredAtByOrder - $lastValidateAt; | ||||
|         $avgPrice = $orderAmountSum / $orderRangeSecond; | ||||
|         $orderSurplusAmount = $avgPrice * $orderSurplusSecond; | ||||
|         if (!$orderSurplusSecond || !$orderSurplusAmount) return; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user