update: fix coupon use

This commit is contained in:
tokumeikoi 2021-11-01 02:31:27 +08:00
parent 6f67096fe3
commit d0947d1aaa
2 changed files with 19 additions and 1 deletions

View File

@ -3,9 +3,12 @@
namespace App\Http\Controllers\Admin\Server; namespace App\Http\Controllers\Admin\Server;
use App\Models\Plan; use App\Models\Plan;
use App\Models\ServerShadowsocks;
use App\Models\ServerTrojan;
use App\Models\ServerV2ray; use App\Models\ServerV2ray;
use App\Models\ServerGroup; use App\Models\ServerGroup;
use App\Models\User; use App\Models\User;
use App\Services\ServerService;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@ -18,8 +21,20 @@ class GroupController extends Controller
'data' => [ServerGroup::find($request->input('group_id'))] 'data' => [ServerGroup::find($request->input('group_id'))]
]); ]);
} }
$serverGroups = ServerGroup::get();
$serverService = new ServerService();
$servers = $serverService->getAllServers();
foreach ($serverGroups as $k => $v) {
$serverGroups[$k]['user_count'] = User::where('group_id', $v['id'])->count();
$serverGroups[$k]['server_count'] = 0;
foreach ($servers as $server) {
if (in_array($v['id'], $server['group_id'])) {
$serverGroups[$k]['server_count'] = $serverGroups[$k]['server_count']+1;
}
}
}
return response([ return response([
'data' => ServerGroup::get() 'data' => $serverGroups
]); ]);
} }

View File

@ -30,6 +30,9 @@ class CouponService
$order->discount_amount = $order->total_amount * ($this->coupon->value / 100); $order->discount_amount = $order->total_amount * ($this->coupon->value / 100);
break; break;
} }
if ($order->discount_amount > $order->total_amount) {
$order->discount_amount = $order->total_amount;
}
if ($this->coupon->limit_use !== NULL) { if ($this->coupon->limit_use !== NULL) {
$this->coupon->limit_use = $this->coupon->limit_use - 1; $this->coupon->limit_use = $this->coupon->limit_use - 1;
if (!$this->coupon->save()) { if (!$this->coupon->save()) {