chuan 2 months ago
parent
commit
88da2272b9
  1. 6
      app/admin/service/AdminBaseService.php
  2. 2
      app/admin/service/UserService.php
  3. 6
      app/admin/service/setting/FeeService.php
  4. 2
      app/admin/service/setting/IPOService.php
  5. 10
      app/home/controller/News.php
  6. 6
      app/home/middleware/AuthMiddleware.php
  7. 2
      app/home/route/app.php
  8. 16
      app/home/service/BaseHomeService.php
  9. 2
      app/home/service/MarketService.php
  10. 25
      app/home/service/WalletService.php
  11. 23
      app/model/UserGoldFuturesLogModel.php
  12. 8
      app/model/UserGoldFuturesModel.php

6
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;

2
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');
// 获取用户绑定的客服信息

6
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);

2
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' => '',
];

10
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,
],
]);
}

6
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');
}
}

2
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');

16
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;
}

2
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, []);

25
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'));
}

23
app/model/UserGoldFuturesLogModel.php

@ -0,0 +1,23 @@
<?php
namespace app\model;
class UserGoldFuturesLogModel extends BaseModel
{
protected $name = 'user_gold_futures_log';
public static function InsertUserBalanceLog(array $data)
{
$self = new self;
$self->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();
}
}

8
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

Loading…
Cancel
Save