KKSU
2024-03-18 57ac3a35ac056f0a09d8a013e8f3da2ecfe8a7c6
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);
            }
        }
    }