wesmiler 6 дней назад
Родитель
Сommit
993baa45ec
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      app/Services/Api/SettleService.php

+ 10 - 0
app/Services/Api/SettleService.php

@@ -121,11 +121,18 @@ class SettleService extends BaseService
         $couponInfo = CouponModel::where(['id'=>$rewardCouponId,'mark'=>1])
             ->first();
         $status = isset($couponInfo['status'])?$couponInfo['status']:0;
+        $num = isset($couponInfo['num'])?$couponInfo['num']:0;
+        $receivedNum = isset($couponInfo['received_num'])?$couponInfo['received_num']:0;
         if(empty($couponInfo) || $status != 1){
             $this->error = '配置的注册奖励优惠券不存在或无效';
             return true;
         }
 
+        if($num>0 && $receivedNum>=$num){
+            $this->error = '注册奖励优惠券已发放完~';
+            return true;
+        }
+
         $data = [
             'coupon_id'=> $rewardCouponId,
             'user_id'=> $userId,
@@ -148,6 +155,9 @@ class SettleService extends BaseService
             return true;
         }
 
+        // 更新发放统计
+        CouponModel::where(['id'=> $id])->update(['received_num'=>DB::raw("received_num+1"),'update_time'=>time()]);
+
         $data['id'] = $id;
         $data['discount'] = floatval($data['discount']);
         $data['reduce_price'] = floatval($data['reduce_price']);