From 620d7ea0ec62c7c874858a641d87ab7710257292 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 30 Jun 2020 14:34:19 +0800 Subject: [PATCH] fix return money --- src/test/java/com/xcong/excoin/ReturnMoneyTest.java | 33 +++++++++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 16 +++++++++++----- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java index 2bff1e0..f810784 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java @@ -693,24 +693,28 @@ // 存放uid以及对应uid用户的佣金 - Map<String, BigDecimal> map = new HashMap<>(); + Map<String, Map<String, BigDecimal>> map = new HashMap<>(); Iterator<Map.Entry<Integer, NeedMoneyMemberVo>> it = treeMap.entrySet().iterator(); BigDecimal lastRate = BigDecimal.ZERO; BigDecimal lastYj = BigDecimal.ZERO; while (it.hasNext()) { Map.Entry<Integer, NeedMoneyMemberVo> entry = it.next(); NeedMoneyMemberVo member1 = entry.getValue(); + Map<String, BigDecimal> returnValue = new HashMap<>(); + returnValue.put("ratio", member1.getReturnRatio()); + returnValue.put("lastRate", lastRate); // 上下级佣金比率相减后乘以手续费 -- 即用户所得佣金 lastYj = (member1.getReturnRatio().subtract(lastRate)).multiply(money); lastRate = member1.getReturnRatio(); - map.put(member1.getInviteId(), lastYj); + returnValue.put("returnMoney", lastYj); + map.put(member1.getInviteId(), returnValue); } // 输出对应佣金是否正确 - Iterator<Map.Entry<String, BigDecimal>> it1 = map.entrySet().iterator(); + Iterator<Map.Entry<String, Map<String, BigDecimal>>> it1 = map.entrySet().iterator(); List<AgentReturnEntity> agentList = new ArrayList<AgentReturnEntity>(); while (it1.hasNext()) { - Map.Entry<String, BigDecimal> entry = it1.next(); + Map.Entry<String, Map<String, BigDecimal>> entry = it1.next(); // System.out.println(entry.getKey() + "-----" + entry.getValue()); MemberEntity agentMember = memberService.selectMemberInfoByInviteId(entry.getKey()); AgentReturnEntity agent = new AgentReturnEntity(); @@ -721,7 +725,9 @@ agent.setOrderType(order.getOrderType()); agent.setReturnSymbol(order.getSymbol()); agent.setIsReturn(0); - agent.setReturnAmount(entry.getValue()); + agent.setReturnAmount(entry.getValue().get("returnMoney")); + agent.setChildReturnRatio(entry.getValue().get("lastRate")); + agent.setReturnRatio(entry.getValue().get("ratio")); agent.setClosingType(order.getClosingType()); if (type == 1) {//开仓 agent.setOpeningFeeAmount(order.getOpeningFeeAmount()); diff --git a/src/test/java/com/xcong/excoin/ReturnMoneyTest.java b/src/test/java/com/xcong/excoin/ReturnMoneyTest.java new file mode 100644 index 0000000..54fc295 --- /dev/null +++ b/src/test/java/com/xcong/excoin/ReturnMoneyTest.java @@ -0,0 +1,33 @@ +package com.xcong.excoin; + +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.entity.AgentReturnEntity; +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 javax.annotation.Resource; +import java.math.BigDecimal; + +/** + * @author wzy + * @date 2020-06-30 + **/ +@Slf4j +@SpringBootTest +public class ReturnMoneyTest { + + @Resource + private ContractOrderDao contractOrderDao; + + @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); + } +} -- Gitblit v1.9.1