From 6c823dd44dbde79f008001a2a11e7bf9bc6bf8cc Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期三, 04 十二月 2024 18:15:44 +0800 Subject: [PATCH] fix:合伙人列表操作日志 --- src/main/java/com/mzl/flower/service/impl/wallet/WalletServiceImpl.java | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) 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..0e784cd 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); } @@ -154,15 +164,24 @@ queryWalletAmountDTO.setStartTime(getWalletOnLineTime()); queryWalletAmountDTO.setUserId(walletDO.getUserId()); - // 质检扣款 - BigDecimal checkDeduceAmount = walletReduceService.getCheckReduceAmount(queryWalletAmountDTO); - checkDeduceAmount = checkDeduceAmount != null ? checkDeduceAmount : BigDecimal.ZERO; + // 质检扣款(缺货和补货) + BigDecimal checkReplaceLockAmount = walletReduceService.getCheckLackReplaceAmount(queryWalletAmountDTO); + checkReplaceLockAmount = checkReplaceLockAmount != null ? checkReplaceLockAmount : BigDecimal.ZERO; + + // 质检扣款(降级) + BigDecimal checkReduceAmount = walletReduceService.getCheckReduceAmount(queryWalletAmountDTO); + checkReduceAmount = checkReduceAmount != null ? checkReduceAmount : BigDecimal.ZERO; + // 售后扣款 BigDecimal saleDeduceAmount = walletReduceService.getSaleReduceAmount(queryWalletAmountDTO); saleDeduceAmount = saleDeduceAmount != null ? saleDeduceAmount : BigDecimal.ZERO; + // 集货站运费 + BigDecimal stationFeeAmount = walletReduceService.getStationFeeAmount(queryWalletAmountDTO); + stationFeeAmount = stationFeeAmount != null ? stationFeeAmount : BigDecimal.ZERO; + // 总扣款 - BigDecimal deduceAmount = checkDeduceAmount.add(saleDeduceAmount); + BigDecimal deduceAmount = checkReplaceLockAmount.add(checkReduceAmount).add(saleDeduceAmount).add(stationFeeAmount); return deduceAmount; } -- Gitblit v1.9.3