src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -5,6 +5,8 @@ @Getter public enum DataDictionaryEnum { // 拿下一级(直推的)收入的百分之五十 MEMBER_RETURN_PERCENT_UP("MEMBER_RETURN_PERCENT_UP", "MEMBER_RETURN_PERCENT_UP"), // 上级返佣金比例,返回到余额 MEMBER_RETURN_PERCENT("MEMBER_RETURN_PERCENT", "MEMBER_RETURN_PERCENT"), // 积分兑换比例 1,则1积分等于一元 2则2积分等于一元 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -366,6 +366,7 @@ */ //是否返利 BigDecimal amountBigDecimal = new BigDecimal(StrUtil.isEmpty(amount) ? "0" : amount); BigDecimal parentUpAmount = BigDecimal.ZERO; if(BigDecimal.ZERO.compareTo(amountBigDecimal) < 0){ if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){ String referrerId = mallMember.getReferrerId(); @@ -393,6 +394,40 @@ 1, FlowTypeEnum.BALANCE.getValue(), 2); parentUpAmount = amountActual; } /** * 拿下一级(直推的)收入的百分之五十 */ if(ObjectUtil.isNotEmpty(mallMemberParent.getReferrerId())){ String referrerIdParentUp = mallMemberParent.getReferrerId(); MallMember mallMemberParentUp = memberMapper.selectInfoByInviteId(referrerIdParentUp); Long idParentUp = mallMemberParentUp.getId(); MallMoneyFlow mallMoneyFlowParentUp = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(mallOrderInfo.getOrderNo() , idParentUp , id); if(ObjectUtil.isEmpty(mallMoneyFlowParentUp)){ DataDictionaryCustom returnPercentUpDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MEMBER_RETURN_PERCENT_UP.getType(), DataDictionaryEnum.MEMBER_RETURN_PERCENT_UP.getCode() ); String returnPercentUpStr = StrUtil.isEmpty(returnPercentUpDic.getValue()) ? "50" : returnPercentUpDic.getValue(); BigDecimal returnPercentUp = new BigDecimal(returnPercentUpStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); BigDecimal amountActualUp = parentUpAmount.multiply(returnPercentUp).setScale(2, BigDecimal.ROUND_DOWN); mallMoneyFlowService.addMoneyFlow( idParentUp, amountActualUp, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), mallOrderInfo.getOrderNo(), "直推奖", "直推奖", id, 1, FlowTypeEnum.BALANCE.getValue(), 2); } } } } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -693,6 +693,19 @@ 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)){ src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -4,7 +4,6 @@ import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; import cc.mrbird.febs.mall.service.IMemberProfitService; import cc.mrbird.febs.rabbit.constants.QueueConstants; import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message;