diff --git a/Laravel/app/Http/Controllers/TestController.php b/Laravel/app/Http/Controllers/TestController.php index bcc5f87..2ebfa92 100644 --- a/Laravel/app/Http/Controllers/TestController.php +++ b/Laravel/app/Http/Controllers/TestController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Services\OrderService; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -9,6 +10,8 @@ class TestController extends Controller { public function DBtest(){ echo DB::table('users')->count(); + // $order= new OrderService(); + // $order->DepartmentItemCount(33); } public function ApiTest(){ diff --git a/Laravel/app/Services/OrderService.php b/Laravel/app/Services/OrderService.php new file mode 100644 index 0000000..8a5d37c --- /dev/null +++ b/Laravel/app/Services/OrderService.php @@ -0,0 +1,72 @@ +where('id',$id)->first(); + if(!$order) return ['status'=>false,'msg'=>'订单不存在']; + $buy_info=json_decode($order->buy_info,true); + $list=[]; + if($buy_info['combo']['id']<>0){ + $combo_items=DB::table('combo_items')->where(['combo_id'=>$buy_info['combo']['id'],'status'=>1])->get(); + foreach($combo_items as $item){ + $list[]=[ + 'item_id'=>$item->item_id, + 'keshi_name'=>$item->keshi_name, + 'keshi_id'=>$item->keshi_id, + ]; + } + } + if(count($buy_info['items'])>0){ + $item_ids=[]; + foreach($buy_info['items'] as $item){ + $item_ids[]=$item['id']; + } + $itemsInfo=DB::table('items')->whereIn('item_id',$item_ids)->get(); + foreach($itemsInfo as $item){ + $list[]=[ + 'item_id'=>$item->item_id, + 'keshi_name'=>$item->keshi_name, + 'keshi_id'=>$item->keshi_id, + ]; + } + } + if($buy_info['group']['id']<>''){ + $item_ids=[]; + foreach($buy_info['group']['items'] as $item){ + $item_ids[]=$item['id']; + } + $itemsInfo=DB::table('items')->whereIn('item_id',$item_ids)->get(); + foreach($itemsInfo as $item){ + $list[]=[ + 'item_id'=>$item->item_id, + 'keshi_name'=>$item->keshi_name, + 'keshi_id'=>$item->keshi_id, + ]; + } + } + $groupedData = []; + foreach ($list as $key => $item) { + $keshiName = $item['keshi_name']; + if (!isset($groupedData[$keshiName])) { + $groupedData[$keshiName] = []; + } + $groupedData[$keshiName][] = $item; + } + $de_list=[]; + foreach ($groupedData as $key => $item) { + $de_list[]=[ + 'name'=>$key, + 'count'=>count($item), + ]; + } + return ['department_list'=>$de_list,'wait_day'=>"10"]; + + } +}