From cc73c7e2650525bb528a13fec25bf6b90639ebda Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 17 Mar 2023 17:46:40 +0800 Subject: [PATCH] 后台修改 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 7b2941a..593621c 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -351,7 +351,8 @@ changeWallet(orderInfo.getId()); //发送补贴消息 agentProducer.sendPerkMoneyMsg(orderInfo.getId()); -// agentProducer.sendOrderReturn(orderInfo.getId()); + //发送代理自动升级消息 + agentProducer.sendAutoLevelUpMsg(member.getId()); break; case "4": if (orderInfo.getOrderType() != 2) { @@ -431,6 +432,7 @@ * 产生一条业绩记录 * @param orderId */ + @Override public void changeWallet(Long orderId){ MallOrderInfo orderInfo = this.baseMapper.selectById(orderId); Long memberId = orderInfo.getMemberId(); @@ -476,6 +478,15 @@ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); BigDecimal star = new BigDecimal(mallMemberWallet.getStar()); if(starGet.compareTo(star.add(starSum)) < 0){ + if(starGet.compareTo(BigDecimal.ZERO) == 0){ + mallMemberWalletMapper.addStarByMemberId(starSum.intValue(), memberId); + mallMoneyFlowService.addMoneyFlow( + memberId, + starSum, + MoneyFlowTypeEnum.STAR.getValue(), + orderInfo.getOrderNo(), + FlowTypeEnum.STAR.getValue()); + } if(starGet.compareTo(star) > 0){ BigDecimal subtract = starGet.subtract(star); if(subtract.compareTo(starSum) < 0){ @@ -853,6 +864,8 @@ BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt())); total = total.add(amount); } + + BigDecimal score = ObjectUtil.isEmpty(addOrderDto.getScore()) ? BigDecimal.ZERO : addOrderDto.getScore(); if(hasTc){ //系统设置的个人贡献点最大值 DataDictionaryCustom starGetDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( @@ -864,8 +877,12 @@ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); BigDecimal star = new BigDecimal(mallMemberWallet.getStar()); - if(starGet.compareTo(star) <= 0){ + if(starGet.compareTo(BigDecimal.ZERO) != 0 && starGet.compareTo(star) <= 0){ throw new FebsException("无法购买套餐"); + } + BigDecimal prizeScore = mallMemberWallet.getPrizeScore(); + if(prizeScore.compareTo(score) < 0){ + throw new FebsException("积分不足"); } } } @@ -880,7 +897,7 @@ DataDictionaryEnum.SCORE_CHANGE.getType(), DataDictionaryEnum.SCORE_CHANGE.getCode() ); - BigDecimal score = ObjectUtil.isEmpty(addOrderDto.getScore()) ? BigDecimal.ZERO : addOrderDto.getScore(); + if(ObjectUtil.isNotEmpty(scorePercentDic)){ //商品的现金折扣比例 BigDecimal scorePercent = new BigDecimal(scorePercentDic.getValue()).multiply(BigDecimal.valueOf(0.01)); -- Gitblit v1.9.1