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