wesmiler 2 дней назад
Родитель
Сommit
7a57b23d7e
2 измененных файлов с 10 добавлено и 3 удалено
  1. 8 2
      app/Services/Api/MemberService.php
  2. 2 1
      app/Services/Api/SettleService.php

+ 8 - 2
app/Services/Api/MemberService.php

@@ -232,6 +232,7 @@ class MemberService extends BaseService
                 $parents = ',1,';
             }
 
+            DB::beginTransaction();
             $data = [
                 'nickname' => $nickname,
                 'openid' => $openid,
@@ -250,14 +251,19 @@ class MemberService extends BaseService
                 'device' => $appSources == 'ios' ? 1 : 2,
             ];
             if (!$userId = $this->model->insertGetId($data)) {
+                DB::rollBack();
                 $this->error = 2018;
                 return false;
             }
 
             // 注册奖励优惠券
-           $coupon = SettleService::make()->registerReward($userId);
-
+           if(!SettleService::make()->registerReward($userId)){
+               DB::rollBack();
+               $this->error = 2018;
+               return false;
+           }
 
+            DB::commit();
         } // 更新登录信息
         else if (!RedisService::get("caches:members:login_{$userId}")) {
             $updateData = [

+ 2 - 1
app/Services/Api/SettleService.php

@@ -14,6 +14,7 @@ namespace App\Services\Api;
 use App\Models\AccountLogModel;
 use App\Models\CouponModel;
 use App\Models\MeetingModel;
+use App\Models\MemberCouponModel;
 use App\Models\StoreModel;
 use App\Services\BaseService;
 use App\Services\ConfigService;
@@ -142,7 +143,7 @@ class SettleService extends BaseService
             'status'=> 1,
         ];
 
-        if(!$id =CouponModel::insertGetId($data)){
+        if(!$id =MemberCouponModel::insertGetId($data)){
             $this->error = '奖励注册优惠券失败';
             return true;
         }