From f93b1617d28c9d353fae628bfb86e0c15fa07579 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期四, 31 十月 2024 11:59:21 +0800
Subject: [PATCH] 1.提现-增加明细记录 2.报表-财务报表-增加总销售扎数统计,将原销售扎数改成实际销售扎数
---
src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java | 3 +
src/main/java/com/mzl/flower/service/supplier/SupplierService.java | 2
src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java | 14 ++++++-
src/main/java/com/mzl/flower/dto/request/wallet/CreateWalletWithdrawRecordDTO.java | 2
src/main/java/com/mzl/flower/dto/response/report/OrderDetailReportResultVO.java | 6 ++
src/main/resources/mapper/report/OrderReportMapper.xml | 1
src/main/java/com/mzl/flower/constant/Constants.java | 18 +++++++++
src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java | 19 +++++++++
src/main/resources/mapper/wallet/WalletBillRecordMapper.xml | 3 +
src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java | 7 +++
src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java | 3 +
11 files changed, 73 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/mzl/flower/constant/Constants.java b/src/main/java/com/mzl/flower/constant/Constants.java
index 3419ef4..bbdfc2a 100644
--- a/src/main/java/com/mzl/flower/constant/Constants.java
+++ b/src/main/java/com/mzl/flower/constant/Constants.java
@@ -589,6 +589,24 @@
return desc;
}
}
+
+ public enum BILL_WITHDRAW_TYPE {
+ start("发起提现"), fail("提现失败"), success("提现成功")
+ ;
+
+ BILL_WITHDRAW_TYPE(String desc) {
+ this.desc = desc;
+ }
+
+ private String desc;
+
+ public String getDesc() {
+ return desc;
+ }
+ }
+
+
+
public enum BILL_CHANGE_METHOD {
add("增加"), reduce("减少");
diff --git a/src/main/java/com/mzl/flower/dto/request/wallet/CreateWalletWithdrawRecordDTO.java b/src/main/java/com/mzl/flower/dto/request/wallet/CreateWalletWithdrawRecordDTO.java
index f6ea18a..7b17c28 100644
--- a/src/main/java/com/mzl/flower/dto/request/wallet/CreateWalletWithdrawRecordDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/wallet/CreateWalletWithdrawRecordDTO.java
@@ -26,7 +26,7 @@
*/
@ApiModelProperty(value = "钱包Id")
@NotNull(message = "提现金额不能为空")
- @DecimalMin(value = "0.0", message = "提现金额不能小于0")
+ @DecimalMin(value = "0.01", message = "提现金额不能小于0.01")
private BigDecimal amount;
/**
diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderDetailReportResultVO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderDetailReportResultVO.java
index 1341b16..260211a 100644
--- a/src/main/java/com/mzl/flower/dto/response/report/OrderDetailReportResultVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderDetailReportResultVO.java
@@ -77,7 +77,11 @@
@ApiModelProperty("总包干费")
private BigDecimal partnerTotalFeeAmount;
- @ApiModelProperty("销售扎数")
+
+ @ApiModelProperty("总销售扎数")
+ private Integer orderNum;
+
+ @ApiModelProperty("实际销售扎数")
private Integer realSaleNum;
@ApiModelProperty("利润")
diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java
index 290900a..4fffd79 100644
--- a/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java
@@ -67,6 +67,9 @@
@ApiModelProperty("总包干费--暂无")
private BigDecimal partnerTotalFeeAmount;
+ @ApiModelProperty("总销售扎数")
+ private Integer orderNum;
+
@ApiModelProperty("实际销售扎数")
private Integer realSaleNum;
diff --git a/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java b/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
index cf9cc2a..d3a7d17 100644
--- a/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/wallet/WalletBillRecordVO.java
@@ -24,6 +24,10 @@
@DictTrans(target = "typeName",codeType = "BILL_CHANGE_TYPE")
private String type;
+ @ApiModelProperty(value = "账单提现类型")
+ @DictTrans(target = "withdrawTypeName",codeType = "BILL_WITHDRAW_TYPE")
+ private String withdrawType;
+
@ApiModelProperty(value = "类型明细")
private String typeDetail;
@@ -69,4 +73,7 @@
@ApiModelProperty(value = "变动方式(增加、减少")
private String methodName;
+ @ApiModelProperty(value = "账单提现类型名称(发起提现、提现失败、提现成功)")
+ private String withdrawTypeName;
+
}
diff --git a/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java b/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
index 0d87f09..9c3ef1f 100644
--- a/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
+++ b/src/main/java/com/mzl/flower/entity/wallet/WalletBillRecordDO.java
@@ -28,6 +28,9 @@
@ApiModelProperty(value = "账单变动类型(提现,结算)")
private String type;
+ @ApiModelProperty(value = "账单变动提现类型")
+ private String withdrawType;
+
@ApiModelProperty(value = "类型明细")
private String typeDetail;
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java
index 40beec9..1f3d758 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java
@@ -5,6 +5,7 @@
import com.mzl.flower.constant.LockConstants;
import com.mzl.flower.dto.request.wallet.QueryWalletAmountDTO;
import com.mzl.flower.dto.response.supplier.SupplierDTO;
+import com.mzl.flower.entity.supplier.Supplier;
import com.mzl.flower.entity.wallet.WalletDO;
import com.mzl.flower.enums.TrueOrFalseEnum;
import com.mzl.flower.mapper.wallet.WalletMapper;
@@ -17,6 +18,7 @@
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
@@ -76,6 +78,8 @@
@Override
public WalletDO getOrCreateBySupplierId(Long supplierId) {
+
+
WalletDO walletDO=getBySupplierId(supplierId);
if(null==walletDO){
RLock lock = redissonClient.getLock(String.format(LockConstants.WALLET_SUPPLIER_ID_KEY, supplierId));
@@ -84,9 +88,12 @@
try {
walletDO=getBySupplierId(supplierId);
if(null!=walletDO) return walletDO;
+
+ final Supplier supplier = supplierService.getSupplierById(supplierId);
+
// 创建一个钱包
walletDO =new WalletDO();
- walletDO.setUserId(SecurityUtils.getUserId());
+ walletDO.setUserId(supplier.getUserId());
walletDO.setSupplierId(supplierId);
walletDO.setTotalAmount(BigDecimal.ZERO);
walletDO.setWithdrawableAmount(BigDecimal.ZERO);
@@ -130,7 +137,10 @@
@Override
public BigDecimal getWaittingSettlementAmount(WalletDO walletDO) {
-
+ if(null!=walletDO && !StringUtils.isEmpty(walletDO.getSupplierId()) && StringUtils.isEmpty(walletDO.getUserId())){
+ final Supplier supplier = supplierService.getSupplierById(walletDO.getSupplierId());
+ walletDO.setUserId(supplier.getUserId());
+ }
return baseMapper.getWaittingSettlementAmount(walletDO);
}
diff --git a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
index 46ccee8..7156e24 100644
--- a/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/wallet/WalletWithdrawRecordServiceImpl.java
@@ -137,6 +137,25 @@
save(withdrawRecordDO);
+ // 2.新增一条账单明细
+ WalletBillRecordDO walletBillRecordDO=new WalletBillRecordDO();
+ walletBillRecordDO.setId(UUIDGenerator.getUUID());
+ walletBillRecordDO.setSupplierId(supplierDTO.getId());
+ walletBillRecordDO.setWalletId(walletDO.getId());
+ walletBillRecordDO.setType(Constants.BILL_CHANGE_TYPE.withdraw.name());
+ // 发起提现
+ walletBillRecordDO.setWithdrawType(Constants.BILL_WITHDRAW_TYPE.start.name());
+ walletBillRecordDO.setMethod(Constants.BILL_CHANGE_METHOD.reduce.name());
+ walletBillRecordDO.setOriginalAmount(walletDO.getWithdrawableAmount());
+ walletBillRecordDO.setChangeAmount(dto.getAmount());
+ walletBillRecordDO.setBalance(walletDO.getWithdrawableAmount().subtract(dto.getAmount()));
+ walletBillRecordDO.create(SecurityUtils.getUserId());
+
+ // 保存账单明细
+ walletBillRecordService.save(walletBillRecordDO);
+
+
+
// 3. 钱包更新
// 钱包可提现的钱等于当前钱包可提现的钱-提现的钱
walletDO.setWithdrawableAmount(walletDO.getWithdrawableAmount().subtract(dto.getAmount()));
diff --git a/src/main/java/com/mzl/flower/service/supplier/SupplierService.java b/src/main/java/com/mzl/flower/service/supplier/SupplierService.java
index 83d1588..0a4582e 100644
--- a/src/main/java/com/mzl/flower/service/supplier/SupplierService.java
+++ b/src/main/java/com/mzl/flower/service/supplier/SupplierService.java
@@ -214,7 +214,7 @@
supplierMapper.updateById(supplier);
}
- public Supplier getSupplierById(String supplierId) {
+ public Supplier getSupplierById(Long supplierId) {
return supplierMapper.selectById(supplierId);
}
}
diff --git a/src/main/resources/mapper/report/OrderReportMapper.xml b/src/main/resources/mapper/report/OrderReportMapper.xml
index b365647..aee1b7c 100644
--- a/src/main/resources/mapper/report/OrderReportMapper.xml
+++ b/src/main/resources/mapper/report/OrderReportMapper.xml
@@ -111,6 +111,7 @@
o.create_time as orderDate,
o.payment_time,
o.status_backend as settleStatus,
+ vor.order_num as order_num,
vor.order_num-vor.order_lack_num as real_sale_num,
vor.*
from t_order o
diff --git a/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml b/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
index ea5b876..d333725 100644
--- a/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
+++ b/src/main/resources/mapper/wallet/WalletBillRecordMapper.xml
@@ -13,6 +13,9 @@
<result column="supplier_id" property="supplierId" />
<result column="wallet_id" property="walletId" />
<result column="type" property="type" />
+
+ <result column="withdraw_type" property="withdrawType" />
+
<result column="type_detail" property="typeDetail" />
<result column="transfer_id" property="transferId" />
<result column="method" property="method" />
--
Gitblit v1.9.3