Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
T
ts-api-demo
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wmvm
ts-api-demo
Commits
d2c4f160
Commit
d2c4f160
authored
Nov 11, 2024
by
ml
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
费率、现货数据折线图
parent
0e5fee07
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
249 additions
and
82 deletions
+249
-82
task.fee.rate.log.model.ts
cron/model/task.fee.rate.log.model.ts
+63
-14
task_fee_rate_base_coin_contract_log.ts
cron/task/task_fee_rate_base_coin_contract_log.ts
+1
-9
task_fee_rate_contract_log.ts
cron/task/task_fee_rate_contract_log.ts
+1
-9
task_fee_rate_spot_log.ts
cron/task/task_fee_rate_spot_log.ts
+2
-10
errorCode.ts
src/constant/errorCode.ts
+1
-0
commonUserFeeSetting.control.ts
src/functional/mvc/control/commonUserFeeSetting.control.ts
+10
-0
depositAndWithdraw.service.ts
src/functional/mvc/service/depositAndWithdraw.service.ts
+1
-1
spotData.service.ts
src/functional/mvc/service/spotData.service.ts
+170
-39
No files found.
cron/model/task.fee.rate.log.model.ts
View file @
d2c4f160
...
...
@@ -10,10 +10,11 @@ import {
feeRateSpotLog
,
feeRateContractLog
,
commonUserFeeSetting
,
feeRateBaseCoinContractLog
,
spotPairs
,
contractPairs
feeRateBaseCoinContractLog
,
spotPairs
,
contractPairs
,
userProductFee
}
from
"@madex/ex-ts-dao"
;
import
{
FEE_RATE_LOG_STATUS
}
from
"../../src/constant/feeRateLogConst"
;
import
{
changeTradingFee
,
getPairFromCore
}
from
"../../src/utils/coreSystemUtils"
;
import
{
changeTradingFee
,
getPairFromCore
,
getUserAccountFromCore
}
from
"../../src/utils/coreSystemUtils"
;
let
BigNumber
=
require
(
'bignumber.js'
);
...
...
@@ -113,10 +114,16 @@ let checkFeeRate = async function (fee_rate) {
};
export
const
changeUserSpotFee
=
async
function
(
user_id
,
symbol
,
fee_model
,
maker_fee
,
taker_fee
,
logId
)
{
let
pair
=
symbol
===
'all'
?
''
:
symbol
;
let
is_success
=
true
;
await
checkFeeModel
(
fee_model
);
let
product_type
=
pair
==
'all'
?
'spot'
:
'single'
;
//生效的费率 与要设置的费率 比对做校验 现在分不开 现货 合约 先不校验 之后分开了 再校验
/* let feeExist = await cancelIfFeeExist(user_id, product_type, symbol, maker_fee, taker_fee);
if (feeExist) {
return is_success;
}*/
let
asset
=
await
mainUserAsset
.
prototype
.
findOne
({
where
:
{
user_id
...
...
@@ -134,28 +141,43 @@ export const changeUserSpotFee = async function (user_id, symbol, fee_model, mak
logger
.
warn
(
' task.fee.rate.log.model.changeUserSpotFee '
,
` taker_fee fee_rate error
${
taker_fee
}
`
);
throw
'3000'
;
}
await
checkPair
(
symbol
,
1
);
if
(
pair
)
{
await
checkPair
(
symbol
,
1
);
}
await
checkUser
(
user_id
);
await
sleep
(
1000
);
//请求撮合 修改费率
let
res
=
await
changeTradingFee
(
symbol
,
user_id
,
maker_fee
,
taker_fee
);
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
maker_fee
,
taker_fee
);
return
res
.
is_success
;
};
export
const
changeUserContractFee
=
async
function
(
user_id
,
symbol
,
fee_model
,
maker_fee
,
taker_fee
,
logId
)
{
let
_func_name_
=
'task.fee.rate.log.model.changeUserContractFee'
;
let
pair
=
symbol
===
'all'
?
''
:
symbol
;
let
is_success
=
true
;
await
checkPair
(
symbol
,
2
);
let
asset
=
await
mainUserAsset
.
prototype
.
findOne
({
where
:
{
user_id
},
raw
:
true
})
if
(
!
asset
)
{
let
product_type
=
pair
==
'all'
?
'lpc'
:
'single'
;
//生效的费率 与要设置的费率 比对做校验 现在分不开 现货 合约 先不校验 之后分开了 再校验
/*let feeExist = await cancelIfFeeExist(user_id, product_type, symbol, maker_fee, taker_fee);
if (feeExist) {
return is_success;
}*/
if
(
pair
)
{
await
checkPair
(
symbol
,
2
);
}
//查询交易账户资产
let
asset
:
any
;
try
{
asset
=
await
getUserAccountFromCore
(
user_id
);
}
catch
(
e
)
{
logger
.
error
(
'changeUserContractFee.getUserAccountFromCore.error:'
+
e
);
}
if
(
!
asset
||
!
asset
.
length
)
{
return
is_success
;
}
if
(
maker_fee
<
-
0.0003
)
{
// 最大返0.0003
...
...
@@ -172,7 +194,7 @@ export const changeUserContractFee = async function (user_id, symbol, fee_model,
await
sleep
(
1000
);
//请求撮合 修改费率
let
res
=
await
changeTradingFee
(
symbol
,
user_id
,
maker_fee
,
taker_fee
);
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
maker_fee
,
taker_fee
);
return
res
.
is_success
;
};
...
...
@@ -194,3 +216,30 @@ async function getMainAccountUserId(user_id: number) {
let
father_id
=
dbSon
?
dbSon
.
father_id
:
user_id
;
return
father_id
;
}
async
function
cancelIfFeeExist
(
user_id
,
product_type
,
pair
,
maker_fee
,
taker_fee
)
{
let
condition
=
{
user_id
,
product
:
pair
==
'all'
?
''
:
pair
,
product_type
}
let
dbFee
=
await
userProductFee
.
prototype
.
findOne
({
where
:
condition
,
raw
:
true
});
if
(
dbFee
&&
dbFee
.
maker_fee
==
maker_fee
&&
dbFee
.
taker_fee
==
taker_fee
)
{
return
true
;
}
//现货默认费率
if
(
product_type
==
'spot'
&&
maker_fee
==
0.001
&&
taker_fee
==
0.002
)
{
return
true
;
}
//合约默认费率
if
(
product_type
==
'lpc'
&&
maker_fee
==
0.0004
&&
taker_fee
==
0.0006
)
{
return
true
;
}
return
false
;
}
cron/task/task_fee_rate_base_coin_contract_log.ts
View file @
d2c4f160
...
...
@@ -21,15 +21,7 @@ const oneMonth = oneDay * 30;
let
inJob
=
false
;
let
limit
=
3000
;
/**
* 注意:
* fee_rate_spot_log
* fee_rate_contract_log
* fee_rate_base_coin_contract_log
* 相关表中不支持 all 或 ALL 交易对
* 管理后台配置用户费率的 all 交易对也是分多个交易对来处理的
* 即(common_user_fee_setting 中的 all 分多个交易对 设置到 fee_rate_log 表中)
*/
let
setFeeRateJob
=
schedule
.
scheduleJob
(
'*/30 * * * * *'
,
function
()
{
if
(
inJob
)
{
...
...
cron/task/task_fee_rate_contract_log.ts
View file @
d2c4f160
...
...
@@ -23,15 +23,7 @@ const oneMonth = oneDay * 30;
let
inJob
=
false
;
let
limit
=
3000
;
/**
* 注意:
* fee_rate_spot_log
* fee_rate_contract_log
* fee_rate_base_coin_contract_log
* 相关表中不支持 all 或 ALL 交易对
* 管理后台配置用户费率的 all 交易对也是分多个交易对来处理的
* 即(common_user_fee_setting 中的 all 分多个交易对 设置到 fee_rate_log 表中)
*/
let
setFeeRateJob
=
schedule
.
scheduleJob
(
'*/30 * * * * *'
,
function
()
{
if
(
inJob
)
{
...
...
cron/task/task_fee_rate_spot_log.ts
View file @
d2c4f160
...
...
@@ -22,15 +22,7 @@ const oneMonth = oneDay * 30;
let
inJob
=
false
;
let
limit
=
3000
;
/**
* 注意:
* fee_rate_spot_log
* fee_rate_contract_log
* fee_rate_base_coin_contract_log
* 相关表中不支持all 或 ALL 交易对
* 管理后台配置用户费率的 all 交易对也是分多个交易对来处理的
* 即(common_user_fee_setting 中的 all 分多个交易对 设置到 fee_rate_log 表中)
*/
let
setFeeRateJob
=
schedule
.
scheduleJob
(
'*/30 * * * * *'
,
function
()
{
if
(
inJob
)
{
...
...
@@ -240,7 +232,7 @@ async function setExpiredDefault() {
raw
:
true
,
});
let
defaultFeeObj
=
{},
max_maker_rate
=
0.001
,
max_taker_rate
=
0.002
;
// 2020.5.9
let
activePairs
:
any
=
[];
let
activePairs
:
any
=
[
'all'
];
for
(
let
i
=
0
;
i
<
defaultPairFee
.
length
;
i
++
)
{
let
{
symbol
,
maker_fee
,
taker_fee
}
=
defaultPairFee
[
i
];
...
...
src/constant/errorCode.ts
View file @
d2c4f160
...
...
@@ -77,4 +77,5 @@ export const ErrorCode = {
FEE_EX_OR_DEL
:
'30073'
,
//费率设置已过期或已删除,不可以修改
PAIR_FORMAT_ERR
:
'30074'
,
//交易对格式错误
PAIR_NOT_SUPPORT
:
'30075'
,
//暂不支持此交易对
FEE_TOO_LOW_OR_HIGH
:
'30076'
,
//设置的费率过高/过低
}
src/functional/mvc/control/commonUserFeeSetting.control.ts
View file @
d2c4f160
...
...
@@ -140,6 +140,16 @@ async function addParamValid(commonUserFeeVO: CommonUserFeeVO) {
if
(
pair
!=
'all'
){
throw
ErrorCode
.
PAIR_NOT_SUPPORT
;
}
//校验费率范围
if
(
type
==
FEE_TYPE
.
FEE_TYPE_SPOT
){
if
(
Number
(
makerFee
)
<
0.0002
||
Number
(
takerFee
)
<
0.0005
){
throw
ErrorCode
.
FEE_TOO_LOW_OR_HIGH
;
}
}
else
{
if
(
Number
(
makerFee
)
<
-
0.00015
||
Number
(
takerFee
)
<
0.00035
){
throw
ErrorCode
.
FEE_TOO_LOW_OR_HIGH
;
}
}
await
checkMaker
(
commonUserFeeVO
);
await
paramCheck
(
beginTime
,
expireTime
,
Number
(
type
),
userId
);
...
...
src/functional/mvc/service/depositAndWithdraw.service.ts
View file @
d2c4f160
...
...
@@ -108,7 +108,7 @@ export async function dealReturnData(resList: any) {
for
(
let
item
of
resList
.
rows
)
{
let
symbol
=
item
.
coin_symbol
;
let
amount
=
item
.
amount
;
let
usdt
=
usdtTickerMap
[
symbol
]
?
usdtTickerMap
[
symbol
]
:
await
tickerUtils
.
_
rateCoin2USDT
(
symbol
);
let
usdt
=
usdtTickerMap
[
symbol
]
?
usdtTickerMap
[
symbol
]
:
await
tickerUtils
.
rateCoin2USDT
(
symbol
);
usdtTickerMap
[
symbol
]
=
usdt
;
item
.
equal_usdt
=
new
BigNumber
(
usdt
).
mul
(
amount
);
}
...
...
src/functional/mvc/service/spotData.service.ts
View file @
d2c4f160
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment