This commit is contained in:
aozhiwei 2024-06-14 17:02:42 +08:00
parent 46d9c483f2
commit e304891144
3 changed files with 73 additions and 0 deletions

View File

@ -11,6 +11,27 @@ type NftHomeMeta struct {
ExternalLink string `json:"external_link"`
}
type OrderUpdatedEvent struct {
EventName string `json:"event_name"`
EventId string `json:"event_id"`
Chain string `json:"chain"`
Data struct {
Id string `json:"id"`
} `json:"data"`
Sell [] struct {
TokenId string `json:"token_id"`
ItemType string `json:"item_type"`
EndAmount string `json:"end_amount"`
StartAmount string `json:"start_amount"`
ContractAddress string `json:"contract_address"`
} `json:"sell"`
Status string `json:"status"`
StartTime int32 `json:"start_time"`
EndTime int32 `json:"end_time"`
CreatedAt int32 `json:"created_at"`
UpdatedAt int32 `json:"updated_at"`
}
type App interface {
Run(func(), func())
}

View File

@ -4,6 +4,7 @@ import (
_ "main/app"
. "main/global"
_ "main/router"
_ "main/task"
)
func Init() {

View File

@ -4,6 +4,7 @@ import (
"q5"
"f5"
"main/constant"
"main/common"
"time"
)
@ -104,5 +105,55 @@ func (this* taskMgr) saveLastIdx(eventName string, lastIdx int64) bool {
}
func (this* taskMgr) orderUpdatedCb(ds *f5.DataSet) bool {
nowTime := f5.GetApp().GetRealSeconds()
//eventId := ds.GetByName("event_id")
rawData := ds.GetByName("raw_data")
p := new(common.OrderUpdatedEvent)
err := q5.DecodeJson(rawData, &p)
if err == nil {
updateFields := [][]string{
{"order_id", p.Data.Id},
{"chain", p.Chain},
{"status", p.Status},
{"start_time", q5.ToString(p.StartTime)},
{"end_time", q5.ToString(p.EndTime)},
{"created_at", q5.ToString(p.CreatedAt)},
{"updated_at", q5.ToString(p.UpdatedAt)},
{"event_id", p.EventId},
{"event_data", rawData},
{"modifytime", q5.ToString(nowTime)},
}
insertFields := [][]string{
{"order_id", p.Data.Id},
{"chain", p.Chain},
{"status", p.Status},
{"net_id", "100"},
{"token_id", p.Sell[0].TokenId},
{"contract_address", p.Sell[0].ContractAddress},
{"start_time", q5.ToString(p.StartTime)},
{"end_time", q5.ToString(p.EndTime)},
{"created_at", q5.ToString(p.CreatedAt)},
{"updated_at", q5.ToString(p.UpdatedAt)},
{"event_id", p.EventId},
{"event_data", rawData},
{"createtime", q5.ToString(nowTime)},
{"modifytime", q5.ToString(nowTime)},
}
f5.GetGoStyleDb().Upsert(
constant.BCNFT_DB,
"t_order",
[][]string{
{"net_id", "100"},
{"contract_address", p.Sell[0].ContractAddress},
{"token_id", p.Sell[0].TokenId},
},
updateFields,
insertFields,
func (err error, lastInsertId int64, rowsAffected int64) {
if err != nil {
return
}
})
}
return true
}