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, 'keshi_id'=>$item[0]['keshi_id'], 'count'=>count($item), ]; } return ['department_list'=>$de_list,'wait_day'=>"10"]; } public function Cancel($orderInfo) { $person=DB::table('web_user_person')->where(['id' => $orderInfo->person_id])->first(); $now_datetime=date('Y-m-d H:i:s'); //调用接口恢复积分和预存款 $env=config('app.globals.Env'); $AspNet=new AspNetZhuanController(); $jifen_huifu_status=true; $yucunkuan_huifu_status=true; $yyid=$orderInfo->hospital_id; if($yyid==1) $yyid=6; if($env=='pro') { //如果是正式环境 if($orderInfo->jifen>0 and $orderInfo->is_refund_jifen==0) { $jifen_huifu_status=false; $jifen_huifu_status= $AspNet::UseJiFen($person->ghzid,$orderInfo->jifen,$yyid,$orderInfo->id,'tj_h5','抵扣体检H5订单',$now_datetime); if( $jifen_huifu_status===true){ DB::table('orders')->where('id',$orderInfo->id)->update(['is_refund_jifen'=>1]); } } if($orderInfo->yucunkuan>0 and $orderInfo->is_refund_yucunkuan==0) { $yucunkuan_huifu_status=false; $yucunkuan_huifu_status= $AspNet::UseYuCunKuan($person->ghzid,$orderInfo->yucunkuan,$yyid,0,$orderInfo->id,'tj_h5','抵扣体检H5订单',$now_datetime); if($yucunkuan_huifu_status===true){ DB::table('orders')->where('id',$orderInfo->id)->update(['is_refund_yucunkuan'=>1]); } } } DB::table('orders')->where(['id' => $orderInfo->id,'status'=>1])->update([ 'status' => 3 ]); //恢复号源 $up_plan = DB::table('plans')->where(['id' => $orderInfo->plan_id, 'status' => 2])->update([ 'status' => 1 ]); return true; } }