1
This commit is contained in:
parent
68e9fed5cb
commit
e023dff83d
@ -89,40 +89,48 @@ func (this* chainActivity) saveToDb(ds *f5.DataSet) bool {
|
||||
itemId := 0
|
||||
quality := 0
|
||||
|
||||
genWhereKv := func (tokenId string) [][]string {
|
||||
return [][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", contractAddress},
|
||||
{"token_id", tokenId},
|
||||
}
|
||||
}
|
||||
genInsertKv := func (nftAddress, tokenId string, sender string, to string, isMint int32) [][]string {
|
||||
return [][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", strings.ToLower(contractAddress)},
|
||||
{"nft_contract_address", strings.ToLower(nftAddress)},
|
||||
{"token_id", tokenId},
|
||||
{"src_idx", idx},
|
||||
{"sender_address", strings.ToLower(sender)},
|
||||
{"to_address", strings.ToLower(to)},
|
||||
{"item_id", q5.ToString(itemId)},
|
||||
{"quality", q5.ToString(quality)},
|
||||
{"is_mint", q5.ToString(isMint)},
|
||||
{"createtime", createTime},
|
||||
{"modifytime", modifyTime},
|
||||
}
|
||||
}
|
||||
decodeJsonOk := false
|
||||
if eventName == "Lock" {
|
||||
p := new(lockReturnValues)
|
||||
if q5.DecodeJson(returnValues, p) == nil {
|
||||
decodeJsonOk = true
|
||||
for _, tokenId := range p.TokenIds {
|
||||
var dbErr error
|
||||
f5.GetGoStyleDb().Upsert(
|
||||
constant.BCEVENT_DB,
|
||||
"t_chain_activity",
|
||||
[][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", contractAddress},
|
||||
{"token_id", tokenId},
|
||||
},
|
||||
[][]string{
|
||||
},
|
||||
[][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", contractAddress},
|
||||
{"nft_contract_address", strings.ToLower(p.Nft)},
|
||||
{"token_id", tokenId},
|
||||
{"src_idx", idx},
|
||||
{"sender_address", strings.ToLower(p.Sender)},
|
||||
{"to_address", strings.ToLower(p.To)},
|
||||
{"item_id", q5.ToString(itemId)},
|
||||
{"quality", q5.ToString(quality)},
|
||||
{"createtime", createTime},
|
||||
{"modifytime", modifyTime},
|
||||
},
|
||||
genWhereKv(tokenId),
|
||||
[][]string{},
|
||||
genInsertKv(p.Nft, tokenId, p.Sender, p.To, 0),
|
||||
func (err error, lastInsertId int64, rowsAffected int64) {
|
||||
dbErr = err
|
||||
})
|
||||
@ -130,24 +138,20 @@ func (this* chainActivity) saveToDb(ds *f5.DataSet) bool {
|
||||
return false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jccommon.AddDbLog(constant.BCEVENT_DB, "chainActivity", "returnValuesDecodeError",
|
||||
map[string]string{
|
||||
"param1": txhash,
|
||||
"param2": netId,
|
||||
"param3": eventName,
|
||||
"param4": idx,
|
||||
"param5": contractAddress,
|
||||
})
|
||||
}
|
||||
} else if eventName == "UnLock" {
|
||||
p := new(unLockReturnValues)
|
||||
sender := q5.SafeToString(p.User)
|
||||
if q5.DecodeJson(returnValues, p) == nil {
|
||||
decodeJsonOk = true
|
||||
for _, nft := range p.NftList {
|
||||
if len(nft) != 3 {
|
||||
decodeJsonOk = false
|
||||
break
|
||||
}
|
||||
tokenId := q5.SafeToString(nft[0])
|
||||
to := q5.SafeToString(nft[1])
|
||||
isMint := 0
|
||||
var isMint int32
|
||||
if nft[2].(bool) {
|
||||
isMint = 1
|
||||
}
|
||||
@ -155,33 +159,9 @@ func (this* chainActivity) saveToDb(ds *f5.DataSet) bool {
|
||||
f5.GetGoStyleDb().Upsert(
|
||||
constant.BCEVENT_DB,
|
||||
"t_chain_activity",
|
||||
[][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", contractAddress},
|
||||
{"token_id", tokenId},
|
||||
},
|
||||
[][]string{
|
||||
},
|
||||
[][]string{
|
||||
{"txhash", txhash},
|
||||
{"log_index", logIndex},
|
||||
{"net_id", netId},
|
||||
{"event_name", eventName},
|
||||
{"contract_address", contractAddress},
|
||||
{"nft_contract_address", strings.ToLower(p.Nft)},
|
||||
{"token_id", tokenId},
|
||||
{"src_idx", idx},
|
||||
{"sender_address", strings.ToLower(sender)},
|
||||
{"to_address", strings.ToLower(to)},
|
||||
{"item_id", q5.ToString(itemId)},
|
||||
{"quality", q5.ToString(quality)},
|
||||
{"is_mint", q5.ToString(isMint)},
|
||||
{"createtime", createTime},
|
||||
{"modifytime", modifyTime},
|
||||
},
|
||||
genWhereKv(tokenId),
|
||||
[][]string{},
|
||||
genInsertKv(p.Nft, tokenId, sender, to, isMint),
|
||||
func (err error, lastInsertId int64, rowsAffected int64) {
|
||||
dbErr = err
|
||||
})
|
||||
@ -189,18 +169,19 @@ func (this* chainActivity) saveToDb(ds *f5.DataSet) bool {
|
||||
return false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jccommon.AddDbLog(constant.BCEVENT_DB, "chainActivity", "returnValuesDecodeError",
|
||||
map[string]string{
|
||||
"param1": txhash,
|
||||
"param2": netId,
|
||||
"param3": eventName,
|
||||
"param4": idx,
|
||||
"param5": contractAddress,
|
||||
})
|
||||
}
|
||||
} else {
|
||||
panic(fmt.Sprintf("chainActivity unknow event_name %s", eventName))
|
||||
}
|
||||
if !decodeJsonOk {
|
||||
jccommon.AddDbLog(constant.BCEVENT_DB, "chainActivity", "decodeJsonError",
|
||||
map[string]string{
|
||||
"param1": txhash,
|
||||
"param2": netId,
|
||||
"param3": eventName,
|
||||
"param4": idx,
|
||||
"param5": contractAddress,
|
||||
})
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user