diff --git a/webht/third_party/pay/controllers/PaymentService.php b/webht/third_party/pay/controllers/PaymentService.php index 69cad932..1d0b0e49 100644 --- a/webht/third_party/pay/controllers/PaymentService.php +++ b/webht/third_party/pay/controllers/PaymentService.php @@ -138,6 +138,8 @@ class PaymentService extends CI_Controller { if (empty($data['unsend_list'])) { $data['unsend_list'] = $this->note_model->sendfail_note(20); } + // var_dump($data['unsend_list']); + // die; // 开始处理 foreach ($data['unsend_list'] as $key => $item) { if ($item->OPN_accountMethod === 15002) { @@ -642,7 +644,10 @@ class PaymentService extends CI_Controller { $data['group_accout_info'] = $this->account_model->get_group_accout_info($order_sn, $pn_txn_id); // var_dump($data); - echo json_encode($this->load->view('payment_gai_setting', $data, true)); + $this->output + ->set_content_type('application/json') + ->set_output(json_encode($this->load->view('payment_gai_setting', $data, true))); + // echo json_encode($this->load->view('payment_gai_setting', $data, true), ); } public function gai_modal_save() @@ -867,22 +872,30 @@ class PaymentService extends CI_Controller { } $list = $this->note_model->query_paypal_current_rate(); $has_gt_rate = array_some($list, function($ele) { return $ele['OPN_paymentSource'] === 'paypal' ? $ele['calc_rate'] > 0.032 : false; }); - if (!$has_gt_rate) { - return false; - } + // if (!$has_gt_rate) { + // return false; + // } $BCDC_I = array_search('paypal', array_column($list, 'OPN_paymentSource')); $current_BCDC = $list[$BCDC_I]['calc_rate']*100; $ACDC = array_values(array_filter($list, function($ele) { return $ele['OPN_paymentSource'] !== 'paypal'; })); $current_ACDC = isset($ACDC[0]) ? $ACDC[0]['calc_rate']*100 : ''; // BCDC 钱包渠道大于 3.2% $time_set = date('Y-m-d_H_i_s'); + $today = date('Y-m-d'); if ($notify === '1') { $fromName = 'PayPal 费率提醒'; $fromEmail = 'lyt@hainatravel.com'; $toName = 'LOT, fgy'; // 'fgy'; $toEmail = 'lyt@hainatravel.com, fgy@hainatravel.com'; // 'fgy@hainatravel.com'; $subject = $fromName; - $body = "PayPal费率高于3.2%,请及时处理.
当前费率:
PayPal钱包渠道: {$current_BCDC}%
PayPal ACDC渠道(GooglePay, ApplePay): {$current_ACDC}%
------------
支付系统自动发送
". date("Y-m-d H:i"). "
"; + $feeTable = ""; + foreach ($list as $key => $row) { + $feeTable .= ""; + } + $feeTable .= "
账户支付方式费率
{$row['OPN_fundSource']}{$row['OPN_paymentSource']}{$row['calc_rate']}
"; + $body = "本月费率: {$today}
{$feeTable}------------
支付系统自动发送
". date("Y-m-d H:i"). "
"; + // PayPal费率高于3.2%,请及时处理.
+ // PayPal钱包渠道: {$current_BCDC}%
PayPal ACDC渠道(GooglePay, ApplePay, 信用卡收单): {$current_ACDC}%
$M_AddTime = $time_set; $M_State = 0; $this->account_model->save_automail($fromName, $fromEmail, $toName, $toEmail, $subject, $body, 0, $M_State, $M_AddTime, $fromName, $fromName); diff --git a/webht/third_party/pay/models/Online_payment_note_model.php b/webht/third_party/pay/models/Online_payment_note_model.php index 613d921f..1473b83f 100644 --- a/webht/third_party/pay/models/Online_payment_note_model.php +++ b/webht/third_party/pay/models/Online_payment_note_model.php @@ -614,19 +614,26 @@ class Online_payment_note_model extends CI_Model { } public function query_paypal_current_rate() { - $sql = "SELECT TOP 10 opn.OPN_payFee - ,opn.OPN_payAmount - ,opn.OPN_netAmount - ,opn.OPN_paymentSource - ,opn.OPN_fundSource - ,round(((0 - cast(opn_payfee AS FLOAT) - 0.3) / cast(OPN_payAmount AS FLOAT)), 4) AS calc_rate - -- ,opn.* - FROM OnlinePaymentNote AS opn + $sql = "SELECT * + FROM ( + SELECT TOP 1000 + row_number() OVER (PARTITION BY OPN_paymentSource,opn.OPN_fundSource ORDER BY OPN_completeTime ASC) AS rownum + ,opn.OPN_fundSource + ,opn.OPN_paymentSource + ,round(((0 - cast(opn_payfee AS FLOAT) - 0.3) / cast(OPN_payAmount AS FLOAT)), 4) AS calc_rate + ,OPN_completeTime + ,opn.OPN_transactionId + FROM InfoManager.dbo.OnlinePaymentNote AS opn WHERE OPN_accountMethod = 15002 - AND opn.OPN_transactionResult = 'completed' - AND cast(OPN_payAmount AS FLOAT) > 100 - AND opn.OPN_paymentSource IS NOT NULL - ORDER BY opn.OPN_completeTime DESC"; + AND opn.OPN_transactionResult = 'completed' + AND opn.OPN_noticeType = 'pay' + AND cast(OPN_payAmount AS FLOAT) > 100 + -- AND opn.OPN_paymentSource IS NOT NULL + AND isnull(opn.OPN_paymentSource, '') != '' + AND opn.OPN_completeTime >= DATEADD(month, DATEDIFF(month, 0, GETDATE()) + 0, 0) + ) AS tt + WHERE tt.rownum = 1 + ORDER BY OPN_fundSource,OPN_paymentSource"; $ret = $this->info->query($sql)->result_array(); return $ret; }