充值task service
2022-03-31 19:54:06 3 举报
充值task service
作者其他创作
大纲/内容
eth-manger流程
根据TokenType找到对应的TransactionSetrvice接口对象
通过txid查询TransactionTrace对象列表(备注 : 通过httpAgent调用底层接口)
通过Web3jAgent调用获取Transaction对象
保存depositFlow数据到db
遍历TransactionTrace对象数据进行封装ReceiverDTO对象数据
存在 :更新depositFlow的高度
查询processed为false & tokednIds的head_log表数据
deposit任务提交
根据tokenId查询token表记录对象
过滤headLog_eth表address地址(比较目标地址是不是本平台地址)
过滤出head_log表tokenId不为空的数据
过滤所有开启充值了的Token(币)
调用getTransactionByTxid方法
通过Transaction的address和tokenId, amount封装ReceiverDTO对象
保存HeadLogTx数据到db
根据txId调用DefaultChainService的getTransaction方法
通过txid获取web3jAgent接口返回的TransactionReceipt交易收据对象数据
通过TransactionReceipt的数据和对应的eEvent事件, 找到对应的EventValuesWithLog对象
TransactionTRance列表数据不存在
发送pub/sub消息到chain-api
不存在 :判断交易类型是不是用户充值的
TransactionTRance列表数据存在
遍历所有的ReceiverDTO对象列表, 条件 : 地址是本平台地址 & index是 和HeadLog_ETH表的index一致的数据里面的任意一条对象
根据HeadLog_Eth表的txid+index查询该笔交易在depositFlow中是否存在记录, 若已存在只更新高度
封装TransactionDTO对象数据
遍历HeadLog_ETH对象列表
0 条评论
下一页