p2 project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
9.7 KiB

8 months ago
<?php
namespace app\home\controller;
8 months ago
use app\home\service\WalletService;
use app\model\PreUsStockModel;
use think\response\Json;
use think\Request;
/***
* 处理用户中心业务
*/
class Wallet extends HomeBaseController
{
/**
* 获取用户全部资产
* @return Json
*/
public function getAllAssets(Request $request): Json
{
$user_id = $request->userId;
$account_type = $request->post('account_type', 0);
$result = (new WalletService())->getUserAssets($user_id, $account_type);
8 months ago
return json($result);
}
public function userRechargeList(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
8 months ago
$result = (new WalletService())->getUserRechargeList($data);
return json($result);
}
/**
* 用户添加钱包地址
* @param Request $request
* @return Json
*/
public function addWalletAddress(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['wallet_type'] = $request->post('wallet_type');
$data['wallet_address'] = $request->post('wallet_address');
$data['remark'] = $request->post('remark');
$data['adr_id'] = $request->post('address_id');
$data['is_default'] = $request->post('is_default');
8 months ago
$result = (new WalletService())->insertWalletAdress($data);
8 months ago
return json($result);
}
/**
* 获取用户钱包地址列表
* @param Request $request
* @return Json
*/
public function getWalletAddress(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$data['wallet_type'] = $request->post('wallet_type');
$result = (new WalletService())->getUserWalletAddress($data);
8 months ago
return json($result);
}
/**
* 获取用户钱包地址详情
* @param Request $request
* @return Json
*/
public function getWalletAddressInfo(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['adr_id'] = $request->post('address_id', 0);
$result = (new WalletService())->getUserWalletAddressInfo($data);
8 months ago
return json($result);
}
/**
* 删除用户钱包地址
* @param Request $request
* @return Json
* @throws \think\db\exception\DbException
*/
public function delWalletAddress(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['adr_id'] = $request->post('address_id');
$result = (new WalletService())->delUserWalletAddress($data);
8 months ago
return json($result);
}
/**
* 获取银行卡列表
* @param Request $request
* @return Json
*/
public function getUserBank(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getUserBank($data);
8 months ago
return json($result);
}
/**
*
* @param Request $request
* @return Json
*/
public function getUserBankInfo(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['id'] = $request->post('id');
$result = (new WalletService())->getUserBankInfo($data);
8 months ago
return json($result);
}
/**
* 添加编辑银行卡
* @param Request $request
* @return Json
*/
public function addUserBank(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['id'] = $request->post('id');
$data['true_name'] = $request->post('true_name');
$data['identity_card'] = $request->post('identity_card');
$data['bank_card'] = $request->post('bank_card');
$data['bank_name'] = $request->post('bank_name');
$data['bank_email'] = $request->post('bank_email');
$data['bank_phone'] = $request->post('bank_phone');
$data['bank_code'] = $request->post('bank_code');
$data['is_default'] = $request->post('is_default');
$data['ifsc'] = $request->post('ifsc');
$data['bank_address'] = $request->post('bank_address');
$data['user_address'] = $request->post('user_address');
$data['bank_country'] = $request->post('bank_country');
$data['branch_name'] = $request->post('branch_name');
$data['branch_phone'] = $request->post('branch_phone');
$result = (new WalletService())->insertUserBank($data);
8 months ago
return json($result);
}
/**
* 删除银行卡
* @param Request $request
* @return Json
*/
public function delUserBank(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['id'] = $request->post('id');
$result = (new WalletService())->delUserBank($data);
8 months ago
return json($result);
}
/**
* 获取用户账户可用余额
* @param Request $request
* @return Json
*/
public function getUserBalance(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['trade_name'] = $request->post('trade_name');
$result = (new WalletService())->getUserBalance($data);
8 months ago
return json($result);
}
public function drawalFee(Request $request): Json
{
$account_type = $request->post('account_type', 0, 'intval');
$result = (new WalletService())->getDrawalFee($account_type);
8 months ago
return json($result);
}
/**
* 用户提款申请
* @param Request $request
* @return Json
*/
public function drawalApply(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['apply_num'] = $request->post('apply_num');
$data['apply_type'] = $request->post('apply_type');
$data['bank_id'] = $request->post('bank_id');
$data['address_id'] = $request->post('address_id');
$data['wallet_address'] = $request->post('wallet_address');
$data['drawal_type'] = $request->post('drawal_type');
$data['trade_pwd'] = $request->post('trade_pwd');
$data['country'] = $request->post('country');
8 months ago
$result = (new WalletService())->dealDrawalApply($data);
8 months ago
return json($result);
}
/**
8 months ago
* 用户提款申请
* @param Request $request
* @return Json
*/
public function canncelDrawalApply(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['order_no'] = $request->post('order_no');
$result = (new WalletService())->canncelDrawalApply($data);
8 months ago
return json($result);
}
public function userDrawalList(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getDrawalList($data);
8 months ago
return json($result);
}
/**
* 获取用户资金明细数据
* @param Request $request
* @return Json
*/
public function UserBalanceRecord(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getUserBalanceRecord($data);
8 months ago
return json($result);
}
/**
* 处理用户资金账户相互划转接口
* @param Request $request
* @return Json
*/
public function userTransfer(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['from_account'] = $request->post('from_account');
$data['to_account'] = $request->post('to_account');
$data['change_num'] = $request->post('change_num');
$result = (new WalletService())->doUserTransfer($data);
8 months ago
return json($result);
}
public function userRechargeWallet(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['wallet_type'] = $request->post('wallet_type');
$result = (new WalletService())->getUserRechargeWallet($data);
8 months ago
return json($result);
}
/**
* 获取用户划转资金明细
* @param Request $request
* @return Json
*/
public function userTransferRecord(Request $request): Json
{
$data['user_id'] = $request->userId;
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getUserTransfer($data);
8 months ago
return json($result);
}
public function userHasNotPay(Request $request): Json
8 months ago
{
$data['user_id'] = $request->userId;
$data['market_type'] = $request->post('market_type');
$result = (new WalletService())->userHasNotPay($data);
8 months ago
return json($result);
}
public function dealUnPayIPO(Request $request): Json
8 months ago
{
$data['user_id'] = $request->userId;
$data['market_type'] = $request->post('market_type');
$result = (new WalletService())->dealUnPayIPO($data);
8 months ago
return json($result);
}
// 获取用户账户之间划转的费率 支持计算具体值
public function getRateToTransfer()
{
$result = (new WalletService())->getRateToTransfer($this->request->param());
8 months ago
return json($result);
}
}