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