From 417842b77970a8647945cff4ada68f3707f555e5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 10 Mar 2023 16:15:21 +0800
Subject: [PATCH] 下单,余额支付,转账,分享奖,星级奖励,商品贡献值,补贴三倍回购

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

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 4465115..5ca503d 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
@@ -114,7 +114,7 @@
         mallMember.setName(registerDto.getName());
         mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
-        mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
+        mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
         mallMember.setSex("男");
         mallMember.setBindPhone(registerDto.getAccount());
 
@@ -379,12 +379,40 @@
             throw new FebsException("支付密码错误");
         }
 
-        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());
+        DataDictionaryCustom cashOutSettingDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.CASHOUT_SETTING.getType(),
+                DataDictionaryEnum.CASHOUT_SETTING.getCode()
+        );
+        CashOutSettingVo cashOutSettingVo = JSONObject.parseObject(cashOutSettingDic.getValue(), CashOutSettingVo.class);
+        BigDecimal insideFee = cashOutSettingVo.getInsideFee().multiply(BigDecimal.valueOf(0.01));
+        //转账手续费
+        BigDecimal insideFeeAmount = transferDto.getAmount().multiply(insideFee).setScale(2, BigDecimal.ROUND_DOWN);
 
-        walletService.addBalance(transferDto.getAmount(), mallMember.getId());
-        this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.BALANCE.getValue());
+        BigDecimal avaAmount = transferDto.getAmount().subtract(insideFeeAmount).setScale(2, BigDecimal.ROUND_DOWN);
+        walletService.reduceBalance(avaAmount, memberId);
+        String orderNo = MallUtils.getOrderNum("T");
+        this.addMoneyFlow(
+                memberId,
+                avaAmount.negate(),
+                MoneyFlowTypeEnum.TRANSFER.getValue(),
+                orderNo,
+                null,
+                null,
+                mallMember.getId(),
+                null,
+                FlowTypeEnum.BALANCE.getValue());
+
+        walletService.addBalance(avaAmount, mallMember.getId());
+        this.addMoneyFlow(
+                mallMember.getId(),
+                avaAmount,
+                MoneyFlowTypeEnum.TRANSFER.getValue(),
+                orderNo,
+                null,
+                null,
+                memberId,
+                null,
+                FlowTypeEnum.BALANCE.getValue());
     }
 
     @Override

--
Gitblit v1.9.1