mirror of
https://gitee.com/technical-laohu/mpay.git
synced 2026-05-07 01:01:10 +08:00
135 lines
4.2 KiB
PHP
135 lines
4.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace app\controller\api;
|
|
|
|
use app\BaseController;
|
|
use app\model\PayAccount;
|
|
use app\model\PayChannel;
|
|
use app\model\Platform;
|
|
use app\model\User;
|
|
use think\facade\View;
|
|
|
|
class PayManageController extends BaseController
|
|
{
|
|
// 获取账号列表
|
|
public function getPayAccount()
|
|
{
|
|
$query = $this->request->get();
|
|
$accounts = PayAccount::serchAccount($query)->order('id', 'desc')->paginate(['list_rows' => $query['limit'], 'page' => $query['page']]);
|
|
if ($accounts) {
|
|
return json(['code' => 0, 'msg' => 'OK', 'count' => $accounts->total(), 'data' => $accounts->items()]);
|
|
} else {
|
|
return json(['code' => 1, 'msg' => '无数据记录', 'count' => 0, 'data' => []]);
|
|
}
|
|
}
|
|
// 编辑账号
|
|
public function editAccount()
|
|
{
|
|
$info = $this->request->post();
|
|
$up_res = PayAccount::update($info);
|
|
if ($up_res) {
|
|
$acc = PayAccount::find($info['id']);
|
|
$this->createAccountConfig($acc);
|
|
return json(\backMsg(0, '修改成功'));
|
|
} else {
|
|
return json(\backMsg(1, '修改失败'));
|
|
}
|
|
}
|
|
// 账号状态
|
|
public function accountEnable()
|
|
{
|
|
$info = $this->request->post();
|
|
$up_res = PayAccount::update($info);
|
|
if ($up_res) {
|
|
return json(\backMsg(0, '成功'));
|
|
} else {
|
|
return json(\backMsg(1, '失败'));
|
|
}
|
|
}
|
|
// 删除账号
|
|
public function delAccount()
|
|
{
|
|
$ids = $this->request->post('ids');
|
|
$res = PayAccount::destroy($ids);
|
|
if ($res) {
|
|
return \json(\backMsg(0, '已删除'));
|
|
} else {
|
|
return \json(\backMsg(1, '失败'));
|
|
}
|
|
}
|
|
// 添加账号
|
|
public function addAccount()
|
|
{
|
|
$info = $this->request->post();
|
|
$pid = $this->request->session('pid');
|
|
$info['pid'] = $pid;
|
|
$check_acc = PayAccount::where(['account' => $info['account'], 'pid' => $pid])->find();
|
|
if ($check_acc) {
|
|
return \json(\backMsg(1, '账号已存在'));
|
|
}
|
|
$acc = PayAccount::create($info);
|
|
if ($acc) {
|
|
$this->createAccountConfig($acc);
|
|
return \json(\backMsg(0, '添加成功'));
|
|
} else {
|
|
return \json(\backMsg(1, '添加失败'));
|
|
}
|
|
}
|
|
// 添加收款终端
|
|
public function addChannel()
|
|
{
|
|
$info = $this->request->post();
|
|
$res = PayChannel::create($info);
|
|
if ($res) {
|
|
return \json(\backMsg(0, '添加成功'));
|
|
} else {
|
|
return \json(\backMsg(1, '添加失败'));
|
|
}
|
|
}
|
|
// 编辑收款终端
|
|
public function editChannel()
|
|
{
|
|
$info = $this->request->post();
|
|
$up_res = PayChannel::update($info);
|
|
if ($up_res) {
|
|
return json(\backMsg(0, '修改成功'));
|
|
} else {
|
|
return json(\backMsg(1, '修改失败'));
|
|
}
|
|
}
|
|
// 收款终端列表
|
|
public function getChannelList()
|
|
{
|
|
$aid = $this->request->post('aid');
|
|
$res = PayChannel::where(['account_id' => $aid])->order('last_time', 'desc')->select();
|
|
if ($res) {
|
|
return \json(\backMsg(0, '获取成功', $res));
|
|
} else {
|
|
return \json(\backMsg(1, '失败'));
|
|
}
|
|
}
|
|
// 生成账号配置
|
|
private function createAccountConfig($acc)
|
|
{
|
|
$platform = Platform::where('platform', $acc->getData('platform'))->find();
|
|
$user = User::where('pid', $acc->pid)->find();
|
|
$query = \unserialize($platform->query);
|
|
$data = [
|
|
'pid' => $user->pid,
|
|
'key' => $user->secret_key,
|
|
'aid' => $acc->id,
|
|
'platform' => $acc->getData('platform'),
|
|
'account' => $acc->account,
|
|
'password' => $acc->password,
|
|
'payclass' => $platform->class_name,
|
|
'query' => \var_export($query, \true)
|
|
];
|
|
$config = View::fetch('tpl/account_config', $data);
|
|
$name = "{$data['pid']}_{$data['aid']}";
|
|
$path = "../config/payconfig/{$name}.php";
|
|
\file_put_contents($path, $config);
|
|
}
|
|
}
|