diff --git a/app/Service/Api/Coupon/HomePopupsService.php b/app/Service/Api/Coupon/HomePopupsService.php index 5fc8e68..43bf1ab 100644 --- a/app/Service/Api/Coupon/HomePopupsService.php +++ b/app/Service/Api/Coupon/HomePopupsService.php @@ -93,22 +93,17 @@ class HomePopupsService extends BaseService $insertData = array_merge($insertData, $copies); - if ($item['appoint_group'] == CouponCode::DISPENSE_APPOINT_GROUP_ALL_PEOPLE) { - $allUpdateData[] = [ - 'id' => $item['id'], - 'receive_count' => $item['receive_count'] +$item['item_count'], - ]; - } else { + if ($item['appoint_group'] != CouponCode::DISPENSE_APPOINT_GROUP_ALL_PEOPLE) { $appointUpdateData[] = [ 'coupon_dispense_id' => $item['id'], 'user_id' => $this->userId, ]; - - $allUpdateData[] = [ - 'id' => $item['id'], - 'receive_count' => $item['receive_count'] +$item['item_count'], - ]; } + + $allUpdateData[] = [ + 'id' => $item['id'], + 'receive_count' => $item['receive_count'] +$item['item_count'], + ]; } if (empty($allUpdateData)) return; @@ -121,7 +116,7 @@ class HomePopupsService extends BaseService } } - Db::transaction(function () use($allUpdateData,$appointUpdateData) { + Db::transaction(function () use($allUpdateData,$appointUpdateData,$insertData) { $appointUpdateFlag = true; if (!empty($appointUpdateData)) { @@ -130,7 +125,9 @@ class HomePopupsService extends BaseService $allUpdateFlag = (new CouponDispenseLog)->update($allUpdateData); - if (!$allUpdateFlag || !$appointUpdateFlag) throw new ErrException('领取失败'); + $insertFlag = (new UserCoupon)->insert($insertData); + + if (!$allUpdateFlag || !$appointUpdateFlag || !$insertFlag) throw new ErrException('领取失败'); }); }