支付配置读取优化

feat/task1-c-wallet
gongfuxiang 2022-04-16 14:54:02 +08:00
parent 80c7b13705
commit 659931e588
5 changed files with 59 additions and 30 deletions

View File

@ -52,7 +52,7 @@ class Payment extends Common
public function Index()
{
// 插件列表
$ret = PaymentService::PlugPaymentList();
$ret = PaymentService::PluginsPaymentList();
MyViewAssign('data_list', $ret['data']);
// 不能删除的支付方式

View File

@ -1104,13 +1104,13 @@ class BuyService
$is_under_line = 0;
if(!empty($params['payment_id']))
{
$payment = PaymentService::PaymentList(['where'=>['id'=>intval($params['payment_id'])]]);
if(empty($payment[0]))
$payment = PaymentService::PaymentData(['where'=>['id'=>intval($params['payment_id'])]]);
if(empty($payment))
{
return DataReturn('支付方式有误', -1);
}
$payment_id = $payment[0]['id'];
$is_under_line = in_array($payment[0]['payment'], MyConfig('shopxo.under_line_list')) ? 1 : 0;
$payment_id = $payment['id'];
$is_under_line = in_array($payment['payment'], MyConfig('shopxo.under_line_list')) ? 1 : 0;
// 线下支付订单是否直接成功
// 是否开启线下订单正常进入流程

View File

@ -1083,8 +1083,8 @@ class OrderAftersaleService
private static function OriginalRoadRefundment($params, $aftersale, $order, $pay_log)
{
// 支付方式
$payment = PaymentService::PaymentList(['where'=>['payment'=>$pay_log['payment']]]);
if(empty($payment[0]))
$payment = PaymentService::PaymentData(['where'=>['payment'=>$pay_log['payment']]]);
if(empty($payment))
{
return DataReturn('支付方式有误', -1);
}
@ -1107,7 +1107,7 @@ class OrderAftersaleService
'refund_reason' => $order['order_no'].'订单退款'.$aftersale['price'].'元',
'pay_time' => $pay_log['pay_time'],
];
$ret = (new $pay_name($payment[0]['config']))->Refund($pay_params);
$ret = (new $pay_name($payment['config']))->Refund($pay_params);
if(!isset($ret['code']))
{
return DataReturn('支付插件退款处理有误', -1);

View File

@ -156,11 +156,7 @@ class OrderService
$payment_id = empty($params['payment_id']) ? Db::name('Order')->where(['id'=>$ids[0]])->value('payment_id') : intval($params['payment_id']);
if(!empty($payment_id))
{
$res = PaymentService::PaymentList(['where'=>['id'=>$payment_id]]);
if(!empty($res[0]))
{
$payment = $res[0];
}
$payment = PaymentService::PaymentData(['where'=>['id'=>$payment_id]]);
}
if(empty($payment))
{
@ -437,14 +433,12 @@ class OrderService
}
// 支付方式
$payment = [];
$payment_id = empty($params['payment_id']) ? $order['payment_id'] : intval($params['payment_id']);
$res = PaymentService::PaymentList(['where'=>['id'=>$payment_id]]);
if(empty($res[0]))
$payment = PaymentService::PaymentData(['where'=>['id'=>$payment_id]]);
if(empty($payment))
{
return DataReturn('支付方式有误', -1);
}
$payment = $res[0];
// 订单用户信息
$user = UserService::GetUserViewInfo($order['user_id']);
@ -575,13 +569,11 @@ class OrderService
{
return DataReturn('支付方式标记异常', -1);
}
$payment = [];
$res = PaymentService::PaymentList(['where'=>['payment'=>$payment_name]]);
if(empty($res[0]))
$payment = PaymentService::PaymentData(['where'=>['payment'=>$payment_name]]);
if(empty($payment))
{
return DataReturn('支付方式有误', -1);
}
$payment = $res[0];
// 支付数据校验
$pay_name = 'payment\\'.$payment_name;
@ -692,13 +684,11 @@ class OrderService
public static function Notify($params = [])
{
// 支付方式
$payment = [];
$res = PaymentService::PaymentList(['where'=>['payment'=>PAYMENT_TYPE]]);
if(empty($res[0]))
$payment = PaymentService::PaymentData(['where'=>['payment'=>PAYMENT_TYPE]]);
if(empty($payment))
{
return DataReturn('支付方式有误', -1);
}
$payment = $res[0];
// 支付数据校验
$pay_name = 'payment\\'.PAYMENT_TYPE;

View File

@ -68,7 +68,7 @@ class PaymentService
* @date 2018-09-17
* @desc description
*/
public static function PlugPaymentList()
public static function PluginsPaymentList()
{
// 初始化
self::Init();
@ -129,8 +129,8 @@ class PaymentService
}
}
// 支付方式列表钩子
$hook_name = 'plugins_service_payment_list';
// 所有支付方式列表钩子
$hook_name = 'plugins_service_payment_all_list';
MyEventTrigger($hook_name, [
'hook_name' => $hook_name,
'is_backend' => true,
@ -212,7 +212,46 @@ class PaymentService
$where['is_open_user'] = intval($params['is_open_user']);
}
$data = Db::name('Payment')->where($where)->field('id,logo,name,sort,payment,config,apply_terminal,apply_terminal_old,element,is_enable,is_open_user')->order('sort asc')->select()->toArray();
return self::DataListHandle(Db::name('Payment')->where($where)->field('id,logo,name,sort,payment,config,apply_terminal,apply_terminal_old,element,is_enable,is_open_user')->order('sort asc')->select()->toArray());
}
/**
* 获取支付方式数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2022-04-16
* @desc description
* @param [array] $params [输入参数]
*/
public static function PaymentData($params = [])
{
// 获取支付数据
$res = self::PaymentList($params);
$data = empty($res) || empty($res[0]) ? [] : $res[0];
// 支付方式数据钩子
$hook_name = 'plugins_service_payment_data';
MyEventTrigger($hook_name, [
'hook_name' => $hook_name,
'is_backend' => true,
'data' => &$data,
]);
return $data;
}
/**
* 列表数据处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2022-04-16
* @desc description
* @param [array] $data [支付方式列表]
*/
public static function DataListHandle($data)
{
if(!empty($data) && is_array($data))
{
foreach($data as &$v)
@ -1077,7 +1116,7 @@ php;
return DataReturn('支付通知入口文件不存在,请联系管理员处理', -11, $result);
}
}
return DataReturn('校验成功', $result);
return DataReturn('校验成功', 0, $result);
}
/**