coupon plan limit

This commit is contained in:
Tokumeikoi
2020-06-13 23:27:43 +08:00
parent 3cdfc69b5d
commit bbb42c0d46
6 changed files with 36 additions and 21 deletions

View File

@ -12,22 +12,21 @@ class CouponController extends Controller
{
public function fetch(Request $request)
{
$coupons = Coupon::all();
foreach ($coupons as $k => $v) {
if ($coupons[$k]['limit_plan_ids']) $coupons[$k]['limit_plan_ids'] = json_decode($coupons[$k]['limit_plan_ids']);
}
return response([
'data' => Coupon::all()
'data' => $coupons
]);
}
public function save(CouponSave $request)
{
$params = $request->only([
'name',
'type',
'value',
'started_at',
'ended_at',
'limit_use'
]);
$params = $request->only(array_keys(CouponSave::RULES));
if (isset($params['limit_plan_ids'])) {
$params['limit_plan_ids'] = json_encode($params['limit_plan_ids']);
}
if (!$request->input('id')) {
$params['code'] = Helper::randomChar(8);
if (!Coupon::create($params)) {

View File

@ -26,6 +26,13 @@ class CouponController extends Controller
if (time() > $coupon->ended_at) {
abort(500, '优惠券已过期');
}
if ($coupon->limit_plan_ids) {
$limitPlanIds = json_decode($coupon->limit_plan_ids);
info($limitPlanIds);
if (!in_array($request->input('plan_id'), $limitPlanIds)) {
abort(500, '这个计划无法使用该优惠码');
}
}
return response([
'data' => $coupon
]);