test_lgq/niucloud/app/adminapi/controller/pay/PayChannel.php

97 lines
3.0 KiB
PHP
Raw Normal View History

2024-01-24 17:36:08 +08:00
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\adminapi\controller\pay;
use app\dict\pay\PayDict;
use app\service\admin\pay\PayChannelService;
use core\base\BaseAdminController;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\Response;
class PayChannel extends BaseAdminController
{
/**
* 支付渠道设置
* @return Response
*/
public function set($channel, $type)
{
$data = $this->request->params([
['is_default', 0],
['config', []],
['status', 0]
]);
$data['config']['type'] = $type;
$this->validate($data['config'], 'app\validate\pay\Pay.set');
(new PayChannelService())->set($channel, $type, $data);
return success('SET_SUCCESS');
}
/**
* 支付渠道列表
* @return Response
*/
public function lists()
{
return success((new PayChannelService())->getChannelList());
}
/**
* 通过渠道获取支付配置
* @param $channel
* @return Response
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function getListByChannel($channel)
{
return success((new PayChannelService())->getListByChannel($channel));
}
/**
* 支付设置
* @return Response
*/
public function setTransfer()
{
$data = $this->request->params([
['wechatpay_config', []],
['alipay_config', []],
]);
$this->validate(array_merge($data['wechatpay_config'], ['type' => PayDict::WECHATPAY]), 'app\validate\pay\Pay.set');
$this->validate(array_merge($data['alipay_config'], ['type' => PayDict::ALIPAY]), 'app\validate\pay\Pay.set');
(new PayChannelService())->setTransfer($data);
return success('SET_SUCCESS');
}
/**
* 多渠道支付设置
* @return Response
*/
public function setAll()
{
$data = $this->request->params([
['config', []],
]);
// $this->validate(array_merge($data['wechatpay_config'], ['type' => PayDict::WECHATPAY]), 'app\validate\pay\Pay.set');
// $this->validate(array_merge($data['alipay_config'], ['type' => PayDict::ALIPAY]), 'app\validate\pay\Pay.set');
(new PayChannelService())->setAll($data['config']);
return success('SET_SUCCESS');
}
}