AI 3 月之前
父节点
当前提交
7d2679cf40
共有 1 个文件被更改,包括 49 次插入46 次删除
  1. 49 46
      app/JsonRpc/OrderService.php

+ 49 - 46
app/JsonRpc/OrderService.php

@@ -23,10 +23,10 @@ class OrderService implements OrderServiceInterface
      */
     public function getAD(array $data): array
     {
-        if(!empty($data)){
+        if (!empty($data)) {
             $where = [
 
-                'ad_place.ad_size_id' => $data['ad_size_id']
+                'ad_place.ad_size_id' => $data['ad_size_id'],
             ];
             $start = Carbon::parse($data['starttime']);
             $end = Carbon::parse($data['endtime']);
@@ -89,14 +89,13 @@ class OrderService implements OrderServiceInterface
                 return Result::error("暂无符合您条件的广告位!");
 
             }
-        }else{
+        } else {
             $data = AdSize::get();
-            if(empty($data)){
+            if (empty($data)) {
                 return Result::error('暂无广告尺寸!');
             }
         }
-       
-        
+
         return Result::success($data);
     }
     /**
@@ -135,16 +134,17 @@ class OrderService implements OrderServiceInterface
         $page = isset($data['page']) ? (int) $data['page'] : 1;
         $perPage = isset($data['pagesize']) ? (int) $data['pagesize'] : 10;
 
+        var_dump($data, 'p---------------------');
         // 构建查询条件
         $where = [];
-        if(!empty($data['status'])) {
+        if (!empty($data['status'])) {
             $where = [
                 'order.status' => $data['status'], // 明确指定 order 表的 status 列
             ];
-        } 
+        }
 
         //广告订单状态
-        if(!empty($data['ad_status'])){
+        if (!empty($data['ad_status'])) {
             $where = [
                 'order.ad_status' => $data['ad_status'],
             ];
@@ -156,8 +156,8 @@ class OrderService implements OrderServiceInterface
         }
 
         // 处理时间范围查询
-        $start = $data['sttime']??'';
-        $end = $data['edtime']??'';
+        $start = $data['sttime'] ?? '';
+        $end = $data['edtime'] ?? '';
 
         // 查询数据并分页
         $query = Order::where($where)
@@ -205,13 +205,17 @@ class OrderService implements OrderServiceInterface
                 'order.*',
                 'admin_user.user_name as admin_user_name',
                 'user.user_name as user_name'
+
             )->first();
         if (empty($order)) {
             return Result::error("没有信息数据");
         }
 
         $pid = $order['id'];
-        $ad = OrderAd::where('order_id', $pid)->get();
+        $ad = OrderAd::where('order_id', $pid)
+            ->leftJoin('ad_place as ad', 'order_ad.pid', '=', 'ad.id')
+            ->select('order_ad.*', 'ad.name as ad_name')
+            ->get();
         $order['ad'] = $ad;
         return Result::success($order);
     }
@@ -404,7 +408,7 @@ class OrderService implements OrderServiceInterface
     public function getWebsiteAd(array $data): array
     {
         $where = [
-            'ad_place.ad_size_id' => $data['ad_size_id']
+            'ad_place.ad_size_id' => $data['ad_size_id'],
         ];
         $start = Carbon::parse($data['starttime']);
         $end = Carbon::parse($data['endtime']);
@@ -502,18 +506,18 @@ class OrderService implements OrderServiceInterface
         // $data['pid'] = [15,16];
         $startTime = strtotime($data['starttime']);
         $endTime = strtotime($data['endtime']);
-        $days = ($endTime - $startTime) / (24 * 60 * 60);  //计算共计多少天
+        $days = ($endTime - $startTime) / (24 * 60 * 60); //计算共计多少天
         $price = 0;
-        if(isset($data['pid'])){
-            $ad_price = AdPlace::whereIn('id', $data['pid'])->select('id','price')->get();
-            foreach($ad_price as $v){
-                $price += number_format($v['price']*$days, 2, '.', '');
+        if (isset($data['pid'])) {
+            $ad_price = AdPlace::whereIn('id', $data['pid'])->select('id', 'price')->get();
+            foreach ($ad_price as $v) {
+                $price += number_format($v['price'] * $days, 2, '.', '');
             }
-        }else{
+        } else {
             $price = 0;
         }
         // 确保 $price带有两位小数位数
-        $price = number_format((float)$price, 2, '.', '');   
+        $price = number_format((float) $price, 2, '.', '');
         return Result::success($price);
     }
 
@@ -528,12 +532,12 @@ class OrderService implements OrderServiceInterface
         $time = time();
         $startTime = strtotime($data['starttime']);
         $endTime = strtotime($data['endtime']);
-        $days = ($endTime - $startTime) / (24 * 60 * 60);   //计算共计多少天
+        $days = ($endTime - $startTime) / (24 * 60 * 60); //计算共计多少天
         $timestamp = date('YmdHis', $time);
         $catetime = date('Y-m-d H:i:s', $time);
         $randomNumber = mt_rand(1000, 9999);
         $ordernum = $randomNumber . $timestamp; // 时间戳与随机数拼接
-        $order_size = AdSize::where('id',$data['ad_size_id'])->first();
+        $order_size = AdSize::where('id', $data['ad_size_id'])->first();
         // var_dump(($time));
         Db::beginTransaction();
         try {
@@ -587,7 +591,7 @@ class OrderService implements OrderServiceInterface
         ];
         return Result::success($result);
     }
-    
+
     /**
      * 获取订单列表
      * @param
@@ -602,30 +606,30 @@ class OrderService implements OrderServiceInterface
         if (isset($data['status'])) {
             $where['status'] = $data['status'];
         }
-        $orders = Order::where($where) 
-        ->limit($data['pageSize'])
-        ->offset(($data['page'] - 1) * $data['pageSize'])
-        ->orderBy("updated_at", "desc")
-        ->get()
-        ->all();
+        $orders = Order::where($where)
+            ->limit($data['pageSize'])
+            ->offset(($data['page'] - 1) * $data['pageSize'])
+            ->orderBy("updated_at", "desc")
+            ->get()
+            ->all();
         //订单状态:1:通过;2:驳回;3:撤回;4:修改;5:过期;6:待审核;7:结束
         $count['all'] = Order::where($where)->count();
-        $count['pass'] = Order::where($where)->where('status',1)->count();
-        $count['return'] = Order::where($where)->where('status',2)->count();
-        $count['recall'] = Order::where($where)->where('status',3)->count();
-        $count['update'] = Order::where($where)->where('status',4)->count();
-        $count['fail'] = Order::where($where)->where('status',5)->count();
-        $count['waite'] = Order::where($where)->where('status',6)->count();
-        $count['over'] = Order::where($where)->where('status',7)->count();
-        foreach($orders as $key => $val){
-            $adsnum = OrderAd::where('order_id',$val['id'])->count();
+        $count['pass'] = Order::where($where)->where('status', 1)->count();
+        $count['return'] = Order::where($where)->where('status', 2)->count();
+        $count['recall'] = Order::where($where)->where('status', 3)->count();
+        $count['update'] = Order::where($where)->where('status', 4)->count();
+        $count['fail'] = Order::where($where)->where('status', 5)->count();
+        $count['waite'] = Order::where($where)->where('status', 6)->count();
+        $count['over'] = Order::where($where)->where('status', 7)->count();
+        foreach ($orders as $key => $val) {
+            $adsnum = OrderAd::where('order_id', $val['id'])->count();
             $rep[$key] = $val;
             $rep[$key]['num'] = $adsnum;
         }
         if (empty($rep)) {
             return Result::error("您暂时还没有下单");
         } else {
-            
+
             $data = [
                 'rows' => $rep,
                 'count' => $count,
@@ -643,12 +647,12 @@ class OrderService implements OrderServiceInterface
         $order = Order::where('id', $data['order_id'])->first();
         $orderads = OrderAd::where('order_ad.order_id', $data['order_id'])
             ->leftJoin('website', 'order_ad.website_id', 'website.id')
-            ->leftJoin('ad_place','order_ad.pid','ad_place.id')
-            ->select('order_ad.*', 'website.website_name', 'website.id','ad_place.name')
+            ->leftJoin('ad_place', 'order_ad.pid', 'ad_place.id')
+            ->select('order_ad.*', 'website.website_name', 'website.id', 'ad_place.name')
             ->selectSub('website.id', 'webid')
             ->selectSub('order_ad.id', 'oid')
-            ->selectSub('order_ad.name','adname')
-            ->selectSub('ad_place.name','apname')
+            ->selectSub('order_ad.name', 'adname')
+            ->selectSub('ad_place.name', 'apname')
             ->orderBy("website.id", "asc")
             ->limit($data['pageSize'])
             ->offset(($data['page'] - 1) * $data['pageSize'])
@@ -660,7 +664,7 @@ class OrderService implements OrderServiceInterface
         $result = [
             'order' => $order,
             'orderads' => $orderads,
-            'count' => $count
+            'count' => $count,
         ];
         return Result::success($result);
     }
@@ -687,7 +691,7 @@ class OrderService implements OrderServiceInterface
             'order' => $order,
             'ads' => $ads,
         ];
-        if($order==0){
+        if ($order == 0) {
             return Result::error("此订单不可撤回");
         }
         return Result::success($result);
@@ -722,6 +726,5 @@ class OrderService implements OrderServiceInterface
         }
         return Result::success($order);
     }
-    
 
 }