From 57ac3a35ac056f0a09d8a013e8f3da2ecfe8a7c6 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 18 Mar 2024 11:12:51 +0800 Subject: [PATCH] 抽奖 --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java index 392321b..a042cff 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java @@ -66,6 +66,7 @@ private final MallProductSellRecordMapper mallProductSellRecordMapper; private final MallMemberAmountMapper mallMemberAmountMapper; private final IMallMoneyFlowService iMallMoneyFlowService; + private final MallProductNftMapper mallProductNftMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -1262,9 +1263,17 @@ BigDecimal nftCntTotalBuy = mallProductBuyRecords.stream().map(MallProductBuyRecord::getPickNftCnt).reduce(BigDecimal.ZERO, BigDecimal::add); MallProductBuy mallProductBuy = mallProductBuyMapper.selectById(buyId); if(nftCntTotalBuy.compareTo(mallProductBuy.getNftTotal()) >= 0){ + + Long productNftId = mallProductBuy.getProductNftId(); + MallProductNft mallProductNft = mallProductNftMapper.selectById(productNftId); + BigDecimal perkTime = mallProductNft.getPerkTime(); + BigDecimal totalPerk = perkTime.multiply(mallProductBuy.getNftTotal()).setScale(2, BigDecimal.ROUND_DOWN); + + mallProductBuy.setTotalPerk(totalPerk); mallProductBuy.setState(ProductEnum.PRODUCT_BUY_SUCCESS.getValue()); mallProductBuy.setPayTime(DateUtil.date()); mallProductBuyMapper.updateById(mallProductBuy); + } } } -- Gitblit v1.9.1