| New file | 
 |  |  | 
 |  |  | 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); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |