package com.xcong.excoin;
|
|
import cn.hutool.core.collection.CollUtil;
|
import jnr.ffi.annotations.IgnoreError;
|
|
import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
|
import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
|
import com.xcong.excoin.modules.contract.dao.ContractOrderDao;
|
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
|
import com.xcong.excoin.modules.contract.service.impl.OrderWebsocketServiceImpl;
|
import com.xcong.excoin.modules.member.dao.AgentReturnDao;
|
import com.xcong.excoin.modules.member.dao.MemberWalletAgentDao;
|
import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
|
import com.xcong.excoin.modules.member.entity.MemberWalletAgentEntity;
|
import com.xcong.excoin.utils.SpringContextHolder;
|
import com.xcong.excoin.utils.ThreadPoolUtils;
|
import lombok.extern.slf4j.Slf4j;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* @author wzy
|
* @date 2020-06-30
|
**/
|
@Slf4j
|
@SpringBootTest
|
public class ReturnMoneyTest {
|
|
@Resource
|
private ContractOrderDao contractOrderDao;
|
@Resource
|
private AgentReturnDao agentReturnDao;
|
@Resource
|
private MemberWalletAgentDao memberWalletAgentDao;
|
@Resource
|
private MemberAccountMoneyChangeDao memberAccountMoneyChangeDao;
|
|
/*@Test
|
public void returnTest() {
|
ContractOrderEntity entity = contractOrderDao.selectById(667L);
|
OrderWebsocketServiceImpl orderWebsocketService = SpringContextHolder.getBean(OrderWebsocketServiceImpl.class);
|
orderWebsocketService.calYj(19L, new BigDecimal(4.18004236), entity, AgentReturnEntity.ORDER_TYPE_OPEN);
|
}*/
|
|
|
@Test
|
@Transactional(rollbackFor = Exception.class)
|
public void moneyReturnTest() {
|
List<AgentReturnEntity> list = agentReturnDao.selectAllNeedMoneyReturn();
|
log.info("返佣条数:{}", list.size());
|
if (CollUtil.isNotEmpty(list)) {
|
for (AgentReturnEntity agentReturn : list) {
|
BigDecimal needReturn = agentReturn.getReturnAmount();
|
Long refererId = agentReturn.getRefererId();
|
MemberWalletAgentEntity walletAgent = memberWalletAgentDao.selectWalletAgentBymIdAndCode(refererId, "USDT");
|
if (walletAgent == null) {
|
continue;
|
}
|
|
log.info("用户ID:{}, 当前余额:{},总金额:{}, 返佣金额:{}", refererId, walletAgent.getAvailableBalance().toPlainString(), walletAgent.getTotalBalance().toPlainString(), needReturn);
|
walletAgent.setAvailableBalance(walletAgent.getAvailableBalance().add(needReturn));
|
walletAgent.setTotalBalance(walletAgent.getTotalBalance().add(needReturn));
|
|
|
MemberAccountMoneyChange moneyChange = new MemberAccountMoneyChange();
|
moneyChange.setAmount(needReturn);
|
moneyChange.setContent("佣金到账");
|
moneyChange.setType(MemberAccountMoneyChange.TYPE_WALLET_AGENT);
|
moneyChange.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
|
moneyChange.setMemberId(refererId);
|
moneyChange.setSymbol("USDT");
|
|
// // 更新代理钱包金额
|
// memberWalletAgentDao.updateById(walletAgent);
|
// // 更新返佣明细中状态
|
// agentReturnDao.updateAgentReturnStatusByRefererId(AgentReturnEntity.IS_RETURN_Y, refererId);
|
// // 插入财务流水记录
|
// memberAccountMoneyChangeDao.insert(moneyChange);
|
}
|
}
|
}
|
}
|