hotfix/远程访问多媒体中心
lyt 6 years ago
parent d00b478958
commit 8da48d9180

@ -3,6 +3,8 @@
if (!defined('BASEPATH'))
exit('No direct script access allowed');
GLOBAL $__HAINA_VEI__;
class Tulanduo extends CI_Controller
{
/** Live */
@ -56,6 +58,7 @@ class Tulanduo extends CI_Controller
parent::__construct();
mb_regex_encoding("UTF-8");
bcscale(4);
$GLOBALS['__HAINA_VEI__'] = 30561;
$this->load->helper('array');
$this->load->library('trippest');
$this->load->model('Group_model');
@ -65,7 +68,7 @@ class Tulanduo extends CI_Controller
$this->load->model('TuLanDuo_addOrUpdateRouteOrderContentBuilder', 'tldOrderBuilder');
// $this->output->enable_profiler(TRUE);
$this->vendor_ids = $this->trippest->tulanduo_vei_sn;
$this->vendor_ids = array(1343,30548,29188);
}
public function order_push($order=null)
@ -243,6 +246,7 @@ class Tulanduo extends CI_Controller
*/
public function push_trippest($vas=null)
{
log_message('error',__LINE__);
// return "[Tulanduo>push_trippest] Done. "; // test
/** 目的地 */
$userId = $this->send_host["30"]["userId"];
@ -262,33 +266,63 @@ class Tulanduo extends CI_Controller
$orderinfo = $this->BIZ_order->get_orderinfo_detail($gri_sn, $vei_sn_str);
if(empty($orderinfo)) {return "[Tulanduo>push_trippest] Not found order detail. ";}
$COLI_ID = $orderinfo[0]->COLI_ID;
$set_pvt = strval($orderinfo[0]->COLI_PVT);
$travelFees = $this->BIZ_order->get_paymentDetails($COLI_ID);
$set_pvt = strval($orderinfo[0]->is_pvt);
// TODO 增加收款方参数, 增加代收款项
log_message('error',__LINE__);
$vei_with_haina = $GLOBALS['__HAINA_VEI__'] . "," . $vei_sn_str;
$all_payment = $this->BIZ_order->get_paymentDetails($COLI_ID, $vei_with_haina);
$travel_fees = array();
$replace_collections = array();
log_message('error',__LINE__);
foreach ($all_payment as $kall => $vall) {
if (in_array($vall->payment_vei, array($GLOBALS['__HAINA_VEI__'], 0)) ) {
$travel_fees[] = $vall;
} else {
$replace_collections[] = $vall;
}
}
log_message('error',__LINE__);
// 按产品拆分 todo:按订单类型拆分? 单团/拼团
$fill_order = array();
$processed_date = array();
$processed_cold = array();
foreach ($orderinfo as $ko => $cold) {
// $cold->package_info = array();
if ( ! in_array($cold->COLD_SN, $processed_cold) && $cold->pag_code != '') {
$processed_cold[] = $cold->COLD_SN;
$all_package = $this->trippest->tour_code($cold->pag_code);
$pag_info = $this->BIZ_order->get_packageDetails(my_implode("'",",",$all_package));
if ($set_pvt==='1') {
// $cold->package_info[] = $cold->pag_code;
$fill_order[0]["cold"][] = $cold;
$fill_order[0]["package_info"] = $pag_info; // todo ??? 这里是否丢失了产品
// $fill_order[0]["package_info"] = $pag_info; // todo ??? 这里是否丢失了产品
} else {
$fill_order[$cold->pag_code]["cold"][] = $cold;
$fill_order[$cold->pag_code]["package_info"] = $pag_info;
}
}
}
// 多产品PVT的合并
$pvt_pagcode = array();
if ($set_pvt==='1') {
foreach ($fill_order[0]['cold'] as $kcd => $vcd) {
$multi_package = $this->trippest->tour_code($vcd->pag_code);
$pvt_pagcode = array_merge($pvt_pagcode, $multi_package);
}
$fill_order[0]["package_info"] = $this->BIZ_order->get_packageDetails(my_implode("'",",",$pvt_pagcode));
}
// $fill_order = array_values($fill_order);
$i=0;
$take_apart = count($fill_order)>1 ? true : false;
foreach ($fill_order as $kf => $vf) {
$i++;
$this->tldOrderBuilder->resetBizContent();
$order_type = intval($vf["package_info"][0]->PAG_ExtendType)===39009 ? 1 : 2;
$order_type = $set_pvt;
if ($set_pvt==='0') {
$code_type_arr = array_map(function($pag) { return intval($pag->PAG_ExtendType); }, $vf["package_info"]);
$order_type = in_array(39009, $code_type_arr) ? 1 : 2;
// $order_type = intval($vf["package_info"][0]->PAG_ExtendType)===39009 ? 1 : 2;
}
$last_code = count($vf["package_info"])-1;
$last_date = count($vf["cold"])-1;
$tour_code = "";
@ -306,10 +340,8 @@ class Tulanduo extends CI_Controller
$tour_code = mb_strtoupper($vf["cold"][0]->pag_code);
}
$agcOrderNo .= "(" . $vf["cold"][0]->operator . ")";
$order_remark = "";
if (trim($vf['cold'][0]->GUT_TEL) != "") {
$order_remark = "预定人电话:" . trim($vf["cold"][0]->GUT_TEL);
}
$order_remark = ""; // todo
$COLD_SN_str = implode(',', array_map( function($element){return $element->COLD_SN;}, $vf["cold"] )) ;
$guestlist = $this->BIZ_order->get_guestlist($COLD_SN_str);
$this->tldOrderBuilder->setUserId($userId)
@ -329,12 +361,23 @@ class Tulanduo extends CI_Controller
// ->setToTraffic($toTraffic)
// ->setBackTraffic($backTraffic)
;
// 客人列表
foreach ($guestlist as $key => $vg) {
$this_otherinfo = "";
$this->tldOrderBuilder->setCustomersName($key, $vg->BPE_FirstName . " " . $vg->BPE_LastName )
->setCustomersPeopleType($key, ($vg->BPE_GuestType==1 ? "成人" : "儿童"))
->setCustomersDocumentType($key, "护照") // Passport No.
->setCustomersDocumentNo($key, $vg->BPE_Passport)
->setCustomersOtherInfo($key, $this->BIZ_order->GetNationalityName($vg->BPE_Nationality));
// ->setCustomersOtherInfo($key, $this->BIZ_order->GetNationalityName($vg->BPE_Nationality))
;
$this_otherinfo .= $this->BIZ_order->GetNationalityName($vg->BPE_Nationality);
if (trim($vf['cold'][0]->GUT_TEL) != "" && $key===0) {
// $order_remark = "预定人电话:" . trim($vf["cold"][0]->GUT_TEL);
$this_otherinfo .= "; 电话:";
$this_otherinfo .= trim($vf["cold"][0]->GUT_POST)!=="" ? "+".trim($vf["cold"][0]->GUT_POST) : "" ;
$this_otherinfo .= " " . trim($vf["cold"][0]->GUT_TEL);
$this->tldOrderBuilder->setCustomersOtherInfo($key, $this_otherinfo);
}
}
$scheduleDetails = $this->BIZ_order->get_scheduleDetails($COLD_SN_str);
$schedule_obj = array();
@ -363,6 +406,8 @@ class Tulanduo extends CI_Controller
if (trim($hotels[0]->POI_HotelAddress) != "") {
$this_content .= "\r\n酒店地址:" . $hotels[0]->POI_HotelAddress;
}
$this_content .= trim($hotels[0]->POI_HotelCheckInName)!=="" ? "\r\n入住人:".$hotels[0]->POI_HotelCheckInName : "";
$this_content .= trim($hotels[0]->POI_HotelCheckIn)!=="" ? "\r\n入住日期:".$hotels[0]->POI_HotelCheckIn : "";
if ($hotels[0]->POI_FlightsNo) {
$this_content .= "\r\n航/车次:" . $hotels[0]->POI_FlightsNo;
if ($hotels[0]->POI_FromCity || $hotels[0]->POI_ToCity) {
@ -457,7 +502,7 @@ class Tulanduo extends CI_Controller
}
// 拆分的订单团款录第一个
if ($i===1) {
foreach ($travelFees as $kf => $vf) {
foreach ($travel_fees as $kf => $vf) {
$this->tldOrderBuilder->setTravelFeesType($kf, "Per Group")
->setTravelFeesMoney($kf, $vf->GAI_SSJE)
->setTravelFeesNum($kf, 1)
@ -465,32 +510,21 @@ class Tulanduo extends CI_Controller
->setTravelFeesSumMoney($kf, $vf->GAI_SSJE)
->setTravelFeesRemark($kf, $vf->GAI_Memo);
}
foreach ($replace_collections as $krc => $vrc) {
$this->tldOrderBuilder->setReplaceCollectionsType($krc, "Per Group")
->setReplaceCollectionsMoney($krc, $vrc->GAI_SSJE)
->setReplaceCollectionsRemark($krc, $vrc->GAI_Memo);
}
// 查询是否变更
}
// 查询是否变更 TODO deprecated
$sync_orderstate = 10;
$vps_sn = 0;
$vendor_orderid = 0;
$plan_detail_page_url = "http://p.mycht.cn/Cooperate/Plan_Detail.aspx?GSN=" . $gri_sn;
$plan_detail_page = "<br>计划下载:<a href='$plan_detail_page_url'>$plan_detail_page_url</a><br>";
if (intval($is_send_vary)===1) {
$vps = $this->Group_model->get_sync_info($vas_sn, $tour_code);
if ( ! empty($vps)) {
$vps_sn = $vps->VPS_SN;
$vendor_orderid = $vps->VPS_externalId;
$sync_orderstate = 11;
$modifyLogInfo = "$plan_detail_page<br>$change_info<br>";
$this->tldOrderBuilder->setOrderId($vendor_orderid)
->setModifyLogInfo($modifyLogInfo)
;
}
} else {
$modifyLogInfo = $plan_detail_page;
$this->tldOrderBuilder->clearModifyLogInfo();
$this->tldOrderBuilder->setModifyLogInfo($modifyLogInfo)
;
}
$resp = $this->excute_curl($this->neworder_url, $this->tldOrderBuilder);
// $resp = '{"status":1,"errMsg":"","responseData":{"orderId":' . rand(1000,9999) . '}}'; // test
echo $this->tldOrderBuilder->getBizContent();
log_message('error',$resp);
$response = json_decode($resp);
if ($response->status == 1) {
/** VendorPlanSync */
@ -516,7 +550,7 @@ class Tulanduo extends CI_Controller
$this->Group_model->set_plan_received($vas_sn);
}
}
return "[Tulanduo>push_trippest] Done. ";
return "[Tulanduo>push_trippest] Done. " . $COLI_ID;
}
public function tourguide_update($input, $vps, $eva)

@ -21,10 +21,10 @@ class Index extends CI_Controller {
* * 使用供应商平台登陆账号获取接口的key
*/
public function index()
public function index($GRI_SN=0)
{
$auto_vendor_str = implode(",", $this->vendor->auto_vendor);
return $this->push(0, $auto_vendor_str);
return $this->push($GRI_SN, $auto_vendor_str);
}
public function push($GRI_SN=0, $vendor_str=null)
@ -32,6 +32,7 @@ class Index extends CI_Controller {
$start_date = date('Y-m-d');
$end_date = date('Y-m-d 23:59:59', strtotime("+2 months"));
$ready_to_send = $this->Group_model->get_plan_not_received(1, $GRI_SN, $vendor_str, $start_date, $end_date);
log_message('error',var_export($ready_to_send, 1));
if (empty($ready_to_send)) {
return $this->output->set_output("empty");
}
@ -41,8 +42,8 @@ class Index extends CI_Controller {
require_once($controller_name . ".php");
$vendor_class = new $controller_name();
$call_fun = $vendor_class->order_push($order);
log_message('error',"Call [$controller_name>order_push] " . $order->GRI_SN);
return $this->output->set_output($call_fun . $order->GRI_SN);
log_message('error',"Call [$controller_name>order_push] " . $order->GRI_SN . ". " . $call_fun);
return $this->output->set_output($call_fun . ". " . $order->GRI_SN);
}
return $this->output->set_output("Not found vendor function. " . $order->GRI_SN);
}

@ -10,8 +10,6 @@ class Trippest
$this->ci =& get_instance();
}
public $tulanduo_vei_sn = array(1343,30548,29188);
public function tour_name($pag_code)
{
$name = "";

@ -41,6 +41,7 @@ class BIZ_Orders_model extends CI_Model {
cold.COLD_ServiceSN2,
cold.COLD_ServiceCity,
gut.GUT_NationalityID,
isnull(COLI_PVT, 0) is_pvt,
(select opi2_name from tourmanager.dbo.operatorinfo2 where opi2_opi_sn=coli_opi_id and opi2_lgc=2) as operator,
*
FROM BIZ_ConfirmLineInfo coli
@ -102,18 +103,32 @@ class BIZ_Orders_model extends CI_Model {
$sql = "SELECT *
from BIZ_PackageOrderInfo poi
where poi.POI_COLD_SN IN ($COLD_SN_str)";
log_message('error',$sql);
return $this->HT->query($sql)->result();
}
public function get_paymentDetails($COLI_ID)
/*!
* [get_paymentDetails description]
* @date 2019-05-22
* VEI:
* * 30561 桂林海纳国旅
* GAI_Type
* * 15006 地接代收
* * 15008 现付
* * 15017 内部转账
* * 15020 地接社代收
*/
public function get_paymentDetails($COLI_ID, $vei_sn_str)
{
$sql = "SELECT *
$sql = "SELECT ISNULL(bgai.GAI_VEI_SN,0) payment_vei
,*
FROM BIZ_GroupAccountInfo bgai
INNER JOIN BIZ_ConfirmLineInfo coli ON bgai.GAI_COLI_SN=coli.COLI_SN
WHERE bgai.DeleteFlag=0 AND bgai.GAI_Type NOT IN (15006,15008,15017)
AND ISNULL(bgai.GAI_VEI_SN,0)<>1343
WHERE bgai.DeleteFlag=0 --AND bgai.GAI_Type NOT IN (15006,15008,15017)
AND ISNULL(bgai.GAI_VEI_SN,0) in (0,$vei_sn_str)
AND bgai.GAI_SQJE > 0
AND coli_ID = '$COLI_ID'";
log_message('error',$sql);
$query = $this->HT->query($sql);
return $query->result();
}

@ -24,14 +24,16 @@ class Group_model extends CI_Model {
$sql .= $gri_sn!==0 ? $gri_sql : "
and VAS_IsCancel=0 and VAS_Delete=0 and vas.DeleteFlag=0
and VAS_IsSendSucceed=1
and VAS_IsConfirm=0
-- and VAS_IsConfirm=0
and EOI_GetDate between '$start_date' and '$end_date'
and VAS_VEI_SN in ($vendor_str)
and GRI_operator in (161,443,61) -- test
and GRI_OrderType=227002 -- test
and (VAS_IsReceive=0 or (VAS_SendTime > ISNULL(VAS_ReceiveTime,0))) ";
$sql .= " order by EOI_GetDate asc, vas.VAS_IsConfirm asc";
// log_message('error',$sql);
and (VAS_IsReceive=0 -- or (VAS_SendTime > ISNULL(VAS_ReceiveTime,0))
)
";
$sql .= " order by EOI_GetDate asc,vas.VAS_SendTime asc, vas.VAS_IsConfirm asc";
log_message('error',$sql);
return $this->HT->query($sql)->result();
}
@ -229,6 +231,8 @@ class Group_model extends CI_Model {
public function set_plan_received($vas_sn=0)
{
$sql = "UPDATE VendorArrangeState set VAS_IsReceive=1,VAS_ReceiveTime=GETDATE() where VAS_SN=? ";
log_message('error',$sql);
return $sql; // testing
return $this->HT->query($sql, array($vas_sn));
}
@ -256,6 +260,9 @@ class Group_model extends CI_Model {
public function insert_VendorPlanSync($sync_arr=array())
{
$ss = $this->HT->insert_string('VendorPlanSendout', $sync_arr); // testing
log_message('error',$ss);
return $ss;
$this->HT->insert('VendorPlanSendout', $sync_arr);
return $this->HT->query("SELECT MAX(VPS_SN) VPS_SN from VendorPlanSendout")
->row()->VPS_SN;
@ -265,6 +272,8 @@ class Group_model extends CI_Model {
{
$where = " VPS_SN=" . $vps;
$update_sql = $this->HT->update_string('VendorPlanSendout', $sync_arr, $where);
log_message('error',$update_sql);
return $update_sql; // testing
return $this->HT->query($update_sql);
}

Loading…
Cancel
Save