Browse Source

Refactored the timestamp generation mechanism of ContractEventSendOperation;

tags/1.0.0
huanghaiquan 5 years ago
parent
commit
fa99325a93
3 changed files with 42 additions and 20 deletions
  1. +30
    -12
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
  2. +8
    -5
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java
  3. +4
    -3
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java

+ 30
- 12
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java View File

@@ -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();

}

+ 8
- 5
source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOpTemplate.java View File

@@ -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;
}
}

+ 4
- 3
source/ledger/ledger-model/src/main/java/com/jd/blockchain/transaction/ContractEventSendOperationBuilderImpl.java View File

@@ -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;
}


Loading…
Cancel
Save