diff --git a/webht/third_party/trippestOrderSync/controllers/api.php b/webht/third_party/trippestOrderSync/controllers/api.php new file mode 100644 index 00000000..095062c7 --- /dev/null +++ b/webht/third_party/trippestOrderSync/controllers/api.php @@ -0,0 +1,79 @@ +load->helper('array'); + $this->load->model('Orders_model'); + mb_regex_encoding("UTF-8"); + } + + public function index() + { + $this->operation_detail(); + } + + public function operation_detail($find=null) + { + ($find===null) ? $find = $this->input->get_post('q') : null; + $order_obj = $this->Orders_model->get_operation_detail_for_client($find); + if ($order_obj['order_info'] == null) { + $order_obj['status'] = 0; + $order_obj['msg'] = "Not Found."; + return $this->output->set_content_type('application/json')->set_output(json_encode($order_obj)); + } + $order_obj['status'] = 1; + $order_obj['msg'] = ""; + // 英文名没有 + if ($order_obj['operator_info']->OPI_FirstName == null + || $order_obj['operator_info']->OPI2_Name == null ) { + $order_obj['operator_info']->OPI_FirstName = $order_obj['operator_info']->OPI2_Name + = ucfirst(strstr($order_obj['operator_info']->OPI_Email, "@", true)); + } + // 领队名字 + $order_obj['order_info']->leader_name = trim($order_obj['order_info']->GUT_FirstName . " " . $order_obj['order_info']->GUT_LastName); + // 团人数 + $order_obj['order_info']->personNum_text = $order_obj['order_info']->COLD_PersonNum + $order_obj['order_info']->COLD_ChildNum; + $order_obj['order_info']->personNum_text .= " (" . $order_obj['order_info']->COLD_PersonNum . " Adult(s)"; + if ($order_obj['order_info']->COLD_ChildNum > 0) { + $order_obj['order_info']->personNum_text .= " " . $order_obj['order_info']->COLD_ChildNum . " Child(ren)"; + } + $order_obj['order_info']->personNum_text .= ")" ; + // 出团时间 + $out_datetime = strtotime($order_obj['order_info']->COLD_StartDate); + $order_obj['order_info']->dateWeek_text = date('D', $out_datetime); + $order_obj['order_info']->dateDay_text = date('d', $out_datetime); + $order_obj['order_info']->dateMonth_text = date('M', $out_datetime); + $order_obj['order_info']->dateYear_text = date('Y', $out_datetime); + // 接送信息 + $order_obj['order_info']->pick_up = ""; + $order_obj['order_info']->drop_off = ""; + if ($order_obj['order_info']->COLD_MemoText != null && json_decode($order_obj['order_info']->COLD_MemoText) != null) { + $decode_MemoText = json_decode($order_obj['order_info']->COLD_MemoText, true); + $order_obj['order_info']->pick_up = $decode_MemoText['Pick up']; + $order_obj['order_info']->drop_off = $decode_MemoText['Drop off']; + } else { + $memo_text_tmp = trim(strstr($order_obj['order_info']->COLD_MemoText, "Pick Up From:")); + $order_obj['order_info']->pick_up = trim(strstr($memo_text_tmp, "Drop Off:", true)); + $order_obj['order_info']->drop_off = trim(strstr($memo_text_tmp, "Drop Off:")); + } + // 司机, 导游 + if ( ! empty($order_obj['operation_info'])) { + foreach ($order_obj['operation_info'] as $key => $value) { + $order_obj['operation_info'][$value->GCOD_operationType] = $value; + } + unset($order_obj['operation_info'][0]); + unset($order_obj['operation_info'][1]); + } + // unset($order_obj['order_info']->COLD_MemoText); + unset($order_obj['order_info']->GUT_FirstName); + unset($order_obj['order_info']->GUT_LastName); + return $this->output->set_content_type('application/json')->set_output(json_encode($order_obj)); + } + +} + +/* End of file api.php */ +/* Location: ./third_party/trippestOrderSync/controllers/api.php */ diff --git a/webht/third_party/trippestOrderSync/controllers/detail_for_client.md b/webht/third_party/trippestOrderSync/controllers/detail_for_client.md new file mode 100644 index 00000000..318f5540 --- /dev/null +++ b/webht/third_party/trippestOrderSync/controllers/detail_for_client.md @@ -0,0 +1,94 @@ +## 客人查询目的地订单信息API + +#### POST / GET +> `http://www.mycht.cn/webht.php/apps/trippestOrderSync/Api/operation_detail` + +参数| 类型 | 示例 +--- | --- | --- +q | string | 180601019 + +#### RETURN JSON + +```json +{ + "status": 1, // 查询结果; 1-成功; 0-失败 + "msg": "", // 失败信息: Not Found. + "order_info": { + "GCI_SN": 619, + "GCI_VendorOrderId": "18586", + "GCI_combineNo": "S-2018-06-03[25]", + "COLI_SN": 435010334, + "COLI_ID": "180601019", + "COLD_SN": 450021160, + "COLI_GroupCode": "中华游180603-Micky170713021-CHBJ", // 团号 + "COLI_OPI_ID": 435, + "COLD_ServiceSN": 4243, + "COLD_PersonNum": 1, // 成人数量 + "COLD_ChildNum": 0, // 小孩数量 + "COLD_StartDate": "2018-06-03 00:00:00", // 行程日期 + "PAG2_Name": "One-Day Beijing Highlights Mini Group Tour", // 行程名字 + // 酒店相关 + "POI_Hotel": "北京海航大厦万豪酒店", + "POI_HotelAddress": "No.26 Jia Xiaoyun Road, Chaoyang District, Beijing, China北京 朝阳区 霄云路甲26号 ", + "POI_HotelPhone": "010-59278888", + + "leader_name": "Jorge Latorre Alagon", // 领队 + "personNum_text": "1 (1 Adult(s))", // 人数 输出可读 + // 日期 输出可读 + "dateWeek_text": "Sun", + "dateDay_text": "03", + "dateMonth_text": "Jun", + "dateYear_text": "2018", + "pick_up": "北京海航大厦万豪酒店 Beijing Marriott Hotel Northeast", + "drop_off": "北京海航大厦万豪酒店 Beijing Marriott Hotel Northeast" + }, + "operator_info": { // Travel Advisor 信息 + "OPI_SN": 161, + "OPI_Name": "黄俊峻", + "OPI_FirstName": "Niko", + "OPI_MoveTelephone": "18807734970", + "OPI_Email": "niko@chinahighlights.com", + "OPI2_Name": "Niko Huang" // 英文名 + }, + "operation_info": { + "touristCarOperations": { // 车辆,司机信息 + "GCOD_SN": 127883, + "GCOD_VEI_SN": 1343, + "GCOD_GCI_combineNo": "S-2018-06-03[25]", + "GCOD_operationType": "touristCarOperations", + "GCOD_subType": "7座", // 车辆类型 + "GCOD_title": "上海秦健", // 车队,公司 + "GCOD_dutyName": "Mr Qin 秦师傅", // 司机姓名 + "GCOD_dutyTel": "17765106848", // 司机联系电话 + "GCOD_dutyPhoto": null, // 司机头像 + "GCOD_startDate": "2018-06-03", + "GCOD_endDate": "2018-06-03", + "GCOD_useNum": 1, + "GCOD_sumMoney": "800", + "GCOD_standard": "", + "GCOD_carLicense": "沪AZJ228", // 车辆牌照 + "GCOD_remark": "精品一日游;3人;北京瑞吉酒店/北京海航大厦万豪酒店 ", + "GCOD_creatTime": "2018-06-03 23:59:00" + }, + "guiderOperations": { // 导游信息, 单接送的订单没有这个对象 + "GCOD_SN": 127884, + "GCOD_VEI_SN": 1343, + "GCOD_GCI_combineNo": "S-2018-06-03[25]", + "GCOD_operationType": "guiderOperations", + "GCOD_subType": "", + "GCOD_title": "", + "GCOD_dutyName": "北京张豹勋William", // 导游姓名 + "GCOD_dutyTel": "18810790590", // 导游联系电话 + "GCOD_dutyPhoto": "http://djb3c.ltsoftware...", // 导游头像 + "GCOD_startDate": "2018-06-03", + "GCOD_endDate": "2018-06-03", + "GCOD_useNum": 1, + "GCOD_sumMoney": "300", + "GCOD_standard": "", + "GCOD_carLicense": "", + "GCOD_remark": "", + "GCOD_creatTime": "2018-06-03 23:59:00" + } + } +} +``` diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php index a527e4f6..03552b3d 100644 --- a/webht/third_party/trippestOrderSync/models/orders_model.php +++ b/webht/third_party/trippestOrderSync/models/orders_model.php @@ -1237,6 +1237,42 @@ class Orders_model extends CI_Model { return $query; } + function get_operation_detail_for_client($COLI_ID) + { + $ret['order_info'] = NULL; + $order_info_sql = "SELECT TOP 1 + GCI_SN,GCI_VendorOrderId,GCI_combineNo + ,COLI_SN,COLI_ID,COLD_SN,COLI_GroupCode,COLI_OPI_ID + ,COLD_ServiceSN,COLD_PersonNum,COLD_ChildNum,COLD_StartDate,cold.COLD_MemoText + ,pag2.PAG2_Name + ,poi.POI_Hotel,poi.POI_HotelAddress,poi.POI_HotelPhone + ,GUT_FirstName,GUT_LastName + FROM BIZ_ConfirmLineInfo coli + inner join GroupCombineInfo on COLI_GRI_SN=GCI_GRI_SN + inner join BIZ_ConfirmLineDetail cold on COLD_COLI_SN=COLI_SN + inner join BIZ_PackageOrderInfo poi on poi.POI_COLD_SN=COLD_SN + inner join BIZ_GUEST g on g.GUT_SN=COLI_GUT_SN + inner join BIZ_PackageInfo2 pag2 on pag2.PAG2_PAG_SN=COLD_ServiceSN and pag2.PAG2_LGC=1 + where COLI_GroupCode like '%" . $this->HT->escape_like_str($COLI_ID) . "%' "; + // OR COLI_ID like '%" . $this->HT->escape_like_str($COLI_ID) . "%' + $order_info_query = $this->HT->query($order_info_sql); + if ($order_info_query->num_rows() > 0) { + $ret['order_info'] = $order_info_query->row(); + $operator_sql = "SELECT opi.OPI_SN,opi.OPI_Name,opi.OPI_FirstName,OPI_MoveTelephone,OPI_Email,opi2.OPI2_Name + from OperatorInfo opi + left join OperatorInfo2 opi2 on opi2.OPI2_OPI_SN=OPI_SN and opi2.OPI2_LGC=1 + where OPI_SN=" . $ret['order_info']->COLI_OPI_ID; + $ret['operator_info'] = $this->HT->query($operator_sql)->row(); + $operation_sql = "SELECT gcod.* + from GroupCombineOperationDetail gcod + where GCOD_GCI_combineNo=? + and gcod.GCOD_operationType in ('touristCarOperations','guiderOperations')"; + $operation_info = $this->HT->query($operation_sql, array($ret['order_info']->GCI_combineNo)); + $ret['operation_info'] = $operation_info->result(); + } + return $ret; + } + function GetNationalityID($nationalityName) { if (!$nationalityName) { return 0;