From b9a0620107ef818b98a51d65470b1a60e7c143bd Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 12 Apr 2023 16:08:19 +0800 Subject: [PATCH] 后台修改 --- src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java | 4 ++++ src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 5 +++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 4 ++++ src/main/java/cc/mrbird/febs/mall/vo/MyCommissionVo.java | 3 +++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 22 +++++++++++++++++----- 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java index 91428c2..c6de56e 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/TransferDto.java @@ -18,6 +18,10 @@ public class TransferDto { @NotBlank(message = "参数不能为空") + @ApiModelProperty(value = "类型 1:转账 2:转积分", example = "123") + private int type; + + @NotBlank(message = "参数不能为空") @ApiModelProperty(value = "联系电话或邀请码", example = "123") private String account; diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index e4348c8..b1fdab9 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -391,13 +391,24 @@ if (!loginMember.getTradePassword().equals(SecureUtil.md5(transferDto.getTradePwd()))) { throw new FebsException("支付密码错误"); } + if(1 == transferDto.getType()){ + walletService.reduceBalance(transferDto.getAmount(), memberId); + String orderNo = MallUtils.getOrderNum("T"); + this.addMoneyFlow(memberId, transferDto.getAmount().negate(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, mallMember.getId(), null, FlowTypeEnum.BALANCE.getValue()); - walletService.reduceBalance(transferDto.getAmount(), memberId); - String orderNo = MallUtils.getOrderNum("T"); - this.addMoneyFlow(memberId, transferDto.getAmount().negate(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, mallMember.getId(), null, FlowTypeEnum.BALANCE.getValue()); + walletService.addBalance(transferDto.getAmount(), mallMember.getId()); + this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.BALANCE.getValue()); + } + if(2 == transferDto.getType()){ + walletService.reduce(transferDto.getAmount(), memberId, "score"); + String orderNo = MallUtils.getOrderNum("T"); + this.addMoneyFlow(memberId, transferDto.getAmount().negate(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, mallMember.getId(), null, FlowTypeEnum.SCORE.getValue()); - walletService.addBalance(transferDto.getAmount(), mallMember.getId()); - this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.BALANCE.getValue()); + walletService.add(transferDto.getAmount(), mallMember.getId(), "score"); + this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.SCORE.getValue()); + } + + } @Override @@ -486,6 +497,7 @@ MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(id); commissionVo.setCommissionBalance(wallet.getBalance()); commissionVo.setCommissionScore(wallet.getScore()); + commissionVo.setCommission(wallet.getCommission()); commissionVo.setTodayBalance(mallMoneyFlowMapper.selectCommissionIncome(1,1, new Date(), id)); commissionVo.setMonthBalance(mallMoneyFlowMapper.selectCommissionIncome(1,2, new Date(), id)); commissionVo.setTotalBalance(mallMoneyFlowMapper.selectCommissionIncome(1, null,null, id)); 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 f979cc0..083fb7f 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 @@ -460,6 +460,10 @@ mallAchieveRecord.setIsNormal(2); mallAchieveRecord.setPayTime(orderInfo.getPayTime()); mallAchieveRecordMapper.insert(mallAchieveRecord); + //得到三倍补助 + BigDecimal multiply = achieveAmount.multiply(new BigDecimal(3)); + memberWalletService.add(multiply, memberId, "commission"); + } if(member.getLevel().equals(MemberLevelEnum.FANS.getType())){ member.setLevel(MemberLevelEnum.NORMAL.getType()); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java index 1a6b4e1..f1cb0c9 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java @@ -81,9 +81,14 @@ if(withdrawalDto.getAmount().compareTo(wallet.getBalance()) > 0) { throw new FebsException("金额不足"); } + BigDecimal commission = wallet.getCommission(); + if(withdrawalDto.getAmount().compareTo(commission) > 0){ + throw new FebsException("金额不足"); + } BigDecimal serviceFee = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01)); walletService.reduce(withdrawalDto.getAmount(), memberId, "balance"); + walletService.reduce(withdrawalDto.getAmount(), memberId, "commission"); String orderNo = MallUtils.getOrderNum("W"); MallMemberWithdraw withdraw = new MallMemberWithdraw(); diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MyCommissionVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MyCommissionVo.java index 7ffe234..90054d9 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/MyCommissionVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/MyCommissionVo.java @@ -56,5 +56,8 @@ @ApiModelProperty(value = "累计收入积分") private BigDecimal totalScore; + @ApiModelProperty(value = "公司收益") + private BigDecimal commission; + } -- Gitblit v1.9.1