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