trippest 客人查询订单信息API

feature/pay
lyt 7 years ago
parent f580801657
commit 444588878e

@ -0,0 +1,79 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Api extends CI_Controller {
public function __construct(){
parent::__construct();
$this->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 */

@ -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"
}
}
}
```

@ -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;

Loading…
Cancel
Save