This commit is contained in:
aozhiwei 2024-06-27 16:37:12 +08:00
parent 1a68b97855
commit f189f23f0d
2 changed files with 12 additions and 4 deletions

View File

@ -8,7 +8,6 @@ import (
"math/big" "math/big"
"mt" "mt"
"strings" "strings"
"fmt"
) )
const DECIMALS = 10000 const DECIMALS = 10000
@ -21,6 +20,7 @@ type vsCurrency struct {
type bcCurrency struct { type bcCurrency struct {
nameHash *q5.ConcurrentMap[string, int64] nameHash *q5.ConcurrentMap[string, int64]
addressHash *q5.ConcurrentMap[string, int64] addressHash *q5.ConcurrentMap[string, int64]
lastRefreshOkTime int64
} }
func (this *bcCurrency) init() () { func (this *bcCurrency) init() () {
@ -66,8 +66,8 @@ func (this *bcCurrency) refreshExchangeRate() () {
jccommon.BC_CURRENCY_VS_URL, jccommon.BC_CURRENCY_VS_URL,
map[string]string{}, map[string]string{},
func (rsp f5.HttpCliResponse) { func (rsp f5.HttpCliResponse) {
fmt.Println("bcCurrency refreshPrice22", rsp.GetErr())
if rsp.GetErr() != nil { if rsp.GetErr() != nil {
f5.GetSysLog().Info("bcCurrency refreshPrice error%s", rsp.GetErr())
return return
} }
if q5.DecodeJson(rsp.GetRawData(), &rspObj) == nil { if q5.DecodeJson(rsp.GetRawData(), &rspObj) == nil {
@ -91,6 +91,9 @@ func (this *bcCurrency) updatePrice(l []vsCurrency) {
this.addressHash.Store(address, int64(val.CurrentPrice * DECIMALS)) this.addressHash.Store(address, int64(val.CurrentPrice * DECIMALS))
} }
} }
if len(l) > 0 {
this.lastRefreshOkTime = f5.GetApp().GetRealSeconds()
}
f5.GetSysLog().Info("bcCurrency updatePrice %s", q5.EncodeJson(l)) f5.GetSysLog().Info("bcCurrency updatePrice %s", q5.EncodeJson(l))
} }
@ -102,3 +105,7 @@ func (this *bcCurrency) getAddressByName(name string) string {
return "" return ""
} }
} }
func (this *bcCurrency) GetLastRefreshOkTime() int64 {
return this.lastRefreshOkTime
}

View File

@ -139,7 +139,8 @@ func (this* webHook) orderUpdatedCb(ds *f5.DataSet) bool {
srcPriceAmount := p.Data.Buy[0].Amount srcPriceAmount := p.Data.Buy[0].Amount
srcPriceContractAddress := p.Data.Buy[0].ContractAddress srcPriceContractAddress := p.Data.Buy[0].ContractAddress
srcPriceItemType := p.Data.Buy[0].ItemType srcPriceItemType := p.Data.Buy[0].ItemType
currentPrice, price := service.BcCurrency.ExchangeUSD(srcPriceAmount, srcPriceContractAddress, srcPriceItemType) srcPriceExchangeRate, price := service.BcCurrency.ExchangeUSD(
srcPriceAmount, srcPriceContractAddress, srcPriceItemType)
commonFields := [][]string{ commonFields := [][]string{
{"order_id", p.Data.Id}, {"order_id", p.Data.Id},
{"chain", p.Chain}, {"chain", p.Chain},
@ -157,7 +158,7 @@ func (this* webHook) orderUpdatedCb(ds *f5.DataSet) bool {
{"src_price_contract_address", srcPriceContractAddress}, {"src_price_contract_address", srcPriceContractAddress},
{"src_price_item_type", srcPriceItemType}, {"src_price_item_type", srcPriceItemType},
{"price", price}, {"price", price},
{"current_price", q5.ToString(currentPrice)}, {"src_price_exchange_rate", q5.ToString(srcPriceExchangeRate)},
} }
updateFields := commonFields[0:] updateFields := commonFields[0:]
insertFields := commonFields[0:] insertFields := commonFields[0:]