From 473609b38373aafec06b74984c73472ad5616d0a Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Sun, 12 Jul 2020 17:34:44 +0800 Subject: [PATCH] add agent reutrn money test unit --- src/test/java/com/xcong/excoin/ReturnMoneyTest.java | 53 ++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/dao/AgentReturnDao.java | 5 ++ src/main/java/com/xcong/excoin/modules/member/entity/AgentReturnEntity.java | 10 +++++ src/main/resources/mapper/member/AgentReturnDao.xml | 4 ++ 4 files changed, 72 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/AgentReturnDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/AgentReturnDao.java index 9344717..8fd235d 100644 --- a/src/main/java/com/xcong/excoin/modules/member/dao/AgentReturnDao.java +++ b/src/main/java/com/xcong/excoin/modules/member/dao/AgentReturnDao.java @@ -3,8 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.member.entity.AgentReturnEntity; +import java.util.List; + /** * @author helius */ public interface AgentReturnDao extends BaseMapper<AgentReturnEntity> { + + List<AgentReturnEntity> selectAllNeedMoneyReturn(); + } diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/AgentReturnEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/AgentReturnEntity.java index 468a910..4cefe1a 100644 --- a/src/main/java/com/xcong/excoin/modules/member/entity/AgentReturnEntity.java +++ b/src/main/java/com/xcong/excoin/modules/member/entity/AgentReturnEntity.java @@ -29,6 +29,16 @@ */ public static final int ORDER_TYPE_HOLD = 3; + /** + * 是否已返佣 0-否 + */ + public static final int IS_RETURN_N = 0; + + /** + * 是否已返佣 1-是 + */ + public static final int IS_RETURN_Y = 1; + private Long memberId; private Long orderId; diff --git a/src/main/resources/mapper/member/AgentReturnDao.xml b/src/main/resources/mapper/member/AgentReturnDao.xml index 3c7e7e8..66b7fb7 100644 --- a/src/main/resources/mapper/member/AgentReturnDao.xml +++ b/src/main/resources/mapper/member/AgentReturnDao.xml @@ -2,4 +2,8 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xcong.excoin.modules.member.dao.AgentReturnDao"> + <select id="selectAllNeedMoneyReturn" resultType="com.xcong.excoin.modules.member.entity.AgentReturnEntity"> + select * from agent_return where is_return=0 + </select> + </mapper> \ No newline at end of file diff --git a/src/test/java/com/xcong/excoin/ReturnMoneyTest.java b/src/test/java/com/xcong/excoin/ReturnMoneyTest.java index 54fc295..71a6e63 100644 --- a/src/test/java/com/xcong/excoin/ReturnMoneyTest.java +++ b/src/test/java/com/xcong/excoin/ReturnMoneyTest.java @@ -1,17 +1,25 @@ package com.xcong.excoin; +import cn.hutool.core.collection.CollUtil; +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 @@ -23,6 +31,12 @@ @Resource private ContractOrderDao contractOrderDao; + @Resource + private AgentReturnDao agentReturnDao; + @Resource + private MemberWalletAgentDao memberWalletAgentDao; + @Resource + private MemberAccountMoneyChangeDao memberAccountMoneyChangeDao; @Test public void returnTest() { @@ -30,4 +44,43 @@ 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); + } + } + } } -- Gitblit v1.9.1