Alipay 计算实收金额

feature/trippest
lyt 6 years ago
parent a5e47bc21e
commit 586e56b5a8

@ -400,6 +400,7 @@ class AlipayTradeService extends CI_Controller
//没有分配订单之前先添加付款记录,这个过程可能会执行多次,必须在添加记录前查找是否有数据
if (!empty($orderid_info)) {
$currencyCode = str_replace("CNY", "RMB", trim(mb_strtoupper($item->ALI_currencyCode)));
$ssje = $this->Alipay_model->get_ssje($item->ALI_orderAmount, $currencyCode);
$USD_amount = $this->Alipay_model->get_USD($item->ALI_orderAmount, $currencyCode);
//更新还没有填的客邮和交易号de收款记录商务订单
if (isset($advisor_info->order_type) && $advisor_info->order_type == 0) {
@ -426,6 +427,7 @@ class AlipayTradeService extends CI_Controller
$item->ALI_completeTime,
$currencyCode,
$USD_amount,
$ssje,
$item->ALI_completeTime,
$item->ALI_completeTime,
$item->ALI_acquiringTime,
@ -447,6 +449,7 @@ class AlipayTradeService extends CI_Controller
$item->ALI_orderAmount,
$item->ALI_acquiringTime,
$currencyCode,
$ssje,
$item->ALI_completeTime,
$item->ALI_completeTime,
$item->ALI_acquiringTime,

@ -180,7 +180,7 @@ class Alipay_model extends CI_Model {
}
//添加收款记录(商务订单)
public function add_account_info($GAI_COLI_SN, $GAI_COLI_ID, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_Money, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo) {
public function add_account_info($GAI_COLI_SN, $GAI_COLI_ID, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_Money, $GAI_SSJE, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo) {
//先判断是否有这条数据
$sql = "
@ -197,6 +197,7 @@ class Alipay_model extends CI_Model {
,GAI_SQDate
,GAI_SQJECurrency
,GAI_Money
,GAI_SSJE
,GAI_SSDate
,GAI_AccountDate
,GAI_SubmitDate
@ -207,13 +208,13 @@ class Alipay_model extends CI_Model {
,GAI_State
,DeleteFlag
) VALUES (?,?,15015,?,?,?,?,?,?,?,?,?,?,?,0,0)";
$query = $this->HT->query($sql, array($GAI_AccreditNo, $GAI_COLI_SN, $GAI_COLI_ID, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_Money, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo));
$query = $this->HT->query($sql, array($GAI_AccreditNo, $GAI_COLI_SN, $GAI_COLI_ID, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_Money, $GAI_SSJE, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo));
$insertid = $this->HT->last_id('BIZ_GroupAccountInfo');
return $query;
}
//添加收款记录(传统订单)
public function add_tour_account_info($GAI_COLI_SN, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo) {
public function add_tour_account_info($GAI_COLI_SN, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_SSJE, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo) {
//先判断是否有这条数据
$sql = "
@ -228,6 +229,7 @@ class Alipay_model extends CI_Model {
,GAI_SQJE
,GAI_SQDate
,GAI_SQJECurrency
,GAI_SSJE
,GAI_SSDate
,GAI_AccountDate
,GAI_SubmitDate
@ -238,7 +240,7 @@ class Alipay_model extends CI_Model {
,GAI_State
,DeleteFlag
) VALUES (?,15015,?,?,?,?,?,?,?,?,?,?,0,0)";
$query = $this->HT->query($sql, array($GAI_AccreditNo, $GAI_COLI_SN, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo));
$query = $this->HT->query($sql, array($GAI_AccreditNo, $GAI_COLI_SN, $GAI_SQJE, $GAI_SQDate, $GAI_SQJECurrency, $GAI_SSJE, $GAI_SSDate, $GAI_AccountDate, $GAI_SubmitDate, $GAI_CusName, $GAI_CusEmail, $GAI_AccreditNo, $GAI_Memo));
$insertid = $this->HT->last_id('GroupAccountInfo');
return $insertid;
}
@ -347,4 +349,22 @@ class Alipay_model extends CI_Model {
);
return $this->HT->insert("BIZ_OrderOperationLog", $db_column);
}
/*!
* 调用数据库函数,生成实收金额
* @author LYT <lyt@hainatravel.com>
* @date 2017-11-03
* @param decimal(18,3) $amount
* @param varchar(6) $currency
*/
public function get_ssje($amount, $currency='RMB', $code='15015')
{
$sql = "SELECT dbo.GetSSJEFromSQJE(?, ?, ?) as ssje";
$query = $this->HT->query($sql,array($code, $currency, $amount));
$result = $query->result();
if ( ! empty($result)) {
return $result[0]->ssje;
}
return 0;
}
}

Loading…
Cancel
Save