From 0cec061f29cfde646793054ca158b5664b54409f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 16 Apr 2021 16:45:05 +0800
Subject: [PATCH] modify

---
 src/test/java/com/xcong/excoin/MemberTest.java |  134 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/src/test/java/com/xcong/excoin/MemberTest.java b/src/test/java/com/xcong/excoin/MemberTest.java
new file mode 100644
index 0000000..da4f357
--- /dev/null
+++ b/src/test/java/com/xcong/excoin/MemberTest.java
@@ -0,0 +1,134 @@
+package com.xcong.excoin;
+
+import cn.hutool.core.collection.CollUtil;
+import com.xcong.excoin.common.system.dto.RegisterDto;
+import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao;
+import com.xcong.excoin.modules.documentary.dao.FollowFollowerSettingDao;
+import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao;
+import com.xcong.excoin.modules.documentary.dto.DocumentaryOrderSetDto;
+import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity;
+import com.xcong.excoin.modules.documentary.entity.FollowFollowerSettingEntity;
+import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
+import com.xcong.excoin.modules.member.service.MemberService;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2021-04-16
+ **/
+@Slf4j
+@SpringBootTest
+public class MemberTest {
+
+    @Autowired
+    private MemberService memberService;
+
+    @Test
+    public void baseInsert() {
+        for(int i = 0; i < 100; i++) {
+            String phonePrefix = "199999999";
+            if (i < 10) {
+                phonePrefix = phonePrefix + "0" + i;
+            } else {
+                phonePrefix = phonePrefix + i;
+            }
+
+            RegisterDto registerDto = new RegisterDto();
+            registerDto.setAccount(phonePrefix);
+            registerDto.setType(1);
+            registerDto.setCode("a123456");
+            registerDto.setRefererId("49027637");
+            memberService.register(registerDto);
+        }
+    }
+
+    @Autowired
+    private FollowFollowerSettingDao followFollowerSettingDao;
+    @Autowired
+    private FollowTraderInfoDao followTraderInfoDao;
+    @Autowired
+    private FollowFollowerProfitDao followFollowerProfitDao;
+
+    @Test
+    public void followTrader() {
+        DocumentaryOrderSetDto documentaryOrderSetDto = new DocumentaryOrderSetDto();
+        documentaryOrderSetDto.setTraderId(1L);
+        documentaryOrderSetDto.setFollowCnt(1);
+        documentaryOrderSetDto.setFollowType(1);
+        documentaryOrderSetDto.setSymbols("BTC,ETH,LTC,BCH,EOS,XRP,ETC");
+
+        Long traderId = documentaryOrderSetDto.getTraderId();
+        Long memberId = 1L;
+
+        FollowFollowerSettingEntity isExistSetting = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId, traderId);
+        if (isExistSetting == null) {
+            //新增【跟随者设置】数据
+            FollowFollowerSettingEntity followFollowerSettingEntity = new FollowFollowerSettingEntity();
+            followFollowerSettingEntity.setMemberId(memberId);
+            followFollowerSettingEntity.setTraderId(traderId);
+            FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId);
+            Long traderMemberId = followTraderInfoEntity.getMemberId();
+            followFollowerSettingEntity.setTraderMemberId(traderMemberId);
+            followFollowerSettingEntity.setSymbols(documentaryOrderSetDto.getSymbols());
+            followFollowerSettingEntity.setFollowType(documentaryOrderSetDto.getFollowType());
+            followFollowerSettingEntity.setFollowCnt(documentaryOrderSetDto.getFollowCnt());
+            followFollowerSettingEntity.setMaxFollowCnt(documentaryOrderSetDto.getMaxFollowCnt());
+            followFollowerSettingDao.insert(followFollowerSettingEntity);
+            //更新【跟随者收益】数据
+            Map<String, Object> columnMap = new HashMap<>();
+            columnMap.put("member_id", memberId);
+            columnMap.put("trade_id", traderId);
+            List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap);
+            if (CollUtil.isNotEmpty(selectByMap)) {
+                FollowFollowerProfitEntity followFollowerProfitEntity = selectByMap.get(0);
+                followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y);
+                followFollowerProfitDao.updateById(followFollowerProfitEntity);
+            } else {
+                FollowFollowerProfitEntity followFollowerProfitEntity = new FollowFollowerProfitEntity();
+                followFollowerProfitEntity.setMemberId(memberId);
+                followFollowerProfitEntity.setTradeId(traderId);
+                followFollowerProfitEntity.setTradeMemberId(traderMemberId);
+                followFollowerProfitEntity.setTotalPrincipal(BigDecimal.ZERO);
+                followFollowerProfitEntity.setTotalProfit(BigDecimal.ZERO);
+                followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y);
+                followFollowerProfitDao.insert(followFollowerProfitEntity);
+            }
+        } else {
+            //更新【跟随者收益】数据
+            Map<String, Object> columnMap = new HashMap<>();
+            columnMap.put("member_id", memberId);
+            columnMap.put("trade_id", traderId);
+            List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap);
+            if (CollUtil.isNotEmpty(selectByMap)) {
+                FollowFollowerProfitEntity followFollowerProfitEntity = selectByMap.get(0);
+                followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y);
+                followFollowerProfitDao.updateById(followFollowerProfitEntity);
+            }else {
+                FollowFollowerProfitEntity followFollowerProfitEntity = new FollowFollowerProfitEntity();
+                followFollowerProfitEntity.setMemberId(memberId);
+                followFollowerProfitEntity.setTradeId(traderId);
+                FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(traderId);
+                Long traderMemberId = followTraderInfoEntity.getMemberId();
+                followFollowerProfitEntity.setTradeMemberId(traderMemberId);
+                followFollowerProfitEntity.setTotalPrincipal(BigDecimal.ZERO);
+                followFollowerProfitEntity.setTotalProfit(BigDecimal.ZERO);
+                followFollowerProfitEntity.setIsFollow(FollowFollowerProfitEntity.IS_FOLLOW_Y);
+                followFollowerProfitDao.insert(followFollowerProfitEntity);
+            }
+
+            isExistSetting.setSymbols(documentaryOrderSetDto.getSymbols());
+            isExistSetting.setFollowType(documentaryOrderSetDto.getFollowType());
+            isExistSetting.setFollowCnt(documentaryOrderSetDto.getFollowCnt());
+            isExistSetting.setMaxFollowCnt(documentaryOrderSetDto.getMaxFollowCnt());
+            followFollowerSettingDao.updateById(isExistSetting);
+        }
+    }
+}

--
Gitblit v1.9.1