From 72c30ea1f616486f9b13ea018ad47e85e8c81f64 Mon Sep 17 00:00:00 2001 From: cyc Date: Tue, 16 Jul 2019 14:10:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=81=AB=E8=BD=A6=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=9B=9E=E8=B0=83=E4=BF=A1=E6=81=AF=E7=9A=84=E8=A7=A3?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trainsystem/controllers/callback.php | 163 +++++++++--------- 1 file changed, 85 insertions(+), 78 deletions(-) diff --git a/application/third_party/trainsystem/controllers/callback.php b/application/third_party/trainsystem/controllers/callback.php index e3128fcc..15aeecb3 100644 --- a/application/third_party/trainsystem/controllers/callback.php +++ b/application/third_party/trainsystem/controllers/callback.php @@ -15,11 +15,10 @@ class callback extends CI_Controller{ if(empty($data_post)){ header("HTTP/1.1 404 Not Found"); exit('{"reason":"empty infos","status":"404"}'); - } + } //调试代码 - /*$test_post = '{"data":"{\"from_station_name\":\"\u6b66\u6c49\",\"from_station_code\":\"WHN\",\"to_station_name\":\"\u897f\u5b89\u5317\",\"to_station_code\":\"EAY\",\"train_date\":\"2019-04-13\",\"orderid\":\"JH155317715892154\",\"user_orderid\":\"488123754\",\"orderamount\":\"1363.50\",\"ordernumber\":\"E946949845\",\"checi\":\"G856\",\"msg\":\"\u51fa\u7968\u6210\u529f\",\"status\":\"4\",\"passengers\":[{\"passengerid\":1,\"passengersename\":\"VENOSLEONARDA\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"086925694\",\"price\":\"454.5\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"E946949845102006A\",\"cxin\":\"02\u8f66\u53a2,06A\u5ea7\",\"reason\":0},{\"passengerid\":2,\"passengersename\":\"WAGENSTALLERSANDRA\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"CF7NR17M7\",\"price\":\"454.5\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"E946949845102006B\",\"cxin\":\"02\u8f66\u53a2,06B\u5ea7\",\"reason\":0},{\"passengerid\":3,\"passengersename\":\"WALDMANNSOPHIE\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"CF26Y6FVK\",\"price\":\"454.5\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"E946949845102006C\",\"cxin\":\"02\u8f66\u53a2,06C\u5ea7\",\"reason\":0}],\"refund_money\":null,\"sign\":\"f74013fa24115eeb9a807aa237054920\"}"}'; - + /*$test_post = '{"data":"{\"from_station_name\":\"\u5e73\u9065\u53e4\u57ce\",\"from_station_code\":\"PDV\",\"to_station_name\":\"\u897f\u5b89\u5317\",\"to_station_code\":\"EAY\",\"train_date\":\"2019-08-07\",\"orderid\":\"JH156276521763815\",\"user_orderid\":\"488147132\",\"orderamount\":\"450.00\",\"ordernumber\":\"EC46595444\",\"checi\":\"D2519\",\"msg\":\"\u5904\u7406\u6216\u64cd\u4f5c\u6210\u529f;\u5f85\u652f\u4ed8\",\"status\":\"2\",\"passengers\":[{\"passengerid\":1,\"passengersename\":\"PESCEFRANCESCA\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"YB1095330\",\"price\":\"150.0\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"EC46595444104007A\",\"cxin\":\"04\u8f66\u53a2,07A\u5ea7\",\"reason\":0},{\"passengerid\":2,\"passengersename\":\"FABIANOENRICA\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"YB4853626\",\"price\":\"150.0\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"EC46595444104007B\",\"cxin\":\"04\u8f66\u53a2,07B\u5ea7\",\"reason\":0},{\"passengerid\":3,\"passengersename\":\"PALMIERIGIANMARCO\",\"piaotype\":\"1\",\"piaotypename\":\"\u6210\u4eba\u7968\",\"passporttypeseid\":\"B\",\"passporttypeseidname\":\"\u62a4\u7167\",\"passportseno\":\"YB4464023\",\"price\":\"150.0\",\"zwcode\":\"O\",\"zwname\":\"\u4e8c\u7b49\u5ea7\",\"ticket_no\":\"EC46595444104007C\",\"cxin\":\"04\u8f66\u53a2,07C\u5ea7\",\"reason\":0}],\"refund_money\":null,\"sign\":\"6e32be454c2b3e1545794a9dc895acdb\"}"}'; $data_post["data"] = json_decode($test_post)->data;*/ log_message('error','聚合回调:'.json_encode($data_post)); @@ -37,7 +36,7 @@ class callback extends CI_Controller{ $update_data->ElectronicOrderNumber = $data->ordernumber; $update_data->reschedulecallback = ''; $update_data->ErrorMsg = $data->msg; - + //如果返回2则发送出票请求 if($data->status == "1"){ $update_data->bookcallback = $data_post["data"]; @@ -60,6 +59,7 @@ class callback extends CI_Controller{ } //对订票乘客进行存储 + $data_passager = new stdClass(); $data_passager->ordernumber = $data->orderid; $data_passager->realname = $item->passengersename; $data_passager->identitytype = $item->passporttypeseidname; @@ -71,22 +71,23 @@ class callback extends CI_Controller{ $data_passager->status = '4'; $this->train_system_model->add_passagers($data_passager); } - + + //判断车厢是否唯一,如果不唯一的话,分成两个车厢 if(count(array_unique($coach)) == 1){ $onlycoach = array_unique($coach); - $string .= 'Coach '.$onlycoach[0].','; + $string .= 'Coach '.$onlycoach[0].',Seat '; + foreach($seats as $item_seat){ + $string .= $item_seat.','; + } }else{ + $i = 0; foreach (array_unique($coach) as $item_coach){ - $string .= 'Coach '.$item_coach.','; + $string .= 'Coach '.$item_coach.',seat '.$seats[$i].','; + $i++; } } - $string .= 'Seat '; - foreach($seats as $item_seat){ - $string .= $item_seat.','; - } - $seatinfo = substr($string,0,strlen($string)-1); $update_data->seatsinfo = $seatinfo; @@ -125,7 +126,6 @@ class callback extends CI_Controller{ $passpager_info->ordernumber = $data->orderid; $passpager_info->realname = $p->refundTimeline[count($p->refundTimeline)-1]->detail->passengername; $passpager_info->numberid = $refund_passportseno; - print_r($passpager_info); $this->train_system_model->update_passpager_info($passpager_info); //添加退款记录 @@ -154,9 +154,11 @@ class callback extends CI_Controller{ public function ctripcallback(){ $back_json = file_get_contents('php://input'); log_message('error','携程回调信息:'.$back_json); - //$back_json = '{"@attributes":{"xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"},"Authentication":{"TimeStamp":"2019-07-03 10:21:52","ServiceName":"web.order.notifyTicket","MessageIdentity":"3EB2E92F2105B787DFA590038B402A45","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1562120461","ElectronicOrderNumber":"EE78512679","OrderType":"\u7535\u5b50","OrderTotleFee":"1595.00","TicketInfo":{"OrderTicketFromStation":"\u5317\u4eac\u897f","OrderTicketToStation":"\u897f\u5b89","OrderTicketYMD":"20190719","OrderTicketTime":"20:12","OrderTicketCheci":"Z43","OrderTicketPrice":"797.50","OrderAcceptSeat":{"0":"\n "},"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","SeatNumber":"14\u8f66\u53a203\u53f7\u4e0b\u94fa,14\u8f66\u53a204\u53f7\u4e0a\u94fa","railwayTip":{"0":"\n "},"AuditTicketCount":"2","ChildTicketCount":"0","Passengers":{"Passenger":[{"RealName":"HUEIRENPAN","IdentityType":"\u62a4\u7167","NumberID":"505548383","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"},{"RealName":"HUEIYUANPAN","IdentityType":"\u62a4\u7167","NumberID":"523490332","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"}]}},"TicketInfoFinal":{"OrderTicketFromStation":"\u5317\u4eac\u897f","OrderTicketToStation":"\u897f\u5b89","ChildBillid":{"0":"\n "},"ElectronicOrderNumber":"EE78512679","Result":"2","NoTicketReasons":{"0":"\n "},"OrderTicketYMD":"20190719","OrderTicketTime":"20:12","OrderTicketCheci":"Z43","OrderTicketPrice":"797.50","SeatNumber":"14\u8f66\u53a203\u53f7\u4e0b\u94fa","railwayTip":{"0":"\n "},"TicketCheck":{"0":"\n "},"IsUserAcount":"0","ReturnFlag":"0","RescheduleFlag":"0","Tickets":{"Ticket":[{"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"814.50","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"HUEIRENPAN","IdentityType":"\u62a4\u7167","NumberID":"505548383","SeatNo":"14\u8f66\u53a203\u53f7\u4e0b\u94fa"}}},{"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"780.50","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"HUEIYUANPAN","IdentityType":"\u62a4\u7167","NumberID":"523490332","SeatNo":"14\u8f66\u53a204\u53f7\u4e0a\u94fa"}}}]}}}}}'; + //$back_json = '{"@attributes":{"xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"},"Authentication":{"TimeStamp":"2019-07-10 16:51:16","ServiceName":"web.order.notifyTicket","MessageIdentity":"CBA106151B631581A45D061259BEF1BD","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1562748628718","ElectronicOrderNumber":"EA42448539","OrderType":"\u7535\u5b50","OrderTotleFee":"327.00","TicketInfo":{"OrderTicketFromStation":"\u67f3\u5dde","OrderTicketToStation":"\u5f20\u5bb6\u754c","OrderTicketYMD":"20190808","OrderTicketTime":"21:03","OrderTicketCheci":"K748","OrderTicketPrice":"163.50","OrderAcceptSeat":{"0":"\n "},"OrderTicketSeat":"\u786c\u5367","SeatNumber":"13\u8f66\u53a209\u53f7\u4e0a\u94fa,13\u8f66\u53a210\u53f7\u4e0b\u94fa","railwayTip":{"0":"\n "},"AuditTicketCount":"2","ChildTicketCount":"0","Passengers":{"Passenger":[{"RealName":"ANTONIOTTIDANIELEFRANCESCO","IdentityType":"\u62a4\u7167","NumberID":"YA4279205","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"},{"RealName":"DILELLAVALENTINA","IdentityType":"\u62a4\u7167","NumberID":"YA4279206","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"}]}},"TicketInfoFinal":{"OrderTicketFromStation":"\u67f3\u5dde","OrderTicketToStation":"\u5f20\u5bb6\u754c","ChildBillid":{"0":"\n "},"ElectronicOrderNumber":"EA42448539","Result":"2","NoTicketReasons":{"0":"\n "},"OrderTicketYMD":"20190808","OrderTicketTime":"21:03","OrderTicketCheci":"K748","OrderTicketPrice":"163.50","SeatNumber":"13\u8f66\u53a209\u53f7\u4e0a\u94fa","railwayTip":{"0":"\n "},"TicketCheck":"\u5019\u8f66\u5730\u70b9\uff1a\u68c0\u7968\u53e3\uff1a11B","IsUserAcount":"0","ReturnFlag":"0","RescheduleFlag":"0","Tickets":{"Ticket":[{"OrderTicketSeat":"\u786c\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"158.00","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"ANTONIOTTIDANIELEFRANCESCO","IdentityType":"\u62a4\u7167","NumberID":"YA4279205","SeatNo":"13\u8f66\u53a209\u53f7\u4e0a\u94fa"}}},{"OrderTicketSeat":"\u786c\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"169.00","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"DILELLAVALENTINA","IdentityType":"\u62a4\u7167","NumberID":"YA4279206","SeatNo":"13\u8f66\u53a210\u53f7\u4e0b\u94fa"}}}]}}}}}'; + $ctrip_backdata = json_decode($back_json); - //print_r($ctrip_backdata);die(); + //print_r($ctrip_backdata); + if(!empty($ctrip_backdata)){ $update_data = new stdClass(); $update_data->ServiceName = $ctrip_backdata->Authentication->ServiceName; @@ -184,85 +186,90 @@ class callback extends CI_Controller{ } } - //获取总票数,由于携程接口单人和多人返回的数据结构不一致 - $person_num = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketCount; + $person_num = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->AuditTicketCount + $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->ChildTicketCount; //存储座位信息 转换为英文 $coach_arr = array(); $seats_arr = array(); - $data_passager = new stdClass(); - $string = ''; - $i = 0; + $seatsinfo_arr = array(); + $find = array('车厢','号','上铺','中铺','下铺'); + $replace = array('coach','',' upper',' middle',' lower'); + $seatsinfo = str_replace($find,$replace,$ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->SeatNumber); - if($person_num > 1){ - foreach ($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo as $items){ - if(strpos($items->SeatNo,'车厢')){ - $coach = mb_substr($items->SeatNo,0,strpos($items->SeatNo,'车厢')); - array_push($coach_arr,$coach); - $seat = mb_substr($items->SeatNo,strpos($items->SeatNo,'车厢')+2,mb_strlen($items->SeatNo,'UTF8')); - $find = array('号'); - $replace = array(''); - $seat = str_replace($find,$replace,$seat); - array_push($seats_arr,$seat); - } - - //对订票乘客进行存储 - $data_passager->status = '4'; - $data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber; - $data_passager->realname = $items->PassengerName; - $data_passager->identitytype = $items->IdentityType; - $data_passager->numberid = $items->NumberID; - $data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType; - $data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice; - $data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat; - $data_passager->seatdetail = $items->SeatNo; - $this->train_system_model->add_passagers($data_passager); - $i++; - } - - }else{ - $seatinfo_html = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->SeatNo; - if(strpos($seatinfo_html,'车厢')){ - $coach = mb_substr($seatinfo_html,0,strpos($seatinfo_html,'车厢')); - array_push($coach_arr,$coach); - $seat = mb_substr($seatinfo_html,strpos($seatinfo_html,'车厢')+2,mb_strlen($seatinfo_html,'UTF8')); - $find = array('号'); - $replace = array(''); - $seat = str_replace($find,$replace,$seat); - array_push($seats_arr,$seat); - } - - //对订票乘客进行存储 - $data_passager->status = '4'; - $data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber; - $data_passager->realname = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->PassengerName; - $data_passager->identitytype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->IdentityType; - $data_passager->numberid = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->NumberID; - $data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType; - $data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice; - $data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat; - $data_passager->seatdetail = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->SeatNo; - $this->train_system_model->add_passagers($data_passager); + $seatsinfo_arr = explode(',',$seatsinfo); + + foreach($seatsinfo_arr as $item){ + $coach = mb_substr($item,0,strpos($item,'coach')); + array_push($coach_arr,$coach); + $seat = mb_substr($item,strpos($item,'coach')+5,mb_strlen($item,'UTF8')); + array_push($seats_arr,$seat); } + $update_data->seatsinfo = ''; if(count(array_unique($coach_arr)) == 1){ $onlycoach = array_unique($coach_arr); - $update_data->seatsinfo .= 'Coach '.$onlycoach[0].','; + $update_data->seatsinfo .= 'Coach '.$onlycoach[0].',seat '; + foreach ($seats_arr as $seat_items){ + $update_data->seatsinfo .= $seat_items .','; + } }else{ - foreach (array_unique($coach_arr) as $item_coach){ - $update_data->seatsinfo .= 'Coach '.$item_coach.','; + $i = 0; + foreach ($coach_arr as $coach_items){ + $update_data->seatsinfo .= 'Coach '.$coach_items.',seat '.$seats_arr[$i].','; + $i++; } } - $update_data->seatsinfo .= 'Seat '; - foreach($seats_arr as $item_seat){ - $update_data->seatsinfo .= $item_seat.','; - } - $update_data->seatsinfo = substr($update_data->seatsinfo,0,strlen($update_data->seatsinfo)-1); - $update_data->bookcallback = $back_json; + $data_passager = new stdClass(); + if($person_num > 1){ + //对订票乘客进行存储 + $data_passager->status = '4'; + $data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber; + if(is_array($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket)){ + foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket as $tickets_item){ + $data_passager->realname = $tickets_item->DetailInfos->DetailInfo->PassengerName; + $data_passager->identitytype = $tickets_item->DetailInfos->DetailInfo->IdentityType; + $data_passager->numberid = $tickets_item->DetailInfos->DetailInfo->NumberID; + $data_passager->ticketype = $tickets_item->TicketType; + $data_passager->ticketprice = $tickets_item->OrderTicketPrice; + $data_passager->seatype = $tickets_item->OrderTicketSeat; + $data_passager->seatdetail = $tickets_item->DetailInfos->DetailInfo->SeatNo; + $this->train_system_model->add_passagers($data_passager); + } + }else{ + foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket as $items){ + //对订票乘客进行存储 + $data_passager->status = '4'; + $data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber; + $data_passager->realname = $items->PassengerName; + $data_passager->identitytype = $items->IdentityType; + $data_passager->numberid = $items->NumberID; + $data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType; + $data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice; + $data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat; + $data_passager->seatdetail = $items->SeatNo; + $this->train_system_model->add_passagers($data_passager); + } + } + }else{ + foreach ($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo as $items){ + //对订票乘客进行存储 + $data_passager->status = '4'; + $data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber; + $data_passager->realname = $items->PassengerName; + $data_passager->identitytype = $items->IdentityType; + $data_passager->numberid = $items->NumberID; + $data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType; + $data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice; + $data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat; + $data_passager->seatdetail = $items->SeatNo; + $this->train_system_model->add_passagers($data_passager); + } + } + /****************************************************************************************/ //添加支付记录 $add_train_payment_data = new stdClass(); $add_train_payment_data->TOC_Memo = $update_data->ordernumber;