Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
smartcontracts
transactionCC
Commits
f62ad168
Commit
f62ad168
authored
3 years ago
by
d.gareykhanov
Browse files
Options
Download
Email Patches
Plain Diff
сначала конвертируем в lion потом считаем комиссию
parent
8f6e43f1
develop
feature/board-offer-662
feature/commission-720
feature/cryp-708
revert-099620a0
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
mngr/functions.go
+11
-15
mngr/functions.go
with
11 additions
and
15 deletions
+11
-15
mngr/functions.go
View file @
f62ad168
...
...
@@ -622,13 +622,8 @@ func getCommissionAmount(amount nums.PlainCurrencyNumber, user *userCC.User, pro
chaincode
.
GlobalLogger
.
Infof
(
"commissionPercent: (%f)"
,
commissionPercent
)
currencyTypeKey
:=
amount
.
CurrencyType
.
String
()
if
amount
.
CurrencyType
.
IsFiatCurrency
()
{
currencyTypeKey
=
nums
.
GenericFiat
}
keysWithFilter
:=
&
requests
.
KeysWithFilter
{
Keys
:
[]
string
{
user
.
PartnerCode
,
processType
.
String
(),
c
urrencyType
Key
},
Keys
:
[]
string
{
user
.
PartnerCode
,
processType
.
String
(),
nums
.
Lion_C
urrencyType
.
String
()
},
}
preferenceArray
,
err
:=
manager
.
SystemPreferenceCC
.
GetPreferenceArrayByKeysWithFilter
(
keysWithFilter
)
if
err
!=
nil
{
...
...
@@ -647,7 +642,7 @@ func getCommissionAmount(amount nums.PlainCurrencyNumber, user *userCC.User, pro
scale
:=
uint
(
scaleUint64
)
asset
,
err
:=
nums
.
NewAsset
(
nums
.
Lion_CurrencyType
.
String
()
,
preference
[
systempreferenceCC
.
CURRENCY_TYPE
]
,
scale
,
preference
[
systempreferenceCC
.
MAX_VALUE
],
preference
[
systempreferenceCC
.
MIN_VALUE
],
...
...
@@ -661,6 +656,15 @@ func getCommissionAmount(amount nums.PlainCurrencyNumber, user *userCC.User, pro
return
nil
,
err
}
if
amount
.
CurrencyType
!=
nums
.
Lion_CurrencyType
{
lionExchangeRate
,
err
:=
manager
.
CommissionCC
.
GetLionExchangeRate
(
commissionCC
.
GetLionExchangeRateArg
{
OrganizationId
:
user
.
PartnerCode
,
CurrencyType
:
amount
.
CurrencyType
})
if
err
!=
nil
{
return
nil
,
err
}
chaincode
.
GlobalLogger
.
Infof
(
"lion exchange rate: %f"
,
lionExchangeRate
.
Rate
)
numberAmount
,
err
=
numberAmount
.
MulFloat
(
lionExchangeRate
.
Rate
)
}
commissionAmount
,
err
:=
numberAmount
.
MulFloat
(
commissionPercent
.
CommissionPercent
/
100
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -701,14 +705,6 @@ func getCommissionAmount(amount nums.PlainCurrencyNumber, user *userCC.User, pro
commissionAmount
=
maxCommissionAmount
}
if
numberAmount
.
CurrencyType
()
!=
nums
.
Lion_CurrencyType
{
lionExchangeRate
,
err
:=
manager
.
CommissionCC
.
GetLionExchangeRate
(
commissionCC
.
GetLionExchangeRateArg
{
OrganizationId
:
user
.
PartnerCode
,
CurrencyType
:
numberAmount
.
CurrencyType
()})
if
err
!=
nil
{
return
nil
,
err
}
chaincode
.
GlobalLogger
.
Infof
(
"lion exchange rate: %f"
,
lionExchangeRate
.
Rate
)
commissionAmount
,
err
=
commissionAmount
.
MulFloat
(
lionExchangeRate
.
Rate
)
}
chaincode
.
GlobalLogger
.
Infof
(
"final commission amount: %s"
,
commissionAmount
.
Num
)
return
commissionAmount
,
nil
...
...
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
Menu
Projects
Groups
Snippets
Help