Helius
2020-06-30 620d7ea0ec62c7c874858a641d87ab7710257292
fix return money
1 files added
1 files modified
49 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/ReturnMoneyTest.java 33 ●●●●● patch | view | raw | blame | history
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());
src/test/java/com/xcong/excoin/ReturnMoneyTest.java
New file
@@ -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);
    }
}