From d00b478958f7fecdc5fd88d135488f257333ad6d Mon Sep 17 00:00:00 2001
From: lyt
Date: Mon, 20 May 2019 13:32:01 +0800
Subject: [PATCH 01/35] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=B4=A6=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/vendorPlanSync/controllers/Tulanduo.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
index 330f6b24..92750fce 100644
--- a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
+++ b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
@@ -29,8 +29,8 @@ class Tulanduo extends CI_Controller
*/
private $send_host = array(
"30" => array(
- "userId" => 512
- ,"key" => "4d9bde5ce79d6093e4a98bebbd3892c2"
+ "userId" => 6035
+ ,"key" => "3bd16efd5f4165378f144da1f4829996"
)
,"1" => array(
"userId" => 512
From 8da48d918018b8416cfd12ae52a0bdafef794f7f Mon Sep 17 00:00:00 2001
From: lyt
Date: Tue, 21 May 2019 09:47:36 +0800
Subject: [PATCH 02/35] =?UTF-8?q?=E6=9C=AA=E5=AE=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../vendorPlanSync/controllers/Tulanduo.php | 98 +++++++++++++------
.../vendorPlanSync/controllers/index.php | 9 +-
.../vendorPlanSync/libraries/trippest.php | 2 -
.../models/BIZ_orders_model.php | 23 ++++-
.../vendorPlanSync/models/Group_model.php | 21 ++--
5 files changed, 105 insertions(+), 48 deletions(-)
diff --git a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
index 92750fce..427937c9 100644
--- a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
+++ b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
@@ -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 = "
计划下载:$plan_detail_page_url
";
- 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
$change_info
";
- $this->tldOrderBuilder->setOrderId($vendor_orderid)
- ->setModifyLogInfo($modifyLogInfo)
- ;
- }
- } else {
- $modifyLogInfo = $plan_detail_page;
- $this->tldOrderBuilder->clearModifyLogInfo();
- $this->tldOrderBuilder->setModifyLogInfo($modifyLogInfo)
- ;
- }
+ $this->tldOrderBuilder->clearModifyLogInfo();
$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)
diff --git a/webht/third_party/vendorPlanSync/controllers/index.php b/webht/third_party/vendorPlanSync/controllers/index.php
index 95f4d734..243df62d 100644
--- a/webht/third_party/vendorPlanSync/controllers/index.php
+++ b/webht/third_party/vendorPlanSync/controllers/index.php
@@ -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);
}
diff --git a/webht/third_party/vendorPlanSync/libraries/trippest.php b/webht/third_party/vendorPlanSync/libraries/trippest.php
index dfc48fe6..ebba5748 100644
--- a/webht/third_party/vendorPlanSync/libraries/trippest.php
+++ b/webht/third_party/vendorPlanSync/libraries/trippest.php
@@ -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 = "";
diff --git a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
index bef796ca..9e3cf896 100644
--- a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
+++ b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
@@ -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();
}
diff --git a/webht/third_party/vendorPlanSync/models/Group_model.php b/webht/third_party/vendorPlanSync/models/Group_model.php
index e17b8b5e..18ed0239 100644
--- a/webht/third_party/vendorPlanSync/models/Group_model.php
+++ b/webht/third_party/vendorPlanSync/models/Group_model.php
@@ -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 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_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);
}
From 8f7044c9f038acca771a9ddb4e5c7a7d677aca8b Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 10:18:51 +0800
Subject: [PATCH 03/35] =?UTF-8?q?Trippest=E8=87=AA=E5=8A=A8=E7=94=9F?=
=?UTF-8?q?=E6=88=90:=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99=E7=9A=84?=
=?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=9D=A1=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/trippestOrderSync/models/orders_model.php | 2 --
1 file changed, 2 deletions(-)
diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php
index 54a1c821..8e490339 100644
--- a/webht/third_party/trippestOrderSync/models/orders_model.php
+++ b/webht/third_party/trippestOrderSync/models/orders_model.php
@@ -192,8 +192,6 @@ class Orders_model extends CI_Model {
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.GCI_createTime < '$last_update_time'
-- 已生成账单的不再自动同步
and NOT exists (
select 1 from report_order where ordernumber=COLI_ID and orderstats=1
From 75928b61cc1c44f91db79480d4ca30e480c742d8 Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 10:25:33 +0800
Subject: [PATCH 04/35] =?UTF-8?q?Trippest=E8=87=AA=E5=8A=A8=E7=94=9F?=
=?UTF-8?q?=E6=88=90=E8=B4=A6=E5=8D=95:=E5=88=A0=E9=99=A4=E4=BB=8A?=
=?UTF-8?q?=E5=A4=A9=E7=9A=84=E6=9B=B4=E6=96=B0=E6=97=A5=E6=9C=9F=E6=9D=A1?=
=?UTF-8?q?=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/trippestOrderSync/models/orders_model.php | 2 --
1 file changed, 2 deletions(-)
diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php
index 54a1c821..8e490339 100644
--- a/webht/third_party/trippestOrderSync/models/orders_model.php
+++ b/webht/third_party/trippestOrderSync/models/orders_model.php
@@ -192,8 +192,6 @@ class Orders_model extends CI_Model {
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.GCI_createTime < '$last_update_time'
-- 已生成账单的不再自动同步
and NOT exists (
select 1 from report_order where ordernumber=COLI_ID and orderstats=1
From 9a98e63bb83734992047689bf0751159883e2c5f Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 13:57:07 +0800
Subject: [PATCH 05/35] =?UTF-8?q?pvt=E5=9B=A2=E8=A1=8C=E7=A8=8B=E4=BA=A7?=
=?UTF-8?q?=E5=93=81=E5=90=88=E5=B9=B6;=E4=BB=A3=E6=94=B6=E9=87=91?=
=?UTF-8?q?=E9=A2=9D=E8=AE=B0=E5=BD=95;=E8=AE=A2=E5=8D=95=E6=97=A5?=
=?UTF-8?q?=E5=BF=97;=E8=AE=A2=E5=8D=95=E5=A4=87=E6=B3=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../vendorPlanSync/controllers/Tulanduo.php | 25 +++++++++----------
.../models/BIZ_orders_model.php | 19 ++++++++++++++
2 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
index 427937c9..abb2979c 100644
--- a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
+++ b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
@@ -246,7 +246,6 @@ 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"];
@@ -267,13 +266,11 @@ log_message('error',__LINE__);
if(empty($orderinfo)) {return "[Tulanduo>push_trippest] Not found order detail. ";}
$COLI_ID = $orderinfo[0]->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;
@@ -281,28 +278,24 @@ log_message('error',__LINE__);
$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 ??? 这里是否丢失了产品
} else {
$fill_order[$cold->pag_code]["cold"][] = $cold;
$fill_order[$cold->pag_code]["package_info"] = $pag_info;
}
}
}
- // 多产品PVT的合并
+ // 多产品PVT的合并,避免丢失产品
$pvt_pagcode = array();
if ($set_pvt==='1') {
foreach ($fill_order[0]['cold'] as $kcd => $vcd) {
@@ -314,14 +307,15 @@ log_message('error',__LINE__);
// $fill_order = array_values($fill_order);
$i=0;
$take_apart = count($fill_order)>1 ? true : false;
+ $coli_sn = 0;
foreach ($fill_order as $kf => $vf) {
$i++;
+ $coli_sn = $vf['cold'][0]->COLI_SN;
$this->tldOrderBuilder->resetBizContent();
$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;
@@ -340,7 +334,11 @@ log_message('error',__LINE__);
$tour_code = mb_strtoupper($vf["cold"][0]->pag_code);
}
$agcOrderNo .= "(" . $vf["cold"][0]->operator . ")";
- $order_remark = ""; // todo
+ $order_remark = "";
+ if ($i===1) { // 只写一次备注.备注中可能包含代收信息,避免多次收取
+ $order_remark_arr = array_filter(array_map( function($element){return $element->COLD_vendorMemo;}, $vf["cold"] )) ;
+ $order_remark = empty($order_remark_arr) ? "" : implode("\n", $order_remark_arr) ;
+ }
$COLD_SN_str = implode(',', array_map( function($element){return $element->COLD_SN;}, $vf["cold"] )) ;
$guestlist = $this->BIZ_order->get_guestlist($COLD_SN_str);
@@ -356,7 +354,6 @@ log_message('error',__LINE__);
->setTravelDate(strstr($vf["cold"][0]->COLD_StartDate, " ", true))
->setLeavedDate($end_date)
->setOrderRemark($order_remark)
- // ->setOrderRemark(trim($orderinfo[0]->COLI_Memo . "\r\n" . $orderinfo[0]->COLD_Memo . "\r\n" . $orderinfo[0]->COLD_MemoText))
// todo 抵离交通
// ->setToTraffic($toTraffic)
// ->setBackTraffic($backTraffic)
@@ -543,8 +540,10 @@ log_message('error',$resp);
);
if ($vps_sn === 0) {
$sync_id = $this->Group_model->insert_VendorPlanSync($sync_ret);
+ $this->BIZ_orders_model->insert_biz_order_log($coli_sn, "vendorPlanSendout_" . $tour_code);
} else {
$update = $this->Group_model->update_VendorPlanSync($vps_sn, $sync_ret);
+ $this->BIZ_orders_model->insert_biz_order_log($coli_sn, "vendorPlanUpdateSendout_" . $tour_code);
}
/** VendorArrangeState VAS_IsReceive */
$this->Group_model->set_plan_received($vas_sn);
diff --git a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
index 9e3cf896..3765469a 100644
--- a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
+++ b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php
@@ -35,6 +35,7 @@ class BIZ_Orders_model extends CI_Model {
public function get_orderinfo_detail($gri_sn, $vei_sn_str)
{
$sql = "SELECT coli.COLI_ID,
+ coli.COLI_SN,
coli.COLI_Department,
cold.COLD_ServiceSN,
(select PAG_Code from biz_packageinfo where PAG_SN=cold.COLD_ServiceSN) as pag_code,
@@ -1831,5 +1832,23 @@ log_message('error',$sql);
$query = $this->HT->query($sql);
}
+ /*!
+ * 写入商务订单操作记录
+ * @param [int] $coli_sn
+ * @param [string] $log_info varchar(100)
+ */
+ public function insert_biz_order_log($coli_sn, $log_info)
+ {
+ $db_column = array(
+ "BOL_COLI_SN" => $coli_sn
+ ,"BOL_OPI_SN" => 29
+ ,"BOL_OPType" => $log_info
+ ,"BOL_OPTime" => date('Y-m-d H:i:s')
+ ,"BOL_Creator" => 29
+ ,"BOL_CreateTime" => date('Y-m-d H:i:s')
+ );
+ return $this->HT->insert("BIZ_OrderOperationLog", $db_column);
+ }
+
}
From 1f5d2652ab44a3afd766c53aa7f96f1891c7d2f5 Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 16:06:38 +0800
Subject: [PATCH 06/35] =?UTF-8?q?=E6=94=B6=E6=AC=BE=E8=AE=B0=E5=BD=95,?=
=?UTF-8?q?=E4=BB=A3=E6=94=B6=E5=9B=A2=E6=AC=BE=E8=AE=B0=E5=BD=95:?=
=?UTF-8?q?=E5=88=86=E5=88=AB=E5=90=88=E5=B9=B6=E4=B8=BA=E4=B8=80=E6=9D=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../vendorPlanSync/controllers/Tulanduo.php | 46 ++++++++++++-------
1 file changed, 29 insertions(+), 17 deletions(-)
diff --git a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
index abb2979c..23f9b2b3 100644
--- a/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
+++ b/webht/third_party/vendorPlanSync/controllers/Tulanduo.php
@@ -269,15 +269,31 @@ class Tulanduo extends CI_Controller
// 增加收款方参数, 增加代收款项
$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();
+ $paid_to_trippest = array();
+ $pay_to_vendor = array();
foreach ($all_payment as $kall => $vall) {
if (in_array($vall->payment_vei, array($GLOBALS['__HAINA_VEI__'], 0)) ) {
- $travel_fees[] = $vall;
+ $paid_to_trippest[] = $vall;
} else {
- $replace_collections[] = $vall;
+ $pay_to_vendor[] = $vall;
}
}
+ // 收款合并为一条
+ $travel_fees = new stdClass();
+ $travel_fees = $paid_to_trippest[0];
+ $travel_fees->GAI_SSJE = 0;
+ foreach ($paid_to_trippest as $ktf => $vtf) {
+ $travel_fees->GAI_SSJE = bcadd($travel_fees->GAI_SSJE, $vtf->GAI_SSJE);
+ }
+ // 代收合并为一条
+ $replace_collections = new stdClass();
+ $replace_collections = $pay_to_vendor[0];
+ $replace_collections->GAI_SSJE = 0;
+ $replace_collections->GAI_Memo = "";
+ foreach ($pay_to_vendor as $ktv => $vtv) {
+ $replace_collections->GAI_SSJE = bcadd($replace_collections->GAI_SSJE, $vtv->GAI_SSJE);
+ $replace_collections->GAI_Memo .= $vtv->GAI_Memo;
+ }
// 按产品拆分 按订单类型拆分? 单团/拼团; 未设置则按产品类型:接送
$fill_order = array();
$processed_date = array();
@@ -499,19 +515,15 @@ class Tulanduo extends CI_Controller
}
// 拆分的订单团款录第一个
if ($i===1) {
- foreach ($travel_fees as $kf => $vf) {
- $this->tldOrderBuilder->setTravelFeesType($kf, "Per Group")
- ->setTravelFeesMoney($kf, $vf->GAI_SSJE)
- ->setTravelFeesNum($kf, 1)
- ->setTravelFeesUnit($kf, 1)
- ->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);
- }
+ $this->tldOrderBuilder->setTravelFeesType(0, "Per Group")
+ ->setTravelFeesMoney(0, $travel_fees->GAI_SSJE)
+ ->setTravelFeesNum(0, 1)
+ ->setTravelFeesUnit(0, 1)
+ ->setTravelFeesSumMoney(0, $travel_fees->GAI_SSJE);
+ // ->setTravelFeesRemark(0, $travel_fees->GAI_Memo);
+ $this->tldOrderBuilder->setReplaceCollectionsType(0, "Per Group")
+ ->setReplaceCollectionsMoney(0, $replace_collections->GAI_SSJE)
+ ->setReplaceCollectionsRemark(0, $replace_collections->GAI_Memo);
}
// 查询是否变更 TODO deprecated
$sync_orderstate = 10;
From 3e25fa5d36ac1ce44b78509e8926bc5f3784ba20 Mon Sep 17 00:00:00 2001
From: cyc
Date: Thu, 23 May 2019 16:14:20 +0800
Subject: [PATCH 07/35] =?UTF-8?q?=E9=83=A8=E7=BD=B2TA=E6=8A=93=E5=8F=96?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=B0=E7=BD=91=E5=89=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tripadvisor_spider/config/config.php | 8 +-
.../tripadvisor_spider/controllers/index.php | 61 +++++++--
.../models/Tripadvisor_Review_model.php | 34 +++++
.../views/third_party_input.php | 122 +++++++++++++++++-
4 files changed, 207 insertions(+), 18 deletions(-)
diff --git a/application/third_party/tripadvisor_spider/config/config.php b/application/third_party/tripadvisor_spider/config/config.php
index 022d61f8..3b452f64 100644
--- a/application/third_party/tripadvisor_spider/config/config.php
+++ b/application/third_party/tripadvisor_spider/config/config.php
@@ -18,10 +18,10 @@ $config['tripadvisor_website'] = array(
'Zhangjiajie' => 'http://www.tripadvisor.com/Attraction_Review-g494933-d8077695-Reviews{PAGENUM}China_Highlights_Zhangjiajie_Day_Tour-Zhangjiajie_Hunan.html',
'HongKong' => 'https://www.tripadvisor.com/Attraction_Review-g294217-d10243951-Reviews{PAGENUM}China_Highlights_Hong_Kong-Hong_Kong.html',
'Panda' => 'https://www.tripadvisor.com/Attraction_Review-g297463-d11489225-Reviews{PAGENUM}China_Highlights-Chengdu_Sichuan.html',
- 'tp_Beijing' => 'https://www.tripadvisor.com/Attraction_Review-g294212-d4006739-Reviews-The_Trippest_Mini_Group_Tours-Beijing.html',
- 'tp_Xian' => 'https://www.tripadvisor.com/Attraction_Review-g298557-d10999897-Reviews-Xi_an_Trippest_Mini_Group_Tours-Xi_an_Shaanxi.html',
- 'tp_Shanghai' => 'https://www.tripadvisor.com/Attraction_Review-g308272-d6222868-Reviews-Shanghai_Trippest_Mini_Group_Tours-Shanghai.html',
- 'tp_Guilin' => 'https://www.tripadvisor.com/Attraction_Review-g298556-d14121459-Reviews-Trippest_Mini_Group_Tours-Guilin_Guangxi.html'
+ 'tp_Beijing' => 'https://www.tripadvisor.com/Attraction_Review-g294212-d4006739-Reviews{PAGENUM}-The_Trippest_Mini_Group_Tours-Beijing.html',
+ 'tp_Xian' => 'https://www.tripadvisor.com/Attraction_Review-g298557-d10999897-Reviews{PAGENUM}-Xi_an_Trippest_Mini_Group_Tours-Xi_an_Shaanxi.html',
+ 'tp_Shanghai' => 'https://www.tripadvisor.com/Attraction_Review-g308272-d6222868-Reviews{PAGENUM}-Shanghai_Trippest_Mini_Group_Tours-Shanghai.html',
+ 'tp_Guilin' => 'https://www.tripadvisor.com/Attraction_Review-g298556-d14121459-Reviews{PAGENUM}-Trippest_Mini_Group_Tours-Guilin_Guangxi.html'
);
diff --git a/application/third_party/tripadvisor_spider/controllers/index.php b/application/third_party/tripadvisor_spider/controllers/index.php
index 6b7e266f..2b8124b6 100644
--- a/application/third_party/tripadvisor_spider/controllers/index.php
+++ b/application/third_party/tripadvisor_spider/controllers/index.php
@@ -267,24 +267,40 @@ class Index extends CI_Controller {
}
}
- public function get_destination_reviews($destination = null){
+ public function get_destination_reviews($destination = null,$pagenum = null){
+ set_time_limit(0);
$ta_website = $this->config->item('tripadvisor_website');
//根据传入的目的地简码获取TA的相应评论列表
if(isset($ta_website[$destination])){
$url = $ta_website[$destination];
+ if($pagenum != ''){
+ $url = str_replace('{PAGENUM}','-or'.$pagenum,$url);
+ }else{
+ $url = str_replace('{PAGENUM}','',$url);
+ }
//根据url获取页面内容
$content = GET_HTTP($url);
-
//进行页面解析
$html_object = str_get_html($content);
-
- //获取第一页列表上的url
- foreach ($html_object->find('.reviewSelector .quote a') as $a_info){
- $url = 'https://www.tripadvisor.com'.$a_info->href;
-
+ $return = new stdClass();
+ $return->urls = array();
+ //获取每个页面上的url
+ foreach ($html_object->find('.reviewSelector .quote a') as $reviews_url){
+ array_push($return->urls,'https://www.tripadvisor.com'.$reviews_url->href);
}
+ print_r(json_encode($return));
+ }
+ }
+
+ //查看抓取到的所有信息
+ public function get_all_reviews($destination){
+ if($destination != ''){
+ $all_reviews = $this->Tripadvisor_Review_model->get_all_reviews($destination);
+ $return = array();
+ $return['list'] = $all_reviews;
+ print_r(json_encode($return));
}
}
@@ -294,8 +310,8 @@ class Index extends CI_Controller {
$destination = $this->input->get_post('destination');
$html_num = $this->input->get_post('html_num');
- //$url = 'https://www.tripadvisor.com/ShowUserReviews-g294212-d4006739-r666168101-The_Trippest_Mini_Group_Tours-Beijing.html';
- $destination = 'tp_Beijing';
+ //$url = 'https://www.tripadvisor.com/ShowUserReviews-g308272-d6222868-r599123490-Shanghai_Trippest_Mini_Group_Tours-Shanghai.html';
+ //$destination = 'tp_Beijing';
if($url != ''){
$content = GET_HTTP($url);
@@ -307,15 +323,28 @@ class Index extends CI_Controller {
//提取局部,不做整个页面的寻找元素,提升效率
$meta_inner = $html_object->find('.meta_inner');
+ $detail_data->user_loc = '';
+ $detail_data->pic = array();
foreach($meta_inner as $detail_info){
//记录该条记录的id
$detail_data->html_id = $html_num;
+
//获取评论者帐号
foreach($detail_info->find('.info_text') as $review_name){
$detail_data->review_name = $review_name->first_child()->innertext;
}
+ //获取评论者帐号
+ foreach($detail_info->find('.info_text .userLoc strong') as $user_loc){
+ $detail_data->user_loc = $user_loc->innertext;
+ }
+
+ //抓取评论时间
+ foreach($detail_info->find('.ratingDate') as $ratingDate){
+ $detail_data->rating_date = date('Y-m-d',strtotime($ratingDate->title));
+ }
+
//获取评论者ID
foreach($detail_info->find('.reviewSelector') as $review_id){
$detail_data->review_id = str_replace('review_','',$review_id->id);
@@ -337,13 +366,21 @@ class Index extends CI_Controller {
$detail_data->content = $content->innertext;
}
- //获取评论时间
- foreach($detail_info->find('.prw_reviews_stay_date_hsx') as $review_date){
- $detail_data->review_date = str_replace('Date of experience: ','',$review_date->innertext);
+ //获取体验时间
+ foreach($detail_info->find('.prw_reviews_stay_date_hsx') as $experience_date){
+ $detail_data->experience_date = date('Y-m-d',strtotime(str_replace('Date of experience: ','',$experience_date->innertext)));
+ }
+
+ //抓取图片
+ foreach($detail_info->find('.imgWrap .noscript') as $imgWrap){
+ $imgWrap->src = str_replace('photo-l','photo-s',$imgWrap->src);
+ array_push($detail_data->pic,$imgWrap->src);
}
}
//拿到数据后进行入库
+ $this->Tripadvisor_Review_model->add_reviews($detail_data);
+
print_r(json_encode($detail_data));
}
}
diff --git a/application/third_party/tripadvisor_spider/models/Tripadvisor_Review_model.php b/application/third_party/tripadvisor_spider/models/Tripadvisor_Review_model.php
index 25414fc7..d2f8cf21 100644
--- a/application/third_party/tripadvisor_spider/models/Tripadvisor_Review_model.php
+++ b/application/third_party/tripadvisor_spider/models/Tripadvisor_Review_model.php
@@ -161,5 +161,39 @@ class Tripadvisor_Review_model extends CI_Model {
$result = $query->result();
return $result;
}
+
+ public function add_reviews($detail_data){
+ $sql = "
+ IF NOT EXISTS(
+ select tr_review_id from Ta_Reviews where tr_review_id = ?
+ )
+ insert into Ta_Reviews
+ (
+ tr_destination,
+ tr_review_id,
+ tr_review_title,
+ tr_content,
+ tr_member_name,
+ tr_member_loc,
+ tr_member_starts,
+ tr_review_date,
+ tr_visited_date,
+ tr_review_pics,
+ tr_gri_no,
+ tr_tgi_sn,
+ tr_datetime
+ )values(
+ ?,?,?,?,?,?,?,?,?,?,?,?,GETDATE()
+ )
+ ";
+ $query = $this->INFO->query($sql, array($detail_data->review_id,$detail_data->destination,$detail_data->review_id,$detail_data->title,$detail_data->content,$detail_data->review_name,$detail_data->user_loc,$detail_data->star_nums,$detail_data->rating_date,$detail_data->experience_date,json_encode($detail_data->pic),'',''));
+ //$result = $query->result();
+ }
+
+ public function get_all_reviews($destination){
+ $sql = 'select * from Ta_Reviews where tr_destination = ? order by tr_review_date desc';
+ $query = $this->INFO->query($sql,array($destination));
+ return $query->result();
+ }
}
diff --git a/application/third_party/tripadvisor_spider/views/third_party_input.php b/application/third_party/tripadvisor_spider/views/third_party_input.php
index 0643046e..eb84da06 100644
--- a/application/third_party/tripadvisor_spider/views/third_party_input.php
+++ b/application/third_party/tripadvisor_spider/views/third_party_input.php
@@ -10,9 +10,15 @@
手动录入
+
+ 列表抓取
+
excel导入
+
+ 数据预览
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -70,6 +124,7 @@ $(function(){
//获取填写的url
var ta_url = $('#ta_url').val();
var stars = '';
+ var pic_htm = '';
if(ta_url == ''){
alert('请填写需要采集的TA地址');
}else{
@@ -80,8 +135,14 @@ $(function(){
var data = $.parseJSON(json);
console.log(data);
$('.ta_content').html(data.content);
- $('.review_date').html('Date of experience: '+data.review_date);
+ $('.experience_date').html('Date of experience: '+data.experience_date);
$('.review_name').html(data.review_name);
+ $('.user_loc').html(data.user_loc);
+ $('.rating_date').html('Reviewed:'+data.rating_date);
+ for(var i=0;i
';
+ }
+ $('.review_pic').html(pic_htm);
$('.ta_title').html(''+data.title+'');
if(data.star_nums){
for(var i=0;i';
+ html += '
'+jsondata.list[y].tr_member_name+'
'+jsondata.list[y].tr_member_loc+'
';
+ for(var i=0;i';
+ }
+ html += '
'+jsondata.list[y].tr_review_title+'
Reviewed: '+jsondata.list[y].tr_review_date+'
'+jsondata.list[y].tr_content+'
';
+ html += '
';
+
+ if($.parseJSON(jsondata.list[y].tr_review_pics).length > 0){
+ for(var j=0;j<$.parseJSON(jsondata.list[y].tr_review_pics).length;j++){
+ html += '
[j]+')
';
+ }
+ }
+
+ html += '
Date of experience: '+jsondata.list[y].tr_visited_date+'
';
+ }
+ html += 'total nums : '+jsondata.list.length+'
'
+ $('#list_view_content').html(html);
+ }
+ });
+ }
+ });
});
\ No newline at end of file
From 94fffeaf115ee0576d6227732bb0bb613dd0994e Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 16:18:16 +0800
Subject: [PATCH 08/35] =?UTF-8?q?=E6=B5=8B=E8=AF=95PayPal=20webhook?=
=?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/paypal/controllers/index.php | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/webht/third_party/paypal/controllers/index.php b/webht/third_party/paypal/controllers/index.php
index b4dfbc2c..f170bb79 100644
--- a/webht/third_party/paypal/controllers/index.php
+++ b/webht/third_party/paypal/controllers/index.php
@@ -611,6 +611,11 @@ class Index extends CI_Controller {
return ;
}
+ public function paypal_webhook()
+ {
+ log_message('error',json_encode($this->input->post()));
+ }
+
//解析出订单号
public function analysis_orderid($note_invoice_string) {
$data = array();
From 7a33f49a2c89e3526bc9f37b3b466ad4abc8d48a Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 16:27:38 +0800
Subject: [PATCH 09/35] =?UTF-8?q?=E6=B5=8B=E8=AF=95PayPal=20webhook?=
=?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/paypal/controllers/index.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/webht/third_party/paypal/controllers/index.php b/webht/third_party/paypal/controllers/index.php
index f170bb79..e609fba6 100644
--- a/webht/third_party/paypal/controllers/index.php
+++ b/webht/third_party/paypal/controllers/index.php
@@ -613,7 +613,7 @@ class Index extends CI_Controller {
public function paypal_webhook()
{
- log_message('error',json_encode($this->input->post()));
+ log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
}
//解析出订单号
From 639add9ad09b5fcb76dcca6f3e37d01172bc503d Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 17:04:06 +0800
Subject: [PATCH 10/35] =?UTF-8?q?paypal=20=E6=8E=A5=E5=8F=97webhook?=
=?UTF-8?q?=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../third_party/paypal/controllers/index.php | 64 ++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)
diff --git a/webht/third_party/paypal/controllers/index.php b/webht/third_party/paypal/controllers/index.php
index e609fba6..35fae3e7 100644
--- a/webht/third_party/paypal/controllers/index.php
+++ b/webht/third_party/paypal/controllers/index.php
@@ -611,9 +611,71 @@ class Index extends CI_Controller {
return ;
}
+ /*!
+ * [paypal_webhook description]
+ * @author LYT
+ * @date 2019-05-23
+ * PAYMENT.SALE.COMPLETED 没有付款人信息
+ * * resource.id=txn_id
+ * * invoice_number=invoice_number
+ */
public function paypal_webhook()
{
- log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
+ $raw_post = file_get_contents('php://input');
+ if (empty($raw_post)) {
+ return;
+ }
+ $post_data = json_decode($raw_post);
+ if ($post_data->event_type != 'PAYMENT.SALE.COMPLETED') {
+ log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
+ return;
+ }
+ $pn_txn_id = $post_data->resource->id;
+
+ $pn_invoice = $post_data->resource->invoice_number;
+
+ $pn_mc_gross = $post_data->resource->amount->total;
+
+ // $pn_item_name = $this->input->post('item_name');
+ // if (empty($pn_item_name)) {
+ // $pn_item_name = $this->input->post('item_name1'); //APP用SDK支付的话会是item_name1
+ // empty($pn_item_name) ? $pn_item_name = '' : false;
+ // }
+
+ // $pn_item_number = $this->input->post('item_number');
+ // if (empty($pn_item_number)) {
+ // $pn_item_number = $this->input->post('item_number1'); //APP用SDK支付的话会是item_number1
+ // empty($pn_item_number) ? $pn_item_number = '' : false;
+ // }
+
+ $pn_mc_currency = $post_data->resource->amount->currency;
+ $pn_payment_status = $post_data->resource->state;
+ $pn_payment_date = $post_data->resource->update_time;
+ // $pn_payer = $post_data->resource->amount->currency;
+ // $pn_payer_email = $post_data->resource->amount->currency;
+ $pn_memo = $raw_post;
+ if (!empty($pn_txn_id)) {
+ //把PDT时间转成GMT时间
+ // $pn_payment_date = gmdate('Y-m-d H:i:s', strtotime($pn_payment_date));
+ $this->Note_model->save_paypal_note(
+ $pn_txn_id,
+ $pn_invoice,
+ "",
+ $pn_mc_gross,
+ "",
+ "",
+ $pn_mc_currency,
+ $pn_payment_status,
+ "",
+ "",
+ $pn_payment_date,
+ $pn_memo);
+ log_message('error','paypal-webhook-succeed ' . $pn_txn_id . ' # ' . $pn_invoice);
+ // echo 'ok';
+ } else {
+ // echo 'no';
+ }
+ return;
}
//解析出订单号
From aa2186d81a182c2189cc667e79dff2d858003307 Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 17:07:01 +0800
Subject: [PATCH 11/35] =?UTF-8?q?paypal=20=E6=8E=A5=E5=8F=97webhook?=
=?UTF-8?q?=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/paypal/controllers/index.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/webht/third_party/paypal/controllers/index.php b/webht/third_party/paypal/controllers/index.php
index 35fae3e7..78badbfe 100644
--- a/webht/third_party/paypal/controllers/index.php
+++ b/webht/third_party/paypal/controllers/index.php
@@ -627,7 +627,7 @@ class Index extends CI_Controller {
}
$post_data = json_decode($raw_post);
if ($post_data->event_type != 'PAYMENT.SALE.COMPLETED') {
- log_message('error',"paypal_webhook" . var_export(file_get_contents('php://input'), 1));
+ log_message('error',"paypal_webhook" . var_export($raw_post, 1));
return;
}
$pn_txn_id = $post_data->resource->id;
From cd67f710b1ed9c53eee549e7384e4d62bf1ff4c4 Mon Sep 17 00:00:00 2001
From: lyt
Date: Thu, 23 May 2019 17:25:44 +0800
Subject: [PATCH 12/35] =?UTF-8?q?PayPal=20=E5=A4=84=E7=90=86webhook?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
webht/third_party/paypal/controllers/index.php | 6 +++---
webht/third_party/paypal/views/note_list.php | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/webht/third_party/paypal/controllers/index.php b/webht/third_party/paypal/controllers/index.php
index 78badbfe..1543b2ea 100644
--- a/webht/third_party/paypal/controllers/index.php
+++ b/webht/third_party/paypal/controllers/index.php
@@ -817,14 +817,14 @@ class Index extends CI_Controller {
echo ++$show_index . ' ' . $item->pn_txn_id . '
';
}
//退款状态默认为已经处理,陆燕在退款前手动通知外联了,系统跳过处理
- if ($item->pn_payment_status == 'Refunded') {
+ if (strtolower($item->pn_payment_status) == 'refunded') {
$this->send_refund($item, $handpick, $old_ssje);
// $this->Note_model->update_send($item->pn_txn_id, 'send');
continue;
}
//只处理完成状态,其他状态由陆燕处理
- if ($item->pn_payment_status !== 'Completed') {
+ if (strtolower($item->pn_payment_status) !== 'completed') {
$this->Note_model->update_send($item->pn_txn_id, 'sendfail');
continue;
}
@@ -852,7 +852,7 @@ class Index extends CI_Controller {
}
$orderid_info = json_decode($orderid_info);
// 仅自动程序发送提醒 false == $handpick &&
- if ($item->pn_payment_status === 'Completed'
+ if (strtolower($item->pn_payment_status) === 'completed'
&& $orderid_info->ordertype == 'A' && strpos($get_order_no, 'China Train Booking') !== false) {
// APP 组的China Train Booking-开头的订单号
// 发送邮件提醒外联核对收款金额, 不写入收款记录
diff --git a/webht/third_party/paypal/views/note_list.php b/webht/third_party/paypal/views/note_list.php
index 4dcfcb2d..c40e675e 100644
--- a/webht/third_party/paypal/views/note_list.php
+++ b/webht/third_party/paypal/views/note_list.php
@@ -213,7 +213,7 @@ echo "