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