From dbc61ab74c689fd93b49bbf8e8cafac09bcb255c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 03 Mar 2022 17:20:01 +0800
Subject: [PATCH] fix

---
 src/test/java/com/xcong/excoin/GuijiTest.java |   79 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 69 insertions(+), 10 deletions(-)

diff --git a/src/test/java/com/xcong/excoin/GuijiTest.java b/src/test/java/com/xcong/excoin/GuijiTest.java
index b0f35e2..bab0e7c 100644
--- a/src/test/java/com/xcong/excoin/GuijiTest.java
+++ b/src/test/java/com/xcong/excoin/GuijiTest.java
@@ -2,11 +2,18 @@
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
 import javax.annotation.Resource;
 
+import com.xcong.excoin.modules.coin.dao.ZhiYaDao;
+import com.xcong.excoin.modules.coin.dao.ZhiYaRecordDao;
+import com.xcong.excoin.modules.coin.dao.ZhiyaRewardDao;
+import com.xcong.excoin.modules.coin.entity.ZhiYaRecordEntity;
+import com.xcong.excoin.modules.coin.entity.ZhiyaRewardEntity;
+import com.xcong.excoin.utils.RedisUtils;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
@@ -27,9 +34,9 @@
 public class GuijiTest {
 	
 	private static final BigDecimal LIMIT = new BigDecimal("50");
-    private static final BigDecimal FEE = new BigDecimal("0.0044");
+    private static final BigDecimal FEE = new BigDecimal("0.005");
 
-    public static String ETH_FEE = "0.0044";
+    public static String ETH_FEE = "0.005";
 
     public static final String TOTAL_ADDRESS = "0x067b4bE5d7B05560AE539Fc8f10597D854ae056D";
     public static final String TOTAL_PRIVATE = "1fb7288c8c88c37d6f79e9617822bffc8d3635bf2d808c5f6afdee9bb326e49c";
@@ -40,15 +47,22 @@
     private MemberCoinAddressDao memberCoinAddressDao;
     @Resource
     private MemberWalletCoinDao memberWalletCoinDao;
+    @Resource
+    ZhiYaRecordDao zhiYaRecordDao;
+    @Resource
+    ZhiyaRewardDao zhiyaRewardDao;
+    @Resource
+    ZhiYaDao zhiYaDao;
+    @Resource
+    RedisUtils redisUtils;
 
-    @Test
     public void pool() throws ExecutionException, InterruptedException {
         //List<MemberCoinChargeEntity> list = memberCoinChargeDao.selectAllBySymbolAndTag(CoinTypeEnum.USDT.name(), "ERC20", 1);
     	List<MemberCoinChargeEntity> list = new ArrayList<MemberCoinChargeEntity>();
     	MemberCoinChargeEntity coin = new MemberCoinChargeEntity();
-    	coin.setAddress("0x4b859f7ba68e2757ae935f9e7426da0c73f63a68");
-    	coin.setMemberId(184L);
-    	coin.setLastAmount(new BigDecimal(70.83975901));
+    	coin.setAddress("0xdf24223ab4599a47aa9383c5c9914edd68ae63dc");
+    	coin.setMemberId(1L);
+    	coin.setLastAmount(new BigDecimal(51.01000101));
     	list.add(coin);
         if (CollUtil.isNotEmpty(list)) {
             EthService ethService = new EthService();
@@ -84,7 +98,7 @@
                             usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
                         }
 
-                        String hash = ethService.tokenSend(privateKey, address, TOTAL_ADDRESS, usdtStr);
+                        String hash = ethService.tokenSend(privateKey, address, TOTAL_ADDRESS, usdtStr,null);
                         System.out.println("归集:"+hash);
                         if (StrUtil.isNotBlank(hash)) {
                             // 归集成功更新状态 先保存本次的hash值,待交易成功后再更新
@@ -92,15 +106,60 @@
                             memberCoinChargeDao.updateById(coinCharge);
                         }
                     } else {
-                        String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, address, ETH_FEE);
+                        String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, address, ETH_FEE,null);
                         System.out.println("转手续费:"+hash);
                     }
                 }
             }
         }
     }
-    
-    
+    /**
+     * 向特定账号转手续费
+     */
+    @Test
+    public void pushFee() {
+    	String toAddress = "0xbc6050a2898511bda406660267e6667448070552";
+    	EthService ethService = new EthService();
+    	try {
+    		String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, toAddress, "0.0032",null);
+            System.out.println("转手续费:"+hash);
+		} catch (InterruptedException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (ExecutionException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+    }
+
+    @Test
+    public void reward(){
+        //获取每日总奖励
+        BigDecimal gusdReward = new BigDecimal(redisUtils.getString("GUSDREWARD"));
+        //获取每日质押总数
+        Long totalGusd = zhiYaRecordDao.selectTotalGusdByStatueAndTime(1,new Date());
+        BigDecimal totalGusdBigDecimal = new BigDecimal(totalGusd);
+        if(totalGusdBigDecimal.compareTo(BigDecimal.ZERO) > 0){
+            //平均一个获取奖励数量
+            BigDecimal divide = gusdReward.divide(totalGusdBigDecimal);
+            //获取今天之前满足发放奖励的全部质押单
+            //生效时间小于当前时间
+            //状态为生效中
+            List<ZhiYaRecordEntity> lists = zhiYaRecordDao.selectZhiYaRewardByStatueAndTime(1,new Date());
+            if(CollUtil.isNotEmpty(lists)){
+                for(ZhiYaRecordEntity zhiYaRecordEntity : lists){
+                    ZhiyaRewardEntity zhiyaRewardEntity = new ZhiyaRewardEntity();
+                    zhiyaRewardEntity.setRecordId(zhiYaRecordEntity.getId());
+                    zhiyaRewardEntity.setRecordNo(zhiYaRecordEntity.getOrderNo());
+                    zhiyaRewardEntity.setMemberId(zhiYaRecordEntity.getMemberId());
+                    zhiyaRewardEntity.setRewardAmout(divide.multiply(zhiYaRecordEntity.getZhiyaCnt()));
+                    zhiyaRewardDao.insert(zhiyaRewardEntity);
+                }
+            }
+        }
+    }
+
+
     
 }
 

--
Gitblit v1.9.1