From 88da2272b961d69122acf09c1d3e1f0f5fa31b06 Mon Sep 17 00:00:00 2001 From: chuan <2154243450@qq.com> Date: Tue, 29 Apr 2025 10:09:03 +0800 Subject: [PATCH] up --- app/admin/service/AdminBaseService.php | 6 ++++++ app/admin/service/UserService.php | 2 +- app/admin/service/setting/FeeService.php | 6 ++++++ app/admin/service/setting/IPOService.php | 2 +- app/home/controller/News.php | 10 +++++----- app/home/middleware/AuthMiddleware.php | 6 ++++-- app/home/route/app.php | 2 +- app/home/service/BaseHomeService.php | 16 +++++++++++++++ app/home/service/MarketService.php | 2 +- app/home/service/WalletService.php | 25 +++++++++++------------- app/model/UserGoldFuturesLogModel.php | 23 ++++++++++++++++++++++ app/model/UserGoldFuturesModel.php | 8 ++++---- 12 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 app/model/UserGoldFuturesLogModel.php diff --git a/app/admin/service/AdminBaseService.php b/app/admin/service/AdminBaseService.php index 2a44b2cd..4572a5ed 100644 --- a/app/admin/service/AdminBaseService.php +++ b/app/admin/service/AdminBaseService.php @@ -510,6 +510,12 @@ class AdminBaseService case 19: $fee_key = 'TRADE:FEE:FOREX'; break; + case 20: + $fee_key = 'TRADE:FEE:INDEX_INR'; + break; + case 21: + $fee_key = 'TRADE:FEE:GOLD_FUTURES'; + break; default: $fee_key = ''; break; diff --git a/app/admin/service/UserService.php b/app/admin/service/UserService.php index b0fe07e0..c38103c7 100644 --- a/app/admin/service/UserService.php +++ b/app/admin/service/UserService.php @@ -287,7 +287,7 @@ class UserService extends AdminBaseService ->column('usable_num,frozen_num', 'user_id'); // 黄金期货的资产 $userGoldFuturesList = UserGoldFuturesModel::where('user_id', 'in', $userIdArr) - ->where('contract_id', 'GC') + ->where('contract_id', 'USD') ->column('usable_num,frozen_num', 'user_id'); // 获取用户绑定的客服信息 diff --git a/app/admin/service/setting/FeeService.php b/app/admin/service/setting/FeeService.php index 2b31f87d..005ce164 100644 --- a/app/admin/service/setting/FeeService.php +++ b/app/admin/service/setting/FeeService.php @@ -98,6 +98,9 @@ class FeeService extends AdminBaseService // 设置缓存 $fee_key = $this->getTradeFeeKey($param['market_type']); + if (empty($fee_key)) { + return $this->toData('500', '缺少对应类型缓存KEY配置'); + } $redis = $this->getRedis(); $redis->del($fee_key); $redis->hMSet($fee_key, $param); @@ -190,6 +193,9 @@ class FeeService extends AdminBaseService // 设置缓存 $fee_key = $this->getTradeFeeKey($param['market_type']); + if (empty($fee_key)) { + return $this->toData('500', '缺少对应类型缓存KEY配置'); + } $redis = $this->getRedis(); $redis->del($fee_key); $redis->hMSet($fee_key, $param); diff --git a/app/admin/service/setting/IPOService.php b/app/admin/service/setting/IPOService.php index dc4e770f..2af35e5f 100644 --- a/app/admin/service/setting/IPOService.php +++ b/app/admin/service/setting/IPOService.php @@ -1658,7 +1658,7 @@ class IPOService extends AdminBaseService 'list_table' => $prefix . 'gold_futures_list', 'trade_table' => $prefix . 'gold_futures_trade', 'redis_key' => 'GoldFutures:STOCK:LIST:', - 'stock_id' => 'GC', // 黄金期货资产表中contract_id对应的值,即 bot_user_gold_futures.contract_id + 'stock_id' => 'USD', // 黄金期货资产表中contract_id对应的值,即 bot_user_gold_futures.contract_id // 'country' => '', // 'check' => '', ]; diff --git a/app/home/controller/News.php b/app/home/controller/News.php index 501bd2da..6672e571 100644 --- a/app/home/controller/News.php +++ b/app/home/controller/News.php @@ -8,6 +8,7 @@ use app\model\UserChatLinkModel; use Goutte\Client; use think\facade\Cache; use think\facade\Config; +use think\facade\Lang; use think\facade\Log; use think\facade\Queue; use think\Request; @@ -98,13 +99,12 @@ class News extends HomeBaseController public function testApi() { $uniq = bin2hex(random_bytes(16)); - $getEnv = env('ACCOUT_TYPE.ALL_IN_ONE'); return json([ 'code' => '0', - 'message' => 'successful', - 'data' => [], - 'env' => $getEnv, - 'random' => $uniq, + 'message' => lang('parameter_error'), + 'data' => [ + 'random' => $uniq, + ], ]); } diff --git a/app/home/middleware/AuthMiddleware.php b/app/home/middleware/AuthMiddleware.php index abec1aa7..996fd0d0 100644 --- a/app/home/middleware/AuthMiddleware.php +++ b/app/home/middleware/AuthMiddleware.php @@ -5,6 +5,8 @@ namespace app\home\middleware; use app\model\UserModel; use think\facade\Cache; use think\facade\Config; +use think\facade\Lang; +use think\facade\Log; use think\Request; /** @@ -20,15 +22,15 @@ class AuthMiddleware return response()->send(); } // 设置多语言 + Config::set(['default_lang'=>'zh-jp'], 'lang'); // P2 默认设置日语 $request->lang = Config::get('lang.default_lang'); - Config::set(['default_lang'=>'zh-jp'], 'lang'); $header = $request->header(); if (isset($header['language'])) { $lang_list = Config::get('lang.allow_lang_list'); $lang = strtolower($header['language']); if (in_array($lang, $lang_list)) { + Lang::setLangSet($lang); $request->lang = $lang; - Config::set(['default_lang'=>$lang], 'lang'); } } diff --git a/app/home/route/app.php b/app/home/route/app.php index 8fe99b75..4ba8fe9e 100644 --- a/app/home/route/app.php +++ b/app/home/route/app.php @@ -296,7 +296,7 @@ Route::group('/',function (){ Route::post('get_ip', 'Login/getIP'); Route::get('get_news', 'News/index'); - Route::post('test', 'Stock/stockAnalysis'); + Route::post('test', 'News/testApi')->middleware(\app\home\middleware\AuthMiddleware::class); Route::post('test_api', 'Document/informationArticleList'); diff --git a/app/home/service/BaseHomeService.php b/app/home/service/BaseHomeService.php index 0e3c6da4..c40bb483 100644 --- a/app/home/service/BaseHomeService.php +++ b/app/home/service/BaseHomeService.php @@ -567,6 +567,8 @@ class BaseHomeService $brl_stock_fee_key='TRADE:FEE:BR_STOCK'; $jp_stock_fee_key='TRADE:FEE:JP_STOCK'; $forex_fee_key='TRADE:FEE:FOREX'; + $indian_stock_index_key = 'TRADE:FEE:INDEX_INR'; // 印度股指 + $gold_futures_key = 'TRADE:FEE:GOLD_FUTURES'; // 黄金期货 if($market_type==0){ @@ -633,6 +635,14 @@ class BaseHomeService $this->redis->del($forex_fee_key); $this->redis->hMset($forex_fee_key,$item); break; + case 20: + $this->redis->del($indian_stock_index_key); + $this->redis->hMset($indian_stock_index_key,$item); + break; + case 21: + $this->redis->del($gold_futures_key); + $this->redis->hMset($gold_futures_key,$item); + break; } } return $trade_fee_list; @@ -684,6 +694,12 @@ class BaseHomeService case 19: $res=$this->redis->hGetAll($forex_fee_key); break; + case 20: + $res=$this->redis->hGetAll($indian_stock_index_key); + break; + case 21: + $res=$this->redis->hGetAll($gold_futures_key); + break; } return $res; } diff --git a/app/home/service/MarketService.php b/app/home/service/MarketService.php index 120feeeb..9e569c24 100644 --- a/app/home/service/MarketService.php +++ b/app/home/service/MarketService.php @@ -164,7 +164,7 @@ class MarketService extends BaseHomeService validate(MarketValidate::class)->scene('getTradeFee')->check($data); $fee_info=$this->initTradeFeeSetting($data['market_type']); //$fee_info=FeeSettingModel::getTradeFeeById($data['market_type']); - return $this->toData(0,'successful',$fee_info); + return $this->toData(0,'successful', $fee_info); }catch (ValidateException $validateException){ $message = $validateException->getMessage(); return $this->toData('1', $message, []); diff --git a/app/home/service/WalletService.php b/app/home/service/WalletService.php index f3ee4f3b..08d27a81 100644 --- a/app/home/service/WalletService.php +++ b/app/home/service/WalletService.php @@ -18,6 +18,7 @@ use app\model\UserContractSecModel; use app\model\UserDigitalModel; use app\model\UserForexLogModel; use app\model\UserForexModel; +use app\model\UserGoldFuturesLogModel; use app\model\UserGoldFuturesModel; use app\model\UserHkdPreStockOrderModel; use app\model\UserIdnPreStockOrderModel; @@ -66,6 +67,7 @@ use app\model\WalletListModel; use app\utility\UnqId; use think\exception\ValidateException; use think\facade\Cache; +use think\facade\Config; use think\facade\Db; class WalletService extends BaseHomeService @@ -1298,8 +1300,6 @@ class WalletService extends BaseHomeService return $this->toData('2', 'error'); } - //print_r($from_account); - $cha_num = $from_account['usable_num'] - $data['change_num']; if ($cha_num < 0) { Db::rollback(); @@ -1324,7 +1324,6 @@ class WalletService extends BaseHomeService return $this->toData('500', lang('data_empty')); } - //插入账户资金划转表 $transfer_data['user_id'] = $data['user_id']; $transfer_data['from_account'] = $data['from_account']; @@ -1355,7 +1354,6 @@ class WalletService extends BaseHomeService //变动类型:1-充值,2-提现,3-买入,4-卖出,5-冻结,6-解冻,7账户转出,8账户转入 //插入资金变动日志 - $from_log['user_id'] = $data['user_id']; $from_log['change_type'] = 7; $from_log['change_num'] = -$data['change_num']; @@ -1364,7 +1362,7 @@ class WalletService extends BaseHomeService $res = $this->addUserBalanceLog($data['from_account'], $from_log); if (empty($res)) { Db::rollback(); - return $this->toData('500', lang('system_busy')); + return $this->toData('500', 'Logging Failure of from_account'); } @@ -1376,7 +1374,7 @@ class WalletService extends BaseHomeService $res = $this->addUserBalanceLog($data['to_account'], $to_log); if (empty($res)) { Db::rollback(); - return $this->toData('500', lang('system_busy')); + return $this->toData('500', 'Logging Failure of to_account'); } Db::commit(); @@ -1600,7 +1598,7 @@ class WalletService extends BaseHomeService case 21: return UserGoldFuturesModel::updateUserGoldFutures($update_data, [ 'user_id' => $user_id, - 'contract_id' => 'GC' + 'contract_id' => 'USD' ]); break; default: @@ -1687,6 +1685,9 @@ class WalletService extends BaseHomeService case 20: $log_data['contract_id'] = 'INR'; return UserStockIndexInrLogModel::InsertUserBalanceLog($log_data); + case 21: + $log_data['contract_id'] = 'USD'; + return UserGoldFuturesLogModel::InsertUserBalanceLog($log_data); default: return false; break; @@ -1836,16 +1837,12 @@ class WalletService extends BaseHomeService { try { // 1 现货 2 合约 3 美股 4 印尼股 5 马股 6 泰股 7 印度 + if (empty($data['from_account']) || empty($data['to_account'])) { + return $this->toData('400', lang('parameter_error')); + } $fromAccount = $data['from_account']; $toAccount = $data['to_account']; - if($fromAccount <1 || $fromAccount > 20){ - return $this->toData('2', 'Transfer out account type is incorrect.'); - } - if($toAccount <1 || $toAccount > 20){ - return $this->toData('2', 'Transfer out account type is incorrect.'); - } - if ($fromAccount == $toAccount) { return $this->toData('500', lang('the_transfer_out_account_and_the_transfer_in_account_cannot_be_the_same_account')); } diff --git a/app/model/UserGoldFuturesLogModel.php b/app/model/UserGoldFuturesLogModel.php new file mode 100644 index 00000000..c92c2f81 --- /dev/null +++ b/app/model/UserGoldFuturesLogModel.php @@ -0,0 +1,23 @@ +user_id = $data['user_id']; + $self->contract_id = $data['contract_id']; + $self->change_type = $data['change_type']; + $self->change_num = $data['change_num']; + if(isset($data['order_id'])){ + $self->order_id = $data['order_id']; + } + $self->before_num = $data['before_num']; + $self->create_time = date('Y-m-d H:i:s'); + $self->update_time = date('Y-m-d H:i:s'); + return $self->save(); + } +} \ No newline at end of file diff --git a/app/model/UserGoldFuturesModel.php b/app/model/UserGoldFuturesModel.php index 4571db74..0fe182c5 100644 --- a/app/model/UserGoldFuturesModel.php +++ b/app/model/UserGoldFuturesModel.php @@ -5,7 +5,7 @@ class UserGoldFuturesModel extends BaseModel { protected $name = 'user_gold_futures'; - public static function getUserGoldFuturesLock(int $user_id,string $contract_id ='GC'):array + public static function getUserGoldFuturesLock(int $user_id,string $contract_id ='USD'):array { $info = self::where([ 'user_id'=>$user_id, @@ -30,7 +30,7 @@ class UserGoldFuturesModel extends BaseModel if(!empty($data['trade_name'])){ $contract_id = $data['trade_name']; }else{ - $contract_id = 'GC'; + $contract_id = 'USD'; } $info = self::where([ 'user_id' => $data['user_id'], @@ -57,7 +57,7 @@ class UserGoldFuturesModel extends BaseModel if($list->isEmpty()){ $self = new self; $self->user_id = $user_id; - $self->contract_id = 'GC'; + $self->contract_id = 'USD'; $self->usable_num = '0'; $self->frozen_num = '0'; $self->create_time = date('Y-m-d H:i:s'); @@ -69,7 +69,7 @@ class UserGoldFuturesModel extends BaseModel ])->field('usable_num,frozen_num,contract_id as name')->select(); } foreach ($list as $key=>$val){ - if($val['name']=='GC'){ + if($val['name']=='USD'){ $list[$key]['buy_up']=[ 'buy_num'=>0, 'buy_money'=>0