KKSU
2025-03-25 70b8b5feba16d3ef11441c3ee9878420df3fdf37
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -686,11 +686,26 @@
            MallMember mallMemberParent = memberMapper.selectInfoByInviteId(referrerId);
            Long parentId = mallMemberParent.getId();
            String orderNo = orderInfo.getOrderNo();
            MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(orderNo, member.getId(), parentId);
            mallMoneyFlow.setStatus(2);
            mallMoneyFlow.setIsReturn(1);
            mallMoneyFlowMapper.updateById(mallMoneyFlow);
            memberWalletService.add(mallMoneyFlow.getAmount(), parentId, "balance");
            MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(orderNo, parentId, member.getId());
            if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
                mallMoneyFlow.setStatus(2);
                mallMoneyFlow.setIsReturn(1);
                mallMoneyFlowMapper.updateById(mallMoneyFlow);
                memberWalletService.add(mallMoneyFlow.getAmount(), parentId, "balance");
            }
            if(ObjectUtil.isNotEmpty(mallMemberParent.getReferrerId())){
                String referrerIdUp = mallMemberParent.getReferrerId();
                MallMember mallMemberParentUp = memberMapper.selectInfoByInviteId(referrerIdUp);
                Long parentIdUp = mallMemberParentUp.getId();
                MallMoneyFlow mallMoneyFlowUp = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(orderNo, parentIdUp, parentId);
                if(ObjectUtil.isNotEmpty(mallMoneyFlowUp)){
                    mallMoneyFlowUp.setStatus(2);
                    mallMoneyFlowUp.setIsReturn(1);
                    mallMoneyFlowMapper.updateById(mallMoneyFlowUp);
                    memberWalletService.add(mallMoneyFlow.getAmount(), parentIdUp, "balance");
                }
            }
        }
        List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfo.getId());
        if(CollUtil.isNotEmpty(mallOrderItemList)){
@@ -720,6 +735,23 @@
            }
        }
        Integer isMember = member.getIsMember();
        if(AppContants.MEMBER_STATE_NO == isMember){
            List<MallOrderInfo> mallOrderInfos = this.baseMapper.selectOrderInfoByStatus(OrderStatusEnum.FINISH.getValue());
            if(CollUtil.isNotEmpty(mallOrderInfos)){
                DataDictionaryCustom minAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                        DataDictionaryEnum.MIN_AMOUNT_IS_MEMBER.getType(),
                        DataDictionaryEnum.MIN_AMOUNT_IS_MEMBER.getCode()
                );
                BigDecimal minAmount = new BigDecimal(minAmountDic.getValue());//系统设置的累计消费金额
                BigDecimal accumulateAmount = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);//累计消费金额
                if(minAmount.compareTo(accumulateAmount) <= 0){//用户累计消费大于系统设置的累计消费
                    member.setIsMember(AppContants.MEMBER_STATE_YES);
                    memberMapper.updateById(member);
                }
            }
        }
    }
    @Override