From fa99325a93a38be04cd80a1db7c0077d6dbfc374 Mon Sep 17 00:00:00 2001 From: huanghaiquan Date: Tue, 21 May 2019 02:08:54 +0800 Subject: [PATCH] Refactored the timestamp generation mechanism of ContractEventSendOperation; --- .../ledger/ContractEventSendOperation.java | 42 +++++++++++++------ .../ContractEventSendOpTemplate.java | 13 +++--- ...ContractEventSendOperationBuilderImpl.java | 7 ++-- 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java index 59cb3111..b5ee3b5a 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java @@ -10,21 +10,39 @@ import com.jd.blockchain.utils.Bytes; * @author huanghaiquan * */ -@DataContract(code= DataCodes.TX_OP_CONTRACT_EVENT_SEND) +@DataContract(code = DataCodes.TX_OP_CONTRACT_EVENT_SEND) public interface ContractEventSendOperation extends Operation { - - @DataField(order=2, primitiveType=PrimitiveType.BYTES) + + /** + * 响应事件的合约地址; + * + * @return + */ + @DataField(order = 2, primitiveType = PrimitiveType.BYTES) Bytes getContractAddress(); - - @DataField(order=3, primitiveType=PrimitiveType.TEXT) + + /** + * 事件名; + * + * @return + */ + @DataField(order = 3, primitiveType = PrimitiveType.TEXT) String getEvent(); - - - @DataField(order=4, primitiveType=PrimitiveType.BYTES) + + /** + * 事件参数; + * + * @return + */ + @DataField(order = 4, primitiveType = PrimitiveType.BYTES) byte[] getArgs(); - //获得交易操作时间; - @DataField(order=5, primitiveType=PrimitiveType.INT64) - Long getTxOpTime(); - + /** + * 时间戳; + * + * @return + */ + @DataField(order = 5, primitiveType = PrimitiveType.INT64) + long getTs(); + } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java index c5ad6db2..aa3a7b6a 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java @@ -12,8 +12,8 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { private Bytes contractAddress; private byte[] args; private String event; - //交易操作时间; - private Long txOpTime; + + private long ts; public ContractEventSendOpTemplate() { } @@ -22,7 +22,6 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { this.contractAddress = contractAddress; this.event = event; this.args = args; - this.txOpTime = System.currentTimeMillis(); } @Override @@ -41,7 +40,11 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { } @Override - public Long getTxOpTime() { - return txOpTime; + public long getTs() { + return ts; + } + + public void setTs(long ts) { + this.ts = ts; } } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java index 7c54e4e8..b60153fc 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java @@ -4,18 +4,19 @@ import com.jd.blockchain.ledger.ContractEventSendOperation; import com.jd.blockchain.utils.Bytes; @Deprecated -class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{ - +class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder { @Override public ContractEventSendOperation send(String address, String event, byte[] args) { ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(Bytes.fromBase58(address), event, args); + op.setTs(System.currentTimeMillis()); return op; } - + @Override public ContractEventSendOperation send(Bytes address, String event, byte[] args) { ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(address, event, args); + op.setTs(System.currentTimeMillis()); return op; }