trippest同步:手续费订单无团号问题;更新历史数据的调度

feature/pay
lyt 7 years ago
parent 0f94413dd2
commit 4e206ba459

@ -133,7 +133,7 @@ class TulanduoApi extends CI_Controller
}
$unique_order[] = $vo['orderId'];
// paypal 手续费订单没有团号
$vo['agcOrderNo'] = isset($vo['agcOrderNo']) ? $vo['agcOrderNo'] : $vo['groupOrderNo'];
$vo['agcOrderNo'] = (isset($vo['agcOrderNo'])&&$vo['agcOrderNo']!="") ? $vo['agcOrderNo'] : $vo['groupOrderNo'];
$vo['agcOrderNo'] = trim_groupCode(trim($vo['agcOrderNo'])); // 去掉中文的全角空格
$this->Orders_model->BIZ_COLI_SN = null;
@ -246,11 +246,14 @@ class TulanduoApi extends CI_Controller
/** HT 开始 */
$vei_SN = $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] ? $this->city_info[$detail_jsonResp->orderDetail->operationDep]['PlanVEI_SN'] : 1343;
$getInfo_byGroupCode = null;
$real_groupCode = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo);
$getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode);
$getInfo_byGroupCodeArr = array();
if (isset($detail_jsonResp->orderDetail->agcOrderNo) && $detail_jsonResp->orderDetail->agcOrderNo != "") {
$real_groupCode = analysis_groupCode($detail_jsonResp->orderDetail->agcOrderNo);
$getInfo_byGroupCodeArr = $this->Orders_model->get_order_by_groupcode($real_groupCode);
}
$duplicate = false;
// 由同步新增的订单 或 未找到团号关联
if (intval($order->COLI_OPI_ID) === 435 || $order->COLI_ID === null) {
if (intval($order->COLI_OPI_ID) === 435 || $order->COLI_ID === null || empty($getInfo_byGroupCodeArr)) {
if ( empty($getInfo_byGroupCodeArr)){
$getInfo_byGroupCode = null; // 没有该团号的团信息
} elseif (strval($getInfo_byGroupCodeArr[0]->COLI_OPI_ID) !== '435') { // 避免intval(null)=0
@ -271,8 +274,11 @@ class TulanduoApi extends CI_Controller
/** GRoupInfo */
$groupSN = $this->insert_gri($order_detail_arr);
/** BIZ_Guest */
$this->Orders_model->GUT_LastName = $detail_jsonResp->orderDetail->customers[0]->name;
$this->Orders_model->biz_guest_save();
$this->Orders_model->GUT_SN = null;
if (isset($detail_jsonResp->orderDetail->customers)) {
$this->Orders_model->GUT_LastName = $detail_jsonResp->orderDetail->customers[0]->name;
$this->Orders_model->biz_guest_save();
}
/** BIZ_ConfirmLineInfo*/
$order_detail_arr['orderDate'] = $order_detail_arr['orderTime'];
$coli_sn = $this->insert_coli($order_detail_arr);
@ -646,11 +652,11 @@ class TulanduoApi extends CI_Controller
$tmpv = $this->city_info[$vo['operationDep']]['PlanVEI_SN'] ? $this->city_info[$vo['operationDep']]['PlanVEI_SN'] : 1343;
$this->Orders_model->BIZ_COLI_SN = null;
$this->Orders_model->GRI_SN = null;
// if (in_array($vo['agcName'], array("D目的地桂林组", "Trippest"))) {
if ( isset($vo['agcOrderNo']) && $vo['agcOrderNo'] != "") {
$real_groupCode = analysis_groupCode($vo['agcOrderNo']);
// check BIZ_COLI_SN,GRI_SN
$this->Orders_model->get_SN_by_groupCode($real_groupCode, $vo['orderId']);
// }
}
/** INSERT */
/** GRoupInfo */
if ($this->Orders_model->GRI_SN === null) {

@ -132,7 +132,7 @@ class Orders_model extends CI_Model {
public function get_groupCombineInfo($coli_sn=0, $get_vendorID=null, $startDate=null, $endDate=NULL)
{
$sql = "SELECT top 1 coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID,
cold.COLD_PlanVEI_SN, gci.*
cold.COLD_PlanVEI_SN, gci.*,'0' as 'isHistory'
FROM GroupCombineInfo gci
LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN --and coli.COLI_State NOT IN ('30','40','50')
LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
@ -144,21 +144,29 @@ class Orders_model extends CI_Model {
$sql .= " and GCI_VendorOrderId='$get_vendorID' ";
}
if ($startDate !== NULL) {
$sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' ";
$sql .= " and gci.GCI_travelDate between '$startDate' and '$endDate' and gci.GCI_createTime < '" . date('Y-m-d') . "' ";
}
$sql .= " order by GCI_createTime asc ";
// $sql .= "UNION SELECT top 50
// coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID,
// cold.COLD_PlanVEI_SN, gci.*
// FROM GroupCombineInfo gci
// left JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN and coli.COLI_State NOT IN ('30','40','50')
// left JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
// WHERE 1=1
// and not exists (
// select * from BIZ_GroupAccountInfo where GAI_COLI_SN=COLI_SN
// )
// and COLI_OPI_ID=435
// order by GCI_travelDate";
// 近期的订单同步完成之后, 同步历史数据
$sql .= " UNION ALL ";
$sql .= " SELECT top 1 coli.COLI_ID, coli.COLI_SN, coli.COLI_GRI_SN, cold.COLD_SN, coli.COLI_OrderDetailText, coli.COLI_Memo,coli.COLI_State,coli.COLI_OPI_ID,
cold.COLD_PlanVEI_SN, gci.*,'1' as 'isHistory'
from GroupCombineInfo gci
inner join GRoupInfo on GRI_SN=GCI_GRI_SN and GRI_No<>''
LEFT JOIN BIZ_ConfirmLineInfo coli ON coli.COLI_GRI_SN=gci.GCI_GRI_SN
LEFT JOIN BIZ_ConfirmLineDetail cold ON cold.COLD_COLI_SN=coli.COLI_SN
where
GCI_combineNo is not null and GCI_combineNo not in ('cancel','forbidden')
and GCI_leaveDate < '" . date('Y-m-d', strtotime("-7 days")) . "'
and GCI_combineNo not like '%取消%'
and not exists (
select GCOD_SN from GroupCombineOperationDetail gcod where gcod.GCOD_GCI_combineNo=GCI_combineNo
)
and 0 < (
select sum(isnull(COLD_PersonNum,0)+isnull(COLD_ChildNum,0)+isnull(COLD_BabyNum,0)) person from BIZ_ConfirmLineInfo
inner join BIZ_ConfirmLineDetail on COLD_COLI_SN=COLI_SN
where COLI_GRI_SN=gri_sn
) ";
$sql .= " ORDER BY isHistory ASC,GCI_createTime ASC ";
$query = $this->HT->query($sql);
return $query->result();
}

Loading…
Cancel
Save