From b671374141b93a8a720d5cbf528fa388b5df576d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 27 Jun 2024 17:08:33 +0800 Subject: [PATCH] 1 --- server/backtask/task/repair_order.go | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/server/backtask/task/repair_order.go b/server/backtask/task/repair_order.go index 844e5dba..1d311d19 100644 --- a/server/backtask/task/repair_order.go +++ b/server/backtask/task/repair_order.go @@ -52,5 +52,42 @@ func (this* repairOrder) repairPrice(ds *f5.DataSet) bool { if service.BcCurrency.GetLastRefreshOkTime() + 3600 * 2 < f5.GetApp().GetRealSeconds() { return false } + dbIdx := ds.GetByName("idx") + eventId := ds.GetByName("event_id") + srcPriceAmount := ds.GetByName("src_price_amount") + srcPriceContractAddress := ds.GetByName("src_price_contract_address") + srcPriceItemType := ds.GetByName("src_price_item_type") + if srcPriceAmount == "" { + p := new(jccommon.OrderUpdatedEvent) + err := q5.DecodeJson(ds.GetByName("event_data"), &p) + if err != nil { + return false + } + srcPriceAmount = p.Data.Buy[0].Amount + srcPriceContractAddress = p.Data.Buy[0].ContractAddress + srcPriceItemType = p.Data.Buy[0].ItemType + } + srcPriceExchangeRate, price := service.BcCurrency.ExchangeUSD( + srcPriceAmount, srcPriceContractAddress, srcPriceItemType) + updateFields := [][]string{ + {"src_price_amount", srcPriceAmount}, + {"src_price_contract_address", srcPriceContractAddress}, + {"src_price_item_type", srcPriceItemType}, + {"price", price}, + {"src_price_exchange_rate", q5.ToString(srcPriceExchangeRate)}, + } + f5.GetGoStyleDb().Update( + constant.BCNFT_DB, + "t_order", + [][]string{ + {"idx", q5.ToString(dbIdx)}, + {"event_id", eventId}, + }, + updateFields, + func (err error, lastInsertId int64, rowsAffected int64) { + if err != nil { + return + } + }) return true }