gao
2020-07-13 e868d717550ca00a5b80109488b4c3ebec7fcd35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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 memberId = agentReturn.getMemberId();
                MemberWalletAgentEntity walletAgent = memberWalletAgentDao.selectWalletAgentBymIdAndCode(memberId, "USDT");
                if (walletAgent == null) {
                    continue;
                }
 
                log.info("用户ID:{}, 当前余额:{},总金额:{}, 返佣金额:{}", memberId, walletAgent.getAvailableBalance().toPlainString(), walletAgent.getTotalBalance().toPlainString(), needReturn);
                walletAgent.setAvailableBalance(walletAgent.getAvailableBalance().add(needReturn));
                walletAgent.setTotalBalance(walletAgent.getTotalBalance().add(needReturn));
 
                agentReturn.setIsReturn(AgentReturnEntity.IS_RETURN_Y);
 
                MemberAccountMoneyChange moneyChange = new MemberAccountMoneyChange();
                moneyChange.setAmount(needReturn);
                moneyChange.setContent("佣金到账");
                moneyChange.setType(MemberAccountMoneyChange.TYPE_WALLET_AGENT);
                moneyChange.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
                moneyChange.setMemberId(memberId);
                moneyChange.setSymbol("USDT");
 
//                // 更新代理钱包金额
//                memberWalletAgentDao.updateById(walletAgent);
//                // 更新返佣明细中状态
//                agentReturnDao.updateById(agentReturn);
//                // 插入财务流水记录
//                memberAccountMoneyChangeDao.insert(moneyChange);
            }
        }
    }
}