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