dddmo 5 months ago
parent
commit
1c034bdaba
1 changed files with 58 additions and 49 deletions
  1. 58 49
      app/JsonRpc/OrderService.php

+ 58 - 49
app/JsonRpc/OrderService.php

@@ -2,6 +2,7 @@
 namespace App\JsonRpc;
 
 use App\Model\Ad;
+use App\Model\AdPlace;
 use App\Model\Order;
 use App\Model\OrderAd;
 use App\Model\Website;
@@ -487,70 +488,74 @@ class OrderService implements OrderServiceInterface
         $randomNumber = mt_rand(1000, 9999);
         $ordernum = $randomNumber . $timestamp; // 时间戳与随机数拼接
         // var_dump(($time));
-        $order = [
-            'order_num' => $ordernum,
-            'sttime' => $data['starttime'],
-            'edtime' => $data['endtime'],
-            'user_id' => $data['user_id'],
-            'cttime' => $catetime,
-            'height' => $data['height'],
-            'width' => $data['width'],
-            'days' => $days,
+        Db::beginTransaction();
+        try {
+            $order = [
+                'order_num' => $ordernum,
+                'sttime' => $data['starttime'],
+                'edtime' => $data['endtime'],
+                'user_id' => $data['user_id'],
+                'cttime' => $catetime,
+                'height' => $data['height'],
+                'width' => $data['width'],
+                'days' => $days,
 
-        ];
-        $orderid = Order::insertGetId($order);
-        $adplace = $data['pid'];
-        if (is_array($data['pid'])) {
-            $adplace = AdPlace::whereIn('id', $data['pid'])->select('website_id', 'id')->get();
-            foreach ($adplace as $key => $ads) {
-                $order_ad[$key] = [
+            ];
+            $orderid = Order::insertGetId($order);
+            $adplace = $data['pid'];
+            if (is_array($data['pid'])) {
+                $adplace = AdPlace::whereIn('id', $data['pid'])->select('website_id', 'id')->get();
+                foreach ($adplace as $key => $ads) {
+                    $order_ad[$key] = [
+                        'order_id' => $orderid,
+                        'order_num' => $ordernum,
+                        'name' => $data['name'],
+                        'fromtime' => $data['starttime'],
+                        'totime' => $data['endtime'],
+                        'image_src' => $data['imgsrc'],
+                        'image_url' => $data['imgurl'],
+                        'pid' => $ads['id'],
+                        'website_id' => $ads['website_id'],
+                    ];
+                    // $log = [
+                    //     'order_id' => $orderid,
+                    //     'user_id' => $data['user_id'],
+                    //     'pid' => $ads['id'],
+                    //     'website_id' => $ads['website_id'],
+                    //     'action' => '添加',
+                    //     'time' => $catetime
+                    // ];
+                }
+            } else {
+
+                $order_ad = [
                     'order_id' => $orderid,
                     'order_num' => $ordernum,
                     'name' => $data['name'],
+                    'website_id' => $adplace['website_id'],
                     'fromtime' => $data['starttime'],
                     'totime' => $data['endtime'],
                     'image_src' => $data['imgsrc'],
                     'image_url' => $data['imgurl'],
-                    'pid' => $ads['id'],
-                    'website_id' => $ads['website_id'],
+                    'pid' => $adplace,
                 ];
                 // $log = [
                 //     'order_id' => $orderid,
                 //     'user_id' => $data['user_id'],
-                //     'pid' => $ads['id'],
+                //     'pid' => $adplace,
                 //     'website_id' => $ads['website_id'],
                 //     'action' => '添加',
                 //     'time' => $catetime
                 // ];
             }
-        } else {
-
-            $order_ad = [
-                'order_id' => $orderid,
-                'order_num' => $ordernum,
-                'name' => $data['name'],
-                'website_id' => $adplace['website_id'],
-                'fromtime' => $data['starttime'],
-                'totime' => $data['endtime'],
-                'image_src' => $data['imgsrc'],
-                'image_url' => $data['imgurl'],
-                'pid' => $adplace,
-            ];
-            // $log = [
-            //     'order_id' => $orderid,
-            //     'user_id' => $data['user_id'],
-            //     'pid' => $adplace,
-            //     'website_id' => $ads['website_id'],
-            //     'action' => '添加',
-            //     'time' => $catetime
-            // ];
-        }
         $orderad_id = OrderAd::insert($order_ad);
-
-        // $log = AdLog::insert($log);
-        if (empty($orderid) || !$orderad_id) {
-            return Result::error("添加失败");
+        Db::commit();
+        } catch (\Exception $e) {
+            Db::rollBack();
+            return Result::error($e->getMessage());
         }
+        // $log = AdLog::insert($log);
+       
         $result = [
             'order_id' => $orderid,
             'orderad_id' => $orderad_id,
@@ -626,10 +631,14 @@ class OrderService implements OrderServiceInterface
         date_default_timezone_set('Asia/Shanghai');
         $time = time();
         $timestamp = date('YmdHis', $time);
-        $order = Order::where('id', $data['order_id'])->where('status', 6)->where('edtime', '>=', $timestamp)->update(['status' => 3, 'ad_status' => '3']);
-        $ads = OrderAd::where('order_id', $data['order_id'])->where('status', 6)->where('totime', '>=', $timestamp)->update(['status' => 3]);
-        if (!$order || !$ads) {
-            return Result::error("订单id错误");
+        Db::beginTransaction();
+        try {
+            $order = Order::where('id', $data['order_id'])->where('status', 6)->where('edtime', '>=', $timestamp)->update(['status' => 3, 'ad_status' => '3']);
+            $ads = OrderAd::where('order_id', $data['order_id'])->where('status', 6)->where('totime', '>=', $timestamp)->update(['status' => 3]);
+            Db::commit();
+        } catch (\Exception $e) {
+            Db::rollBack();
+            return Result::error($e->getMessage());
         }
         $result = [
             'order' => $order,