fix
Helius
2021-09-28 a2eed0420b75e33dc173061ffafe7c5e06e3b257
fix
4 files modified
25 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -50,7 +50,7 @@
    List<MallMember> selectAllChildAgentListByInviteId(@Param("inviteId")String inviteId);
    List<MallMember> selectMemberParentAgentList(@Param("list") List<String> inviteIds);
    List<MallMember> selectMemberParentAgentList(@Param("list") List<String> inviteIds, @Param("refererId") String refererId);
    IPage<AdminAgentLevelVo> getAgentLevelListInPage(Page<AdminAgentLevelVo> page, @Param("record")AgentLevelDto agentLevelDto);
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -156,16 +156,21 @@
     */
    private void directReturnMoney(MallMember member, MallOrderInfo orderInfo) {
        MallMember parent = memberMapper.selectInfoByInviteId(member.getReferrerId());
        if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel()) || AgentLevelEnum.ZERO_LEVEL.name().equals(parent.getLevel())) {
        if (AgentLevelEnum.ZERO_LEVEL.name().equals(parent.getLevel())) {
            return;
        }
        AgentInfo agentInfo = getAgentInfo(parent.getLevel());
        if (agentInfo == null) {
            return;
        }
        BigDecimal returnMoney;
        if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel())) {
            returnMoney = BigDecimal.valueOf(0.3).multiply(orderInfo.getAmount());
        } else {
            AgentInfo agentInfo = getAgentInfo(parent.getLevel());
            if (agentInfo == null) {
                return;
            }
        BigDecimal returnMoney = agentInfo.getDirectIncome().divide(BigDecimal.valueOf(100), 2,RoundingMode.DOWN).multiply(orderInfo.getAmount());
            returnMoney = agentInfo.getDirectIncome().divide(BigDecimal.valueOf(100), 2,RoundingMode.DOWN).multiply(orderInfo.getAmount());
        }
        memberWalletService.addBalance(returnMoney, parent.getId());
        memberService.addMoneyFlow(parent.getId(), returnMoney, MoneyFlowTypeEnum.BONUS.getValue(), orderInfo.getOrderNo(), null, null, orderInfo.getMemberId(), null);
@@ -177,7 +182,7 @@
     */
    public void teamReturnMoney(MallMember member, MallOrderInfo orderInfo) {
        List<String> inviteIds = StrUtil.split(member.getReferrerIds(), ',');
        List<MallMember> agentList = memberMapper.selectMemberParentAgentList(inviteIds);
        List<MallMember> agentList = memberMapper.selectMemberParentAgentList(inviteIds, member.getReferrerId());
        if (CollUtil.isEmpty(agentList)) {
            return;
        }
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -50,7 +50,7 @@
        }
    }
    @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
//    @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
    public void agentReturnMoney(String orderId) {
        log.info("收到返利消息:{}", orderId);
        try{
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -158,7 +158,7 @@
    <select id="selectMemberParentAgentList" resultType="cc.mrbird.febs.mall.entity.MallMember">
        select * from mall_member
        where level not in  ('ZERO_LEVEL', 'FIRST_LEVEL') and  invite_id IN
        where level not in  ('ZERO_LEVEL', 'FIRST_LEVEL') and invteId!=#{refererId} and invite_id IN
        <foreach collection = "list" item = "item"  separator=","  open = "(" close = ")" >
            #{item}
        </foreach >