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
1f43154d
Commit
1f43154d
authored
Jan 12, 2025
by
1486327116
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
87dfa466
838a9666
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
100 additions
and
40 deletions
+100
-40
task.fee.rate.log.model.ts
cron/model/task.fee.rate.log.model.ts
+25
-19
task_fee_rate_base_coin_contract_log.ts
cron/task/task_fee_rate_base_coin_contract_log.ts
+25
-6
task_fee_rate_contract_log.ts
cron/task/task_fee_rate_contract_log.ts
+35
-6
task_fee_rate_spot_log.ts
cron/task/task_fee_rate_spot_log.ts
+10
-7
task_fee_setting_status_update.ts
cron/task/task_fee_setting_status_update.ts
+3
-1
appFeature.control.ts
src/functional/mvc/control/appFeature.control.ts
+2
-1
No files found.
cron/model/task.fee.rate.log.model.ts
View file @
1f43154d
...
...
@@ -45,7 +45,6 @@ let checkPair = async function (pair: string, type: number) {
let
dbPair
:
any
;
if
(
type
==
1
)
{
//现货
dbPair
=
await
spotPairs
.
prototype
.
findOne
({
attributes
:
[
'id'
],
where
:
{
symbol
:
String
(
pair
),
status
:
2
,
//提交成功
...
...
@@ -55,7 +54,6 @@ let checkPair = async function (pair: string, type: number) {
}
else
{
//U、币本位合约
dbPair
=
await
contractPairs
.
prototype
.
findOne
({
attributes
:
[
'id'
],
where
:
{
symbol
:
String
(
pair
),
status
:
2
,
//提交成功
...
...
@@ -142,16 +140,25 @@ 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'
;
}
//初始费率
let
init_maker_fee
=
0.001
,
init_taker_fee
=
0.002
;
if
(
pair
)
{
await
checkPair
(
symbol
,
1
);
let
dbPair
=
await
checkPair
(
symbol
,
1
);
init_maker_fee
=
dbPair
.
maker_fee
;
init_taker_fee
=
dbPair
.
taker_fee
;
}
await
checkUser
(
user_id
);
await
sleep
(
1000
);
//要设置的费率
let
set_maker_fee
=
maker_fee
;
let
set_taker_fee
=
taker_fee
;
//请求撮合 修改费率 maker_fee 和 taker_fee 同时为1 代表初始化费率
let
tmp_maker_fee
=
Number
(
maker_fee
)
==
0.001
?
1
:
maker_fee
;
let
tmp_taker_fee
=
Number
(
taker_fee
)
==
0.002
?
1
:
taker_fee
;
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
tmp_maker_fee
,
tmp_taker_fee
,
"spot"
,
opt_market
);
if
(
Number
(
maker_fee
)
==
init_maker_fee
&&
Number
(
taker_fee
)
==
init_taker_fee
)
{
set_maker_fee
=
1
;
set_taker_fee
=
1
;
}
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
set_maker_fee
,
set_taker_fee
,
"spot"
,
opt_market
);
return
res
.
is_success
;
};
...
...
@@ -167,8 +174,12 @@ export const changeUserContractFee = async function (user_id, symbol, fee_model,
if
(
feeExist
)
{
return
is_success
;
}
//初始费率
let
init_maker_fee
=
0.0004
,
init_taker_fee
=
0.0006
;
if
(
pair
)
{
await
checkPair
(
symbol
,
2
);
let
dbPair
=
await
checkPair
(
symbol
,
2
);
init_maker_fee
=
dbPair
.
maker_fee
;
init_taker_fee
=
dbPair
.
taker_fee
;
}
//查询交易账户资产
let
asset
:
any
;
...
...
@@ -195,10 +206,14 @@ export const changeUserContractFee = async function (user_id, symbol, fee_model,
await
checkUser
(
user_id
);
await
sleep
(
1000
);
let
set_maker_fee
=
maker_fee
;
let
set_taker_fee
=
taker_fee
;
//请求撮合 修改费率 maker_fee 和 taker_fee 同时为1 代表初始化费率
let
tmp_maker_fee
=
Number
(
maker_fee
)
==
0.0004
?
1
:
maker_fee
;
let
tmp_taker_fee
=
Number
(
taker_fee
)
==
0.0006
?
1
:
taker_fee
;
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
tmp_maker_fee
,
tmp_taker_fee
,
"lpc"
,
opt_market
);
if
(
Number
(
maker_fee
)
==
init_maker_fee
&&
Number
(
taker_fee
)
==
init_taker_fee
)
{
set_maker_fee
=
1
;
set_taker_fee
=
1
;
}
let
res
=
await
changeTradingFee
(
pair
,
user_id
,
set_maker_fee
,
set_taker_fee
,
"lpc"
,
opt_market
);
return
res
.
is_success
;
};
...
...
@@ -235,15 +250,6 @@ async function cancelIfFeeExist(user_id, product_type, pair, maker_fee, taker_fe
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 @
1f43154d
...
...
@@ -208,16 +208,27 @@ async function setExpiredDefault() {
},
raw
:
true
,
});
let
init_maker_rate
=
0.0004
,
init_taker_rate
=
0.0006
;
// 初始用户费率
let
defaultFeeObj
=
{},
init_maker_rate
=
0.0004
,
init_taker_rate
=
0.0006
;
// 初始用户费率
let
activePairs
:
any
=
[
'all'
];
for
(
let
i
=
0
;
i
<
defaultPairFee
.
length
;
i
++
)
{
let
{
symbol
}
=
defaultPairFee
[
i
];
activePairs
.
push
(
symbol
);
defaultFeeObj
[
symbol
]
=
defaultPairFee
[
i
];
}
let
newFeeArr
:
any
=
[];
let
beginAt
=
new
Date
();
let
expiredPairs
:
any
=
[];
for
(
let
i
=
0
;
i
<
expirdFees
.
length
;
i
++
)
{
let
{
pair
,
fee_model
,
user_id
,
maker_fee
:
before_maker_fee
,
taker_fee
:
before_taker_fee
}
=
expirdFees
[
i
];
let
{
pair
,
fee_model
,
user_id
}
=
expirdFees
[
i
];
if
(
await
isWhiteListUser
(
user_id
))
{
continue
;
}
if
(
!
activePairs
.
includes
(
pair
))
{
expiredPairs
.
push
(
pair
);
continue
;
}
if
(
unCheckCountObj
[
user_id
]
>
0
)
{
// 已经存在
continue
;
}
...
...
@@ -225,15 +236,23 @@ async function setExpiredDefault() {
user_id
,
pair
:
pair
,
fee_model
,
maker_fee
:
init_maker_rate
,
taker_fee
:
init_taker_rate
,
maker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
maker_fee
:
init_maker_rate
,
taker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
taker_fee
:
init_taker_rate
,
beginAt
:
beginAt
,
expireAt
:
new
Date
(
beginAt
.
getTime
()
+
oneMonth
),
is_check
:
feeRateCheckStatus
.
CHECK_STATUS_UNCHECK
,
comment
,
});
}
// 如果有活动,采用活动的费率
if
(
expiredPairs
.
length
>
0
)
{
// 下线交易对处理
await
fee_rate_base_coin_contract_log
.
update
({
is_check
:
feeRateCheckStatus
.
CHECK_STATUS_ACTIVE_OVER
,
},
{
where
:
{
pair
:
expiredPairs
,
}
})
}
if
(
newFeeArr
.
length
>
0
)
{
let
trans
:
any
;
try
{
...
...
cron/task/task_fee_rate_contract_log.ts
View file @
1f43154d
...
...
@@ -2,7 +2,7 @@ import {
ormDB
,
userInfoSon
,
feeRateContractLog
,
contractPairs
contractPairs
,
spotPairs
}
from
"@madex/ex-ts-dao"
;
import
{
FEE_RATE_LOG_STATUS
}
from
"../../src/constant/feeRateLogConst"
;
import
{
changeUserContractFee
,
isWhiteListUser
}
from
"../model/task.fee.rate.log.model"
;
...
...
@@ -205,33 +205,60 @@ async function setExpiredDefault() {
let
{
user_id
,
amount
}
=
uncheckCounts
[
i
];
unCheckCountObj
[
user_id
]
=
amount
;
}
let
defaultPairFee
=
await
contractPairs
.
prototype
.
findAll
({
attributes
:
[
'maker_fee'
,
'taker_fee'
,
'symbol'
],
where
:
{
status
:
2
},
raw
:
true
,
});
let
defaultFeeObj
=
{},
init_maker_rate
=
0.0004
,
init_taker_rate
=
0.0006
;
// 初始用户费率
let
init_maker_rate
=
0.0004
,
init_taker_rate
=
0.0006
;
// 初始用户费率
let
activePairs
:
any
=
[
'all'
];
for
(
let
i
=
0
;
i
<
defaultPairFee
.
length
;
i
++
)
{
let
{
symbol
}
=
defaultPairFee
[
i
];
activePairs
.
push
(
symbol
);
defaultFeeObj
[
symbol
]
=
defaultPairFee
[
i
];
}
let
newFeeArr
:
any
=
[];
let
beginAt
=
new
Date
();
let
expiredPairs
:
any
=
[];
for
(
let
i
=
0
;
i
<
expirdFees
.
length
;
i
++
)
{
let
{
pair
,
fee_model
,
user_id
,
maker_fee
:
before_maker_fee
,
taker_fee
:
before_taker_fee
}
=
expirdFees
[
i
];
let
{
pair
,
fee_model
,
user_id
}
=
expirdFees
[
i
];
if
(
await
isWhiteListUser
(
user_id
))
{
continue
;
}
if
(
!
activePairs
.
includes
(
pair
))
{
expiredPairs
.
push
(
pair
);
continue
;
}
if
(
unCheckCountObj
[
user_id
]
>
0
)
{
// 已经存在
continue
;
}
newFeeArr
.
push
({
user_id
,
pair
:
pair
,
fee_model
,
maker_fee
:
init_maker_rate
,
taker_fee
:
init_taker_rate
,
maker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
maker_fee
:
init_maker_rate
,
taker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
taker_fee
:
init_taker_rate
,
beginAt
:
beginAt
,
expireAt
:
new
Date
(
beginAt
.
getTime
()
+
oneMonth
),
is_check
:
feeRateCheckStatus
.
CHECK_STATUS_UNCHECK
,
comment
,
});
}
// 如果有活动,采用活动的费率
if
(
expiredPairs
.
length
>
0
)
{
// 下线交易对处理
await
fee_rate_contract_log
.
update
({
is_check
:
feeRateCheckStatus
.
CHECK_STATUS_ACTIVE_OVER
,
},
{
where
:
{
pair
:
expiredPairs
,
}
})
}
if
(
newFeeArr
.
length
>
0
)
{
let
trans
:
any
;
try
{
...
...
@@ -259,3 +286,5 @@ async function setExpiredDefault() {
}
}
}
// setFeeRateJob.invoke();
// setExpiredDefaultJob.invoke();
\ No newline at end of file
cron/task/task_fee_rate_spot_log.ts
View file @
1f43154d
...
...
@@ -23,7 +23,6 @@ let inJob = false;
let
limit
=
3000
;
let
setFeeRateJob
=
schedule
.
scheduleJob
(
'*/30 * * * * *'
,
function
()
{
if
(
inJob
)
{
return
;
...
...
@@ -225,24 +224,25 @@ async function setExpiredDefault() {
}
let
defaultPairFee
=
await
spotPairs
.
prototype
.
findAll
({
attributes
:
[
'maker_
rate'
,
'taker_rat
e'
,
'symbol'
],
attributes
:
[
'maker_
fee'
,
'taker_fe
e'
,
'symbol'
],
where
:
{
status
:
2
},
raw
:
true
,
});
let
init_maker_rate
=
0.001
,
init_taker_rate
=
0.002
;
// 初始用户费率
let
defaultFeeObj
=
{},
init_maker_rate
=
0.001
,
init_taker_rate
=
0.002
;
// 初始用户费率
let
activePairs
:
any
=
[
'all'
];
for
(
let
i
=
0
;
i
<
defaultPairFee
.
length
;
i
++
)
{
let
{
symbol
}
=
defaultPairFee
[
i
];
let
{
symbol
}
=
defaultPairFee
[
i
];
activePairs
.
push
(
symbol
);
defaultFeeObj
[
symbol
]
=
defaultPairFee
[
i
];
}
let
newFeeArr
:
any
=
[];
let
beginAt
=
new
Date
();
let
expiredPairs
:
any
=
[];
for
(
let
i
=
0
;
i
<
expirdFees
.
length
;
i
++
)
{
let
{
pair
,
fee_model
,
user_id
}
=
expirdFees
[
i
];
let
{
pair
,
fee_model
,
user_id
}
=
expirdFees
[
i
];
if
(
await
isWhiteListUser
(
user_id
))
{
continue
;
...
...
@@ -258,8 +258,8 @@ async function setExpiredDefault() {
user_id
,
pair
:
pair
,
fee_model
,
maker_fee
:
init_maker_rate
,
taker_fee
:
init_taker_rate
,
maker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
maker_fee
:
init_maker_rate
,
taker_fee
:
defaultFeeObj
[
pair
]
?
defaultFeeObj
[
pair
].
taker_fee
:
init_taker_rate
,
beginAt
:
beginAt
,
expireAt
:
new
Date
(
beginAt
.
getTime
()
+
oneMonth
),
is_check
:
feeRateCheckStatus
.
CHECK_STATUS_UNCHECK
,
...
...
@@ -302,3 +302,6 @@ async function setExpiredDefault() {
}
}
}
//setFeeRateJob.invoke();
//setExpiredDefaultJob.invoke();
\ No newline at end of file
cron/task/task_fee_setting_status_update.ts
View file @
1f43154d
...
...
@@ -27,4 +27,6 @@ let userSettingStatusUpdate = schedule.scheduleJob('0 */10 * * * *', async funct
userSettingUpdateRunning
=
false
;
logger
.
warn
(
'task_fee_setting_status_update userSettingStatusUpdate error'
,
error
);
}
});
\ No newline at end of file
});
// userSettingStatusUpdate.invoke();
\ No newline at end of file
src/functional/mvc/control/appFeature.control.ts
View file @
1f43154d
...
...
@@ -9,6 +9,7 @@ import { DEVICE_ARR, PLATFORM_ARR, STATUS_ARR } from "../../../constant/appVersi
import
{
appFeatureManage
,
arbitrageOrmDB
}
from
"@madex/ex-ts-dao"
;
let
isIp
=
require
(
'is-ip'
);
let
_
=
require
(
'lodash'
);
/**
* app首页入口列表
* @param req
...
...
@@ -134,7 +135,7 @@ async function checkIsFixedCount(id: number) {
}
}
let
keys
=
map
.
keys
;
let
keys
=
_
.
keys
(
map
)
;
for
(
let
key
of
keys
)
{
if
(
map
[
key
]
<
2
)
{
throw
ErrorCode
.
NOT_HIDDEN_TWO
...
...
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