瀏覽代碼

id 改造完成,添加修改测试完毕

JiahengHe 2 年之前
父節點
當前提交
68295ee11a

+ 1 - 1
src/main/java/common/all.sqlt

@@ -2,7 +2,7 @@
 #sql("hasRecord")
 select exists(
    select 1 from #(_PARA_ARRAY_[0])
-   where chainId=#para(1) and hash=#para(2)
+   where id=CONCAT(#para(1),#para(2))
    limit 1
 )
 #end

+ 12 - 12
src/main/java/common/model/_MappingKit.java

@@ -17,28 +17,28 @@ public class _MappingKit {
 	
 	public static void mapping(ActiveRecordPlugin arp) {
 		// Composite Primary Key order: chainId,hash
-		arp.addMapping("t_address", "chainId,hash", Address.class);
+		arp.addMapping("t_address", "id", Address.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_bal_lp", "hash,chainId", BalLp.class);
+		arp.addMapping("t_bal_lp", "id", BalLp.class);
 		arp.addMapping("t_chain", "id", Chain.class);
 		// Composite Primary Key order: key,chainId,owner
-		arp.addMapping("t_config", "key,chainId,owner", Config.class);
+		arp.addMapping("t_config", "id", Config.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_factory", "hash,chainId", Factory.class);
+		arp.addMapping("t_factory", "id", Factory.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_history", "hash,chainId", History.class);
-		arp.addMapping("t_history_transfer", HistoryTransfer.class);
+		arp.addMapping("t_history", "id", History.class);
+		arp.addMapping("t_history_transfer","id", HistoryTransfer.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_pending", "hash,chainId", Pending.class);
-		arp.addMapping("t_pending_transfer", PendingTransfer.class);
+		arp.addMapping("t_pending", "id", Pending.class);
+		arp.addMapping("t_pending_transfer","id", PendingTransfer.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_token", "hash,chainId", Token.class);
+		arp.addMapping("t_token", "id", Token.class);
 		// Composite Primary Key order: chainId,hash
-		arp.addMapping("t_tx", "chainId,hash", Tx.class);
+		arp.addMapping("t_tx", "id", Tx.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_v2_lp", "hash,chainId", V2Lp.class);
+		arp.addMapping("t_v2_lp", "id", V2Lp.class);
 		// Composite Primary Key order: hash,chainId
-		arp.addMapping("t_v3_lp", "hash,chainId", V3Lp.class);
+		arp.addMapping("t_v3_lp", "id", V3Lp.class);
 	}
 }
 

+ 9 - 0
src/main/java/common/model/base/BaseAddress.java

@@ -8,6 +8,15 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseAddress<M extends BaseAddress<M>> extends Model<M> implements IBean {
+
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
+
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 8 - 0
src/main/java/common/model/base/BaseBalLp.java

@@ -8,6 +8,14 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseBalLp<M extends BaseBalLp<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
+
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseConfig.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseConfig<M extends BaseConfig<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseFactory.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseFactory<M extends BaseFactory<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseHistory.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseHistory<M extends BaseHistory<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseHistoryTransfer.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseHistoryTransfer<M extends BaseHistoryTransfer<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BasePending.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BasePending<M extends BasePending<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BasePendingTransfer.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BasePendingTransfer<M extends BasePendingTransfer<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseToken.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseToken<M extends BaseToken<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseTx.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseTx<M extends BaseTx<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseV2Lp.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseV2Lp<M extends BaseV2Lp<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 7 - 0
src/main/java/common/model/base/BaseV3Lp.java

@@ -8,6 +8,13 @@ import com.jfinal.plugin.activerecord.IBean;
  */
 @SuppressWarnings("serial")
 public abstract class BaseV3Lp<M extends BaseV3Lp<M>> extends Model<M> implements IBean {
+	public void setId(java.lang.String id) {
+		set("id", id);
+	}
+
+	public java.lang.String getId() {
+		return getStr("id");
+	}
 	public void setChainId(java.lang.Integer chainId) {
 		set("chainId", chainId);
 	}

+ 3 - 0
src/main/java/common/utils/model/SaveUtil.java

@@ -10,6 +10,7 @@ public class SaveUtil {
 	public static final int UPDATE_CODE = 2;
 	
 	public static int saveOrUpdate(Model<?> model) {
+		model.set("id", model.getStr("chainId").concat(model.getStr("hash")));
 		Object[] values = CopyUtil.generateDuplicateObjects(model._getAttrValues());
 		
 		return Db.update(SqlUtil.generateReplaceSql(TableUtil.getTableName(model), model), values);
@@ -19,6 +20,8 @@ public class SaveUtil {
 		AtomicInteger code = new AtomicInteger();
 
 		Db.tx(() -> {
+			subModel.set("id", subModel.getStr("chainId").concat(subModel.getStr("hash")));
+			superModel.set("id", superModel.getStr("chainId").concat(superModel.getStr("hash")));
 			SaveUtil.saveOrUpdate(superModel);
 
 			code.set(SaveUtil.saveOrUpdate(subModel));

+ 2 - 0
src/main/java/modules/address/AddressService.java

@@ -29,10 +29,12 @@ public class AddressService {
 	private TokenService tokenService;
 
 	public boolean append(Address address) {
+		address.setId(address.getChainId()+address.getHash());
 		return address.save();
 	}
 	
 	public boolean update(Address address) {
+		address.setId(address.getChainId()+address.getHash());
 		return address.update();
 	}
 	

+ 2 - 0
src/main/java/modules/address/lp/bal/BalLpService.java

@@ -21,6 +21,7 @@ public class BalLpService {
 	private LpService lpService;
 
 	public boolean append(BalLp balLp, Address address) {
+		balLp.setId(balLp.getChainId()+balLp.getHash());
 		boolean isAddressExist = addressService.isAddressExist(address);
 		return Db.tx(() -> {
 			if (!isAddressExist) addressService.append(address);
@@ -31,6 +32,7 @@ public class BalLpService {
 	}
 
 	public boolean update(BalLp balLp) {
+		balLp.setId(balLp.getChainId()+balLp.getHash());
 		return balLp.update();
 	}
 

+ 0 - 1
src/main/java/modules/tx/TxService.java

@@ -63,7 +63,6 @@ public class TxService {
 	}
 
 	public int appendOrUpdate(Tx tx) {
-		System.out.println("tx saveOrUpdate!");
 		return SaveUtil.saveOrUpdate(tx);
 	}
 

+ 6 - 4
src/main/java/modules/tx/transfer/TransferFactory.java

@@ -19,14 +19,15 @@ public class TransferFactory {
 		if (StrKit.isBlank(transferListStr)) transferListStr = "[]";
 		JSONArray transferList = JSONArray.parseArray(transferListStr);
 		List<PendingTransfer> pendingTransferList = new ArrayList<>();
-		
+		int index = 0;
 		for (JSONObject transfer : transferList.toJavaList(JSONObject.class)) {
 			PendingTransfer pendingTransfer = FastJson.getJson().parse(transfer.toJSONString(), PendingTransfer.class);
-			
+			pendingTransfer.setId(chainId + hash+index);
 			pendingTransfer.setChainId(chainId);
 			pendingTransfer.setHash(hash);
 			
 			pendingTransferList.add(pendingTransfer);
+			index ++;
 		}
 		
 		return pendingTransferList;
@@ -38,14 +39,15 @@ public class TransferFactory {
 		if (StrKit.isBlank(transferListStr)) transferListStr = "[]";
 		JSONArray transferList = JSONArray.parseArray(transferListStr);
 		List<HistoryTransfer> historyTransferList = new ArrayList<>();
-
+		int index = 0;
 		for (JSONObject transfer : transferList.toJavaList(JSONObject.class)) {
 			HistoryTransfer historyTransfer = FastJson.getJson().parse(transfer.toJSONString(), HistoryTransfer.class);
-
+			historyTransfer.setId(chainId + hash+index);
 			historyTransfer.setChainId(chainId);
 			historyTransfer.setHash(hash);
 
 			historyTransferList.add(historyTransfer);
+			index ++;
 		}
 
 		return historyTransferList;

+ 20 - 4
src/test/http/address/AddressTest.http

@@ -5,7 +5,11 @@ Content-Type: application/json
 {
   "chainId": 1,
   "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
-  "name": "TestAddress"
+  "name": "TestAddress",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###
@@ -15,7 +19,11 @@ Content-Type: application/json
 {
   "chainId": 1,
   "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
-  "name": "TestAddress"
+  "name": "TestAddress1",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###
@@ -25,7 +33,11 @@ Content-Type: application/json
 {
   "chainId": 10001,
   "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
-  "name": "TestAddress1"
+  "name": "TestAddress2",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###
@@ -34,7 +46,11 @@ Content-Type: application/json
 
 {
   "chainId": 1,
-  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005"
+  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 10 - 2
src/test/http/address/BalLpTest.http

@@ -13,7 +13,11 @@ Content-Type: application/json
   "valueStr": "10000",
   "isStable": 0,
   "functionStr": "functionStrSample",
-  "other": "{}"
+  "other": "{}",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###
@@ -22,7 +26,11 @@ Content-Type: application/json
 
 {
   "chainId": 1,
-  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005"
+  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 6 - 2
src/test/http/address/FactoryTest.http

@@ -5,14 +5,18 @@ Content-Type: application/json
 {
   "chainId": 1,
   "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
-  "name": "测试",
+  "name": "测试1",
   "router": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
   "positionManager": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
   "fee": 3000,
   "version": "univ2",
   "webSite": "https://www.oklink.com/en/ethw/address/0x8a9009847570fdbcc676c7fd547ab26a358a5005",
   "totalPairs": 10000,
-  "functionStr": "function"
+  "functionStr": "function",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 5 - 1
src/test/http/address/TokenTest.http

@@ -10,7 +10,11 @@ Content-Type: application/json
   "symbol": "TestToken",
   "totalAmountStr": "100000",
   "totalValueStr": "30000",
-  "priceStr": "0.0001"
+  "priceStr": "0.0001",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 10 - 2
src/test/http/address/V2LpTest.http

@@ -17,7 +17,11 @@ Content-Type: application/json
   "valueStr": "10000",
   "isStable": 0,
   "functionStr": "functionStrSample",
-  "other": "{}"
+  "other": "{}",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###
@@ -26,7 +30,11 @@ Content-Type: application/json
 
 {
   "chainId": 1,
-  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005"
+  "hash": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 5 - 1
src/test/http/address/V3LpTest.http

@@ -17,7 +17,11 @@ Content-Type: application/json
   "valueStr": "10000",
   "isStable": 0,
   "functionStr": "functionStrSample",
-  "other": "{}"
+  "other": "{}",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 6 - 2
src/test/http/tx/HistoryTest.http

@@ -9,7 +9,7 @@ Content-Type: application/json
   "fromAddress": "0x13fbc25180fa1dc051838a2744e41c3f5a651b19", 
   "toAddress": "0x036b758df82270534096ea1d0b321981788779d7", 
   "inputData": "0x760f93ae00000000000000000000000000000000000000000000000a96bb748bbc498000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008a521189bfedf99b1dc84bc21571cf8b799dbd4d0000000000000000000000005186c4fb5752eb4a952c7ef03fae3e543f48383e", 
-  "valueStr": 0, 
+  "valueStr": 123,
   "nonce": 42707, 
   "method": "0x760f93ae", 
   "transactionType": "0x0", 
@@ -53,7 +53,11 @@ Content-Type: application/json
   "tradeType": 0, 
   "isMev": 0, 
   "isBot": 0, 
-  "timestamp": "1669183616.5028968"
+  "timestamp": "1669183616.5028968",
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
 }
 
 ###

+ 48 - 1
src/test/http/tx/PendingTest.http

@@ -2,7 +2,54 @@
 POST {{ baseUrl }}/pending/appendOrUpdate
 Content-Type: application/json
 
-{"chainId": 1116, "auth": {"auth": "913fab92e4686fabcf2c0033fe71360c", "replaced_str": "1010167870260", "timestamp": 1678702604}, "hash": "0x4f381d5ff61ad1d0ec355fed2ac4000ea1e67854"}
+{
+  "chainId": 1,
+  "hash": "0x25fff6cc8a066a5132a9b2b37e0b1204a7a12b9669572104b4d58c971be07b8d",
+  "blockNumber": 123,
+  "fromAddress": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+  "toAddress": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+  "method": "method1",
+  "status": "status",
+  "transactionIndex": 0,
+  "nonce": 0,
+  "gasPriceStr": "13333",
+  "gasUsedStr": "123",
+  "gasLimitStr": "123",
+  "valueStr": "123",
+  "maxPriorityFeePerGasStr": "123",
+  "maxFeePerGasStr": "1",
+  "inputData": "0x",
+  "transactionType": "transactionType",
+  "comment": "comment",
+  "timestamp": 1.2334,
+  "other": "{}",
+  "maybeBot": 1,
+  "ping": 1,
+  "transferList": [
+    {
+      "from": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "to": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "token": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "amountStr": "1000"
+    },
+    {
+      "from": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "to": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "token": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "amountStr": "1000"
+    },
+    {
+      "from": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "to": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "token": "0x8A9009847570FdbCc676c7fD547aB26A358a5005",
+      "amountStr": "1000"
+    }
+  ],
+  "auth": {
+    "auth": "9d8b7074bf189dcad17189c8f264c0cb",
+    "timestamp": "123123"
+  }
+}
 
 ###
 POST {{ baseUrl }}/pending/findByChainIdAndHash