1616import com .webank .blockchain .data .export .common .bo .data .BlockDetailInfoBO ;
1717import com .webank .blockchain .data .export .common .bo .data .BlockDetailInfoBO .Status ;
1818import com .webank .blockchain .data .export .common .bo .data .BlockRawDataBO ;
19+ import com .webank .blockchain .data .export .common .entity .ExportConfig ;
20+ import com .webank .blockchain .data .export .common .entity .ExportConstant ;
21+ import com .webank .blockchain .data .export .common .enums .IgnoreBasicDataParam ;
1922import com .webank .blockchain .data .export .common .tools .DateUtils ;
2023import com .webank .blockchain .data .export .common .tools .JacksonUtils ;
2124import org .fisco .bcos .sdk .client .protocol .response .BcosBlock .Block ;
2225
26+ import java .util .List ;
27+ import java .util .Map ;
28+
2329/**
2430 * BlockCrawlerHandler is responsible for crawling block info.
2531 *
@@ -36,7 +42,6 @@ public class BlockCrawlerHandler {
3642 * transaction's count in current block, block hash and block timestamp.
3743 *
3844 * @param block
39- * @param blockHeight
4045 * @return boolean
4146 */
4247 public static BlockDetailInfoBO handleBlockDetail (Block block ) {
@@ -50,24 +55,68 @@ public static BlockDetailInfoBO handleBlockDetail(Block block) {
5055 }
5156
5257 public static BlockRawDataBO handleBlockRawData (Block block ) {
58+ ExportConfig config = ExportConstant .getCurrentContext ().getConfig ();
59+ Map <String , List <String >> ignoreBasicDataTableParam = config .getIgnoreBasicDataTableParam ();
5360 BlockRawDataBO blockRawDataBO = new BlockRawDataBO ();
5461 blockRawDataBO .setBlockHeight (block .getNumber ().longValue ());
5562 blockRawDataBO .setBlockHash (block .getHash ());
5663 blockRawDataBO .setBlockTimeStamp (DateUtils .hexStrToDate (block .getTimestamp ()));
57- blockRawDataBO .setDbHash (block .getDbHash ());
58- blockRawDataBO .setExtraData (JacksonUtils .toJson (block .getExtraData ()));
59- blockRawDataBO .setGasLimit (block .getGasLimit ());
60- blockRawDataBO .setGasUsed (block .getGasUsed ());
61- blockRawDataBO .setLogsBloom (block .getLogsBloom ());
62- blockRawDataBO .setParentHash (block .getParentHash ());
63- blockRawDataBO .setReceiptsRoot (block .getReceiptsRoot ());
64- blockRawDataBO .setSealer (block .getSealer ());
65- blockRawDataBO .setSealerList (JacksonUtils .toJson (block .getSealerList ()));
66- blockRawDataBO .setSignatureList (JacksonUtils .toJson (block .getSignatureList ()));
67- blockRawDataBO .setStateRoot (block .getStateRoot ());
68- blockRawDataBO .setTransactionsRoot (block .getTransactionsRoot ());
69- blockRawDataBO .setTransactionList (JacksonUtils .toJson (block .getTransactions ()));
70- blockRawDataBO .setBlockObject (JacksonUtils .toJson (block ));
64+ if (!ignoreBasicDataTableParam .containsKey (IgnoreBasicDataParam .IgnoreBasicDataTable .BLOCK_RAW_DATA_TABLE .name ())) {
65+ blockRawDataBO .setDbHash (block .getDbHash ());
66+ blockRawDataBO .setExtraData (JacksonUtils .toJson (block .getExtraData ()));
67+ blockRawDataBO .setGasLimit (block .getGasLimit ());
68+ blockRawDataBO .setGasUsed (block .getGasUsed ());
69+ blockRawDataBO .setLogsBloom (block .getLogsBloom ());
70+ blockRawDataBO .setParentHash (block .getParentHash ());
71+ blockRawDataBO .setReceiptsRoot (block .getReceiptsRoot ());
72+ blockRawDataBO .setSealer (block .getSealer ());
73+ blockRawDataBO .setSealerList (JacksonUtils .toJson (block .getSealerList ()));
74+ blockRawDataBO .setSignatureList (JacksonUtils .toJson (block .getSignatureList ()));
75+ blockRawDataBO .setStateRoot (block .getStateRoot ());
76+ blockRawDataBO .setTransactionsRoot (block .getTransactionsRoot ());
77+ blockRawDataBO .setTransactionList (JacksonUtils .toJson (block .getTransactions ()));
78+ }else {
79+ List <String > params = ignoreBasicDataTableParam .get (IgnoreBasicDataParam .IgnoreBasicDataTable .BLOCK_RAW_DATA_TABLE .name ());
80+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .DB_HASH .name ())) {
81+ blockRawDataBO .setDbHash (block .getDbHash ());
82+ }
83+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .EXTRA_DATA .name ())) {
84+ blockRawDataBO .setExtraData (JacksonUtils .toJson (block .getExtraData ()));
85+ }
86+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .GAS_LIMIT .name ())) {
87+ blockRawDataBO .setGasLimit (block .getGasLimit ());
88+ }
89+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .GAS_USED .name ())) {
90+ blockRawDataBO .setGasUsed (block .getGasUsed ());
91+ }
92+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .LOGS_BLOOM .name ())) {
93+ blockRawDataBO .setLogsBloom (block .getLogsBloom ());
94+ }
95+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .PARENT_HASH .name ())) {
96+ blockRawDataBO .setParentHash (block .getParentHash ());
97+ }
98+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .RECEIPTS_ROOT .name ())) {
99+ blockRawDataBO .setReceiptsRoot (block .getReceiptsRoot ());
100+ }
101+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .SEALER .name ())) {
102+ blockRawDataBO .setSealer (block .getSealer ());
103+ }
104+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .SEALER_LIST .name ())) {
105+ blockRawDataBO .setSealerList (JacksonUtils .toJson (block .getSealerList ()));
106+ }
107+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .SEALER_LIST .name ())) {
108+ blockRawDataBO .setSignatureList (JacksonUtils .toJson (block .getSignatureList ()));
109+ }
110+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .STATE_ROOT .name ())) {
111+ blockRawDataBO .setStateRoot (block .getStateRoot ());
112+ }
113+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .TRANSACTIONS_ROOT .name ())) {
114+ blockRawDataBO .setTransactionsRoot (block .getTransactionsRoot ());
115+ }
116+ if (!params .contains (IgnoreBasicDataParam .BlockRawDataParams .TRANSACTION_LIST .name ())) {
117+ blockRawDataBO .setTransactionList (JacksonUtils .toJson (block .getTransactions ()));
118+ }
119+ }
71120 return blockRawDataBO ;
72121 }
73122}
0 commit comments