Compare commits

...

2 Commits

  1. 33
      app/command/ApiLogCommand.php
  2. 211
      app/home/controller/Wallet.php
  3. 2
      app/home/middleware/ApiLogMiddleware.php
  4. 3
      app/home/service/LoginService.php
  5. 99
      app/model/UserBankModel.php

33
app/command/ApiLogCommand.php

@ -10,22 +10,15 @@ use think\console\Input;
use think\console\Output;
use think\facade\Cache;
use think\facade\Log;
use think\facade\Db;
class ApiLogCommand extends Command
{
protected function configure()
{
// 指令配置
$this->setName('api_log')
->setDescription('the api_log command');
$this->setName('api_log')->setDescription('the api_log command');
}
/**
* Execute the console command.
*
* @param Input $input
* @param Output $output
* @return void
*/
protected function execute(Input $input, Output $output)
{
while (true) {
@ -38,15 +31,25 @@ class ApiLogCommand extends Command
if (!is_array($logData) || empty($logData)) {
continue;
}
if ($logData) {
$logData['params'] = json_encode($logData['params'] ?? [], JSON_UNESCAPED_UNICODE);
$logData['response'] = json_encode($logData['response'] ?? [], JSON_UNESCAPED_UNICODE);
$logData['params'] = json_encode($logData['params'] ?? [], JSON_UNESCAPED_UNICODE);
$logData['response'] = json_encode($logData['response'] ?? [], JSON_UNESCAPED_UNICODE);
try {
ApiLogModel::create($logData);
} catch (\Throwable $e) {
// 如果是 MySQL 2006 错误,则重连后再执行
if (strpos($e->getMessage(), '2006 MySQL server has gone away') !== false) {
Log::warning('MySQL connection lost, reconnecting...');
Db::disconnect(); // 清理旧连接
Db::reconnect(); // 重新连接
ApiLogModel::create($logData); // 重试一次
} else {
throw $e;
}
}
} else {
// 如果没有数据,休眠一段时间再继续
sleep(10);
sleep(10); // 没数据时休眠
}
} catch (\Throwable $e) {
Log::error('ApiLogCommand error: ' . $e->getMessage());

211
app/home/controller/Wallet.php

@ -1,6 +1,7 @@
<?php
namespace app\home\controller;
use app\home\service\WalletService;
use app\model\PreUsStockModel;
use think\response\Json;
@ -17,19 +18,19 @@ class Wallet extends HomeBaseController
*/
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);
$user_id = $request->userId;
$account_type = $request->post('account_type', 0);
$result = (new WalletService())->getUserAssets($user_id, $account_type);
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');
$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())->getUserRechargeList($data);
return json($result);
}
@ -41,14 +42,14 @@ class Wallet extends HomeBaseController
*/
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');
$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');
$result=(new WalletService())->insertWalletAdress($data);
$result = (new WalletService())->insertWalletAdress($data);
return json($result);
}
@ -59,11 +60,11 @@ class Wallet extends HomeBaseController
*/
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);
$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);
return json($result);
}
@ -74,9 +75,9 @@ class Wallet extends HomeBaseController
*/
public function getWalletAddressInfo(Request $request): Json
{
$data['user_id']=$request->userId;
$data['adr_id']=$request->post('address_id',0);
$result=(new WalletService())->getUserWalletAddressInfo($data);
$data['user_id'] = $request->userId;
$data['adr_id'] = $request->post('address_id', 0);
$result = (new WalletService())->getUserWalletAddressInfo($data);
return json($result);
}
@ -88,9 +89,9 @@ class Wallet extends HomeBaseController
*/
public function delWalletAddress(Request $request): Json
{
$data['user_id']=$request->userId;
$data['adr_id']=$request->post('address_id');
$result=(new WalletService())->delUserWalletAddress($data);
$data['user_id'] = $request->userId;
$data['adr_id'] = $request->post('address_id');
$result = (new WalletService())->delUserWalletAddress($data);
return json($result);
}
@ -101,10 +102,10 @@ class Wallet extends HomeBaseController
*/
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);
$data['user_id'] = $request->userId;
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getUserBank($data);
return json($result);
}
@ -115,9 +116,9 @@ class Wallet extends HomeBaseController
*/
public function getUserBankInfo(Request $request): Json
{
$data['user_id']=$request->userId;
$data['id']=$request->post('id');
$result=(new WalletService())->getUserBankInfo($data);
$data['user_id'] = $request->userId;
$data['id'] = $request->post('id');
$result = (new WalletService())->getUserBankInfo($data);
return json($result);
}
/**
@ -127,21 +128,23 @@ class Wallet extends HomeBaseController
*/
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');
$result=(new WalletService())->insertUserBank($data);
$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);
return json($result);
}
@ -152,9 +155,9 @@ class Wallet extends HomeBaseController
*/
public function delUserBank(Request $request): Json
{
$data['user_id']=$request->userId;
$data['id']=$request->post('id');
$result=(new WalletService())->delUserBank($data);
$data['user_id'] = $request->userId;
$data['id'] = $request->post('id');
$result = (new WalletService())->delUserBank($data);
return json($result);
}
@ -165,17 +168,17 @@ class Wallet extends HomeBaseController
*/
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);
$data['user_id'] = $request->userId;
$data['account_type'] = $request->post('account_type');
$data['trade_name'] = $request->post('trade_name');
$result = (new WalletService())->getUserBalance($data);
return json($result);
}
public function drawalFee(Request $request): Json
{
$account_type=$request->post('account_type',0,'intval');
$result=(new WalletService())->getDrawalFee($account_type);
$account_type = $request->post('account_type', 0, 'intval');
$result = (new WalletService())->getDrawalFee($account_type);
return json($result);
}
@ -186,38 +189,39 @@ class Wallet extends HomeBaseController
*/
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');
$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');
$result=(new WalletService())->dealDrawalApply($data);
$result = (new WalletService())->dealDrawalApply($data);
return json($result);
} /**
}
/**
* 用户提款申请
* @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);
$data['user_id'] = $request->userId;
$data['order_no'] = $request->post('order_no');
$result = (new WalletService())->canncelDrawalApply($data);
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);
$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);
return json($result);
}
@ -228,11 +232,11 @@ class Wallet extends HomeBaseController
*/
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);
$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);
return json($result);
}
@ -243,18 +247,18 @@ class Wallet extends HomeBaseController
*/
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);
$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);
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);
$data['user_id'] = $request->userId;
$data['wallet_type'] = $request->post('wallet_type');
$result = (new WalletService())->getUserRechargeWallet($data);
return json($result);
}
@ -265,24 +269,24 @@ class Wallet extends HomeBaseController
*/
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);
$data['user_id'] = $request->userId;
$data['page'] = $request->post('page');
$data['page_size'] = $request->post('page_size');
$result = (new WalletService())->getUserTransfer($data);
return json($result);
}
public function userHasNotPay(Request $request):Json
public function userHasNotPay(Request $request): Json
{
$data['user_id']=$request->userId;
$data['market_type']=$request->post('market_type');
$result=(new WalletService())->userHasNotPay($data);
$data['user_id'] = $request->userId;
$data['market_type'] = $request->post('market_type');
$result = (new WalletService())->userHasNotPay($data);
return json($result);
}
public function dealUnPayIPO(Request $request):Json
public function dealUnPayIPO(Request $request): Json
{
$data['user_id']=$request->userId;
$data['market_type']=$request->post('market_type');
$result=(new WalletService())->dealUnPayIPO($data);
$data['user_id'] = $request->userId;
$data['market_type'] = $request->post('market_type');
$result = (new WalletService())->dealUnPayIPO($data);
return json($result);
}
@ -290,8 +294,7 @@ class Wallet extends HomeBaseController
// 获取用户账户之间划转的费率 支持计算具体值
public function getRateToTransfer()
{
$result=(new WalletService())->getRateToTransfer($this->request->param());
$result = (new WalletService())->getRateToTransfer($this->request->param());
return json($result);
}
}
}

2
app/home/middleware/ApiLogMiddleware.php

@ -29,6 +29,7 @@ class ApiLogMiddleware
'user_drawal',
'pre_stock/order',
'fund/order',
'generate_token'
];
@ -71,6 +72,5 @@ class ApiLogMiddleware
\think\facade\Cache::store('redis')->lpush('api_log', json_encode($logData));
}
return $response;
}
}

3
app/home/service/LoginService.php

@ -453,7 +453,8 @@ class LoginService extends BaseHomeService
$this->checkRegisterLimit($ipCanRegisterNumPerIpPerDay);
// 校验验证码
$mobile = $param['nation'] . $param['phone'];
$mobile = $param['nation'] . ltrim($param['phone'], '0');
// $mobile = $param['nation'] . $param['phone'];
$smsKey = 'DB:USER:UNLOGIN:SMS_CODE:' . $mobile;
if (!$this->checkCode($smsKey, $param['sms_code'])) {
//注册验证码

99
app/model/UserBankModel.php

@ -1,5 +1,7 @@
<?php
namespace app\model;
/**
* @property int user_id
* @property string true_name
@ -19,85 +21,93 @@ class UserBankModel extends BaseModel
protected $name = 'user_bank';
protected $pk = 'id';
public static function getUserBankList($data):array
public static function getUserBankList($data): array
{
$count= self::where('user_id', $data['user_id'])->count();
$list = self::where('user_id', $data['user_id'])->field("id,true_name,bank_name,bank_card,bank_phone,bank_email,is_default,identity_card,ifsc")
->page($data['page'],$data['page_size'])->select();
if(empty($list)){
$count = self::where('user_id', $data['user_id'])->count();
$list = self::where('user_id', $data['user_id'])->field("id,true_name,bank_name,bank_card,bank_phone,bank_email,is_default,identity_card,ifsc,branch_name,branch_phone")
->page($data['page'], $data['page_size'])->select();
if (empty($list)) {
return [];
}else{
} else {
return [
'total'=>$count,
'list'=>$list->toArray()
'total' => $count,
'list' => $list->toArray()
];
}
}
public static function getUserBankInfoById(array $data,$file='*'):array
public static function getUserBankInfoById(array $data, $file = '*'): array
{
$info=self::where($data)->find();
if(empty($info)){
$info = self::where($data)->find();
if (empty($info)) {
return [];
}else{
} else {
return $info->toArray();
}
}
public static function delUserBankById(array $data)
{
self::where([
'id'=>$data['id'],
'user_id'=>$data['user_id'],
'id' => $data['id'],
'user_id' => $data['user_id'],
])->delete();
}
public static function InsertUserBank(array $data)
{
$self = new self;
if($data['is_default']==1){
if ($data['is_default'] == 1) {
$self::updateDefault($data['user_id']);
}
if($data['id']>0){
if ($data['id'] > 0) {
$self::where([
'id'=>$data['id'],
'user_id'=>$data['user_id'],
'id' => $data['id'],
'user_id' => $data['user_id'],
])->save([
'true_name'=>$data['true_name'],
'identity_card'=>isset($data['identity_card']) ? $data['identity_card']:'',
'bank_card'=>$data['bank_card'],
'bank_name'=>$data['bank_name'],
'bank_email'=>isset($data['bank_email']) ? $data['bank_email']:'',
'bank_phone'=>isset($data['bank_phone']) ? $data['bank_phone']:'',
'user_address'=>isset($data['user_address']) ? $data['user_address']:'',
'bank_address'=>isset($data['bank_address']) ? $data['bank_address']:'',
'ifsc'=>isset($data['ifsc']) ? $data['ifsc']:'',
'bank_code'=>$data['bank_code'],
'bank_country'=>$data['bank_country'],
'is_default'=>$data['is_default'],
'update_time'=>date('Y-m-d H:i:s')
'true_name' => $data['true_name'],
'identity_card' => isset($data['identity_card']) ? $data['identity_card'] : '',
'bank_card' => $data['bank_card'],
'bank_name' => $data['bank_name'],
'bank_email' => isset($data['bank_email']) ? $data['bank_email'] : '',
'bank_phone' => isset($data['bank_phone']) ? $data['bank_phone'] : '',
'user_address' => isset($data['user_address']) ? $data['user_address'] : '',
'bank_address' => isset($data['bank_address']) ? $data['bank_address'] : '',
'branch_name' => isset($data['branch_name']) ? $data['branch_name'] : '',
'branch_phone' => isset($data['branch_phone']) ? $data['branch_phone'] : '',
'ifsc' => isset($data['ifsc']) ? $data['ifsc'] : '',
'bank_code' => $data['bank_code'],
'bank_country' => $data['bank_country'],
'is_default' => $data['is_default'],
'update_time' => date('Y-m-d H:i:s')
]);
}else{
} else {
$self->user_id = $data['user_id'];
$self->true_name = $data['true_name'];
$self->bank_card = $data['bank_card'];
$self->bank_name = $data['bank_name'];
if(isset($data['bank_email'])){
if (isset($data['bank_email'])) {
$self->bank_email = $data['bank_email'];
}
if(isset($data['identity_card'])){
if (isset($data['identity_card'])) {
$self->identity_card = $data['identity_card'];
}
if(isset($data['bank_phone'])){
if (isset($data['bank_phone'])) {
$self->bank_phone = $data['bank_phone'];
}
if(isset($data['ifsc'])){
if (isset($data['ifsc'])) {
$self->ifsc = $data['ifsc'];
}
if(isset($data['bank_address'])){
if (isset($data['bank_address'])) {
$self->bank_address = $data['bank_address'];
}
if(isset($data['user_address'])){
if (isset($data['user_address'])) {
$self->user_address = $data['user_address'];
}
if (isset($data['branch_name'])) {
$self->branch_name = $data['branch_name'];
}
if (isset($data['branch_phone'])) {
$self->branch_phone = $data['branch_phone'];
}
$self->bank_code = $data['bank_code'];
$self->bank_country = $data['bank_country'];
$self->is_default = $data['is_default'];
@ -106,14 +116,13 @@ class UserBankModel extends BaseModel
$self->save();
}
}
public static function updateDefault(int $user_id){
public static function updateDefault(int $user_id)
{
self::where([
'user_id'=>$user_id
'user_id' => $user_id
])->save([
'is_default'=>0,
'update_time'=>date('Y-m-d H:i:s')
'is_default' => 0,
'update_time' => date('Y-m-d H:i:s')
]);
}
}
}

Loading…
Cancel
Save