This commit is contained in:
aozhiwei 2024-06-14 19:24:04 +08:00
parent f532c9fa5b
commit 5fb2182881
7 changed files with 74 additions and 29 deletions

13
server/marketserver/cache/cachemgr.go vendored Normal file
View File

@ -0,0 +1,13 @@
package cache
type cacheMgr struct {
}
func (this *cacheMgr) Init() {
}
func (this *cacheMgr) UnInit() {
}

12
server/marketserver/cache/export.go vendored Normal file
View File

@ -0,0 +1,12 @@
package cache
import (
"main/constant"
"main/global"
)
var _cacheMgr = new(cacheMgr)
func init() {
global.RegModule(constant.CACHE_MGR_MODULE_IDX, _cacheMgr)
}

View File

@ -17,19 +17,21 @@ type OrderUpdatedEvent struct {
Chain string `json:"chain"`
Data struct {
Id string `json:"id"`
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 struct {
Name string `json:"name"`
} `json:"status"`
StartAt interface{} `json:"start_at"`
EndAt interface{} `json:"end_at"`
CreatedAt interface{} `json:"created_at"`
UpdatedAt interface{} `json:"updated_at"`
} `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 {
@ -41,3 +43,6 @@ type RouterMgr interface{
type TaskMgr interface{
}
type CacheMgr interface{
}

View File

@ -10,6 +10,7 @@ const (
APP_MODULE_IDX = iota
ROUTER_MGR_MODULE_IDX
TASK_MGR_MODULE_IDX
CACHE_MGR_MODULE_IDX
MAX_MODULE_IDX
)

View File

@ -10,11 +10,13 @@ import (
var modules [constant.MAX_MODULE_IDX]q5.Module
var initOrders = []int32{
constant.ROUTER_MGR_MODULE_IDX,
constant.TASK_MGR_MODULE_IDX,
}
var app common.App
var routerMgr common.RouterMgr
var taskMgr common.TaskMgr
var cacheMgr common.CacheMgr
func GetApp() common.App {
return app
@ -28,6 +30,10 @@ func GetTaskMgr() common.TaskMgr {
return taskMgr
}
func GetCacheMgr() common.CacheMgr {
return cacheMgr
}
func RegModule(idx int32, m q5.Module) {
fmt.Printf("RegModule module %d\n", idx)
modules[idx] = m
@ -44,6 +50,10 @@ func RegModule(idx int32, m q5.Module) {
{
taskMgr = m.(common.TaskMgr)
}
case constant.CACHE_MGR_MODULE_IDX:
{
cacheMgr = m.(common.CacheMgr)
}
default:
{
panic("unknow module")

View File

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

View File

@ -32,9 +32,10 @@ func (this* taskMgr) loadWebHookEvent(eventName string, cb func(ds *f5.DataSet)
var newLastSyncIdx int64
f5.GetGoStyleDb().RawQuery(
constant.BCEVENT_DB,
"SELECT * FROM t_webhook_process_last_idx WHERE idx > ? LIMIT 1000",
"SELECT * FROM t_webhook_event WHERE idx > ? AND event_name = ? LIMIT 1000",
[]string{
q5.ToString(lastSyncIdx),
eventName,
},
func (err error, ds *f5.DataSet) {
if err == nil {
@ -106,7 +107,6 @@ 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)
@ -115,11 +115,11 @@ func (this* taskMgr) orderUpdatedCb(ds *f5.DataSet) bool {
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)},
{"status", p.Data.Status.Name},
{"start_time", q5.SafeToString(p.Data.StartAt)},
{"end_time", q5.SafeToString(p.Data.EndAt)},
{"created_at", q5.SafeToString(p.Data.CreatedAt)},
{"updated_at", q5.SafeToString(p.Data.UpdatedAt)},
{"event_id", p.EventId},
{"event_data", rawData},
{"modifytime", q5.ToString(nowTime)},
@ -127,26 +127,26 @@ func (this* taskMgr) orderUpdatedCb(ds *f5.DataSet) bool {
insertFields := [][]string{
{"order_id", p.Data.Id},
{"chain", p.Chain},
{"status", p.Status},
{"status", p.Data.Status.Name},
{"net_id", q5.ToString(netId)},
{"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)},
{"token_id", p.Data.Sell[0].TokenId},
{"contract_address", p.Data.Sell[0].ContractAddress},
{"start_time", q5.SafeToString(p.Data.StartAt)},
{"end_time", q5.SafeToString(p.Data.EndAt)},
{"created_at", q5.SafeToString(p.Data.CreatedAt)},
{"updated_at", q5.SafeToString(p.Data.UpdatedAt)},
{"event_id", p.EventId},
{"event_data", rawData},
{"createtime", q5.ToString(nowTime)},
{"modifytime", q5.ToString(nowTime)},
}
f5.GetGoStyleDb().Upsert(
f5.GetGoStyleDb().UpsertEx(
constant.BCNFT_DB,
"t_order",
[][]string{
{"net_id", q5.ToString(netId)},
{"contract_address", p.Sell[0].ContractAddress},
{"token_id", p.Sell[0].TokenId},
{"contract_address", p.Data.Sell[0].ContractAddress},
{"token_id", p.Data.Sell[0].TokenId},
},
updateFields,
insertFields,
@ -154,6 +154,9 @@ func (this* taskMgr) orderUpdatedCb(ds *f5.DataSet) bool {
if err != nil {
return
}
},
func (ds *f5.DataSet) bool {
return p.EventId > ds.GetByName("event_id")
})
}
return true