97 lines
3.0 KiB
PHP
97 lines
3.0 KiB
PHP
|
<?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');
|
|||
|
}
|
|||
|
}
|