فهرست منبع

RWA赠送优化

xiaodong 2 روز پیش
والد
کامیت
45b358242f
1فایلهای تغییر یافته به همراه55 افزوده شده و 45 حذف شده
  1. 55 45
      application/api/controller/Chabao.php

+ 55 - 45
application/api/controller/Chabao.php

@@ -154,57 +154,67 @@ class Chabao extends Api
     public function give_rwa_goods_list()
     {
 
-        $userModel = new UserModel();
-        $order_model = new ProductOrder();
-        $data = $this->params['data'];
-        $mobile_list = array_column($data, 'mobile');
-        $order_id_arr = array_column($data, 'order_id');
-        $order_id_arr = array_map(function($item) {
-            return 'CFB_' . $item; // 自动将数字转为字符串
-        }, $order_id_arr);
-        
-        $user = $userModel->whereIn('phone', $mobile_list)->field('phone,id')->select();
-        $product_arr = $order_model->whereIn('order_id', $order_id_arr)->column('order_id');
-        $add_data=[];
-        $ret_data=[];
-        foreach ($data as &$item) {
+        Db::startTrans();
+        try {
             
-            $item_order_id='CFB_'.$item['order_id'];
-            if(!in_array($item_order_id,$product_arr)){
-                foreach($user as &$item_1){
-                    if($item['mobile']==$item_1['phone']){
-                        $ret = $order_model->setGiverwagoods('CFB_'.$item['order_id'], 0, $item['product_id'], $item_1['id'], $order_model::Airdrop);
-                        $add_data[]=$ret;
-                        // if ($ret) {
-                        //     $item['gift_record_type'] = 1;
-                        //     $item['reason'] = '赠送RWA茶成功';
+            $userModel = new UserModel();
+            $order_model = new ProductOrder();
+            $data = $this->params['data'];
+            $mobile_list = array_column($data, 'mobile');
+            $order_id_arr = array_column($data, 'order_id');
+            $order_id_arr = array_map(function($item) {
+                return 'CFB_' . $item; // 自动将数字转为字符串
+            }, $order_id_arr);
+            
+            $user = $userModel->whereIn('phone', $mobile_list)->field('phone,id')->select();
+            $product_arr = $order_model->whereIn('order_id', $order_id_arr)->column('order_id');
+            $add_data=[];
+            $ret_data=[];
+            foreach ($data as &$item) {
+                
+                $item_order_id='CFB_'.$item['order_id'];
+                if(!in_array($item_order_id,$product_arr)){
+                    foreach($user as &$item_1){
+                        if($item['mobile']==$item_1['phone']){
+                            $ret = $order_model->setGiverwagoods('CFB_'.$item['order_id'], 0, $item['product_id'], $item_1['id'], $order_model::Airdrop);
+                            $add_data[]=$ret;
+                            // if ($ret) {
+                            //     $item['gift_record_type'] = 1;
+                            //     $item['reason'] = '赠送RWA茶成功';
+                                
+                            // } else {
+                            //     $item['gift_record_type'] = 0;
+                            //     $item['reason'] = '赠送RWA茶失败';
+                            // }
+                            $item['gift_record_type'] = 1;
+                            $item['reason'] = '赠送RWA茶成功';
+                            break;
+                        }else{
+                            $item['gift_record_type'] = 2;
+                            $item['reason'] = '手机号未注册';
                             
-                        // } else {
-                        //     $item['gift_record_type'] = 0;
-                        //     $item['reason'] = '赠送RWA茶失败';
-                        // }
-                        $item['gift_record_type'] = 1;
-                        $item['reason'] = '赠送RWA茶成功';
-                        break;
-                    }else{
-                        $item['gift_record_type'] = 2;
-                        $item['reason'] = '手机号未注册';
-                        
+                        }
                     }
+                    $item['order_id']=(int)$item['order_id'];
+                    $ret_data[]=$item;
+                }else{
+                    // $item['order_id']=(int)$item['order_id'];
+                    // $item['gift_record_type'] = 3;
+                    // $item['reason'] = '已经赠送';
                 }
-                $item['order_id']=(int)$item['order_id'];
-                $ret_data[]=$item;
-            }else{
-                // $item['order_id']=(int)$item['order_id'];
-                // $item['gift_record_type'] = 3;
-                // $item['reason'] = '已经赠送';
+                
             }
+            $order_model->saveAll($add_data);
+            unset($mobile_list);
+            unset($user);
+    
+            $this->success('赠送RWA茶', $ret_data);
             
+            Db::commit();
+        } catch (Exception $e) {
+            // 回滚事务
+            Db::rollback();
+            Log::error($e->getMessage(),'赠送RWA失败');
         }
-        $order_model->saveAll($add_data);
-        unset($mobile_list);
-        unset($user);
-
-        $this->success('赠送RWA茶', $ret_data);
     }
 }