From 35fdcad3246a365c649db9e102e29acddd179bf4 Mon Sep 17 00:00:00 2001 From: elf <360197197@qq.com> Date: Wed, 19 Feb 2025 01:33:42 +0800 Subject: [PATCH] yh --- Application/Base/Service/PayService.class.php | 18 +++++++----- .../Controller/DataController.class.php | 28 +++++++++---------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/Application/Base/Service/PayService.class.php b/Application/Base/Service/PayService.class.php index 87c6254..20a8200 100644 --- a/Application/Base/Service/PayService.class.php +++ b/Application/Base/Service/PayService.class.php @@ -106,39 +106,42 @@ class PayService { } } - private function getAuthCode($payOrderNumber) { + private function getUserIdAndAuthCode($payOrderNumber) { $authCode = ''; + $userId = 0; $payWhere = substr($payOrderNumber, 0, 2); switch ($payWhere) { case 'SP': $spend = M('Spend',"tab_"); $map['pay_order_number'] = $payOrderNumber; $map['pay_way'] = 60; - $d = $spend->field('auth_code')->where($map)->find(); + $d = $spend->field('auth_code,user_id')->where($map)->find(); $authCode = $d['auth_code']; + $userId = $d['user_id']; break; case 'PF': $deposit = M('deposit',"tab_"); $map['pay_order_number'] = $payOrderNumber; $map['pay_way'] = 60; - $d = $deposit->field('auth_code')->where($map)->find(); + $d = $deposit->field('auth_code,user_id')->where($map)->find(); $authCode = $d['auth_code']; + $userId = $d['user_id']; break; default: exit('accident order data'); break; } - return $authCode; + return [$userId, $authCode]; } public function processMyCardCallback($payOrderNumber) { - $authCode = $this->getAuthCode($payOrderNumber); + list($userId, $authCode) = $this->getUserIdAndAuthCode($payOrderNumber); if (empty($authCode)) { MKLog::write('processMyCardCallback:' . $payOrderNumber . ' empty authCode'); return false; } - $result = $this->finishMyCardPay($authCode); + $result = $this->finishMyCardPay($userId, $authCode); if (!$result) { MKLog::write('finishMyCardPay fail'); return false; @@ -170,7 +173,7 @@ class PayService { return $ret; } - public function finishMyCardPay($authCode) { + public function finishMyCardPay($userId, $authCode) { $tradeResult = Api::tradeQuery($authCode); if ($tradeResult['ReturnCode'] != 1) { MKLog::write('finishMyCardPay tradeQuery fail:' . json_encode($tradeResult, JSON_UNESCAPED_UNICODE)); @@ -184,6 +187,7 @@ class PayService { $trade = $tradeModel->where($map)->find(); if (empty($trade)) { $tradeModel->add([ + 'user_id' => $userId, 'payment_type' => $tradeResult['PaymentType'], // 'trade_seq' => $tradeResult['TradeSeq'], 'mycard_trade_no' => $tradeResult['MyCardTradeNo'], diff --git a/Application/Callback/Controller/DataController.class.php b/Application/Callback/Controller/DataController.class.php index 7979c1e..56f6d67 100644 --- a/Application/Callback/Controller/DataController.class.php +++ b/Application/Callback/Controller/DataController.class.php @@ -22,31 +22,31 @@ class DataController extends BaseController $startDateTime = $startDateTime ? strtotime($startDateTime) : null; $endDateTime = $endDateTime ? strtotime($endDateTime) : null; - $spendModel = M('Spend',"tab_"); - $conditions = ['pay_way' => 60, 'pay_status' => 1]; + $tradeModel = M('MycardTrade',"tab_"); + $conditions = []; if ($startDateTime && $endDateTime) { - $conditions[] = 'payed_time between ' . $startDateTime . ' and ' . $endDateTime; + $conditions[] = 'created_at between ' . $startDateTime . ' and ' . $endDateTime; } elseif ($startDateTime) { - $conditions['payed_time'] = ['gt', $startDateTime]; + $conditions['created_at'] = ['gt', $startDateTime]; } elseif ($endDateTime) { - $conditions['payed_time'] = ['lt', $endDateTime]; + $conditions['created_at'] = ['lt', $endDateTime]; } if ($myCardTradeNo) { $conditions['order_number'] = $myCardTradeNo; } - $list = $spendModel->where($conditions)->select(); + $list = $tradeModel->where($conditions)->select(); $trades = []; foreach ($list as $item) { $trades[] = [ - 'PaymentType' => '', - 'TradeSeq' => '', - 'MyCardTradeNo' => $item['order_number'], - 'FacTradeSeq' => $item['pay_order_number'], - 'CustomerId' => (string)$item['user_id'], - 'Amount' => (string)$item['pay_amount'], - 'Currency' => 'TWD', - "TradeDateTime" => date('Y-m-dTH:i:s', $item['payed_time']), + 'PaymentType' => $item['payment_type'], + 'TradeSeq' => $item['trade_seq'], + 'MyCardTradeNo' => $item['mycard_trade_no'], + 'FacTradeSeq' => $item['fac_trade_seq'], + 'CustomerId' => $item['user_id'], + 'Amount' => $item['amount'], + 'Currency' => $item['currency'], + "TradeDateTime" => date('Y-m-dTH:i:s', strtotime($item['created_at'])), // 'CreateAccountDateTime' => '', // 'CreateAccountIP' => '', ];