KKSU
2023-11-27 25e490a9d338f4e4d7521bae99b0e6b4ee38189e
匹配
1 files modified
66 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 66 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -961,7 +961,12 @@
        if(CollUtil.isEmpty(mallProductNfts)){
            return;
        }
        DateTime now = DateUtil.date();
        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
        );
        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
        for(MallProductNft mallProductNft : mallProductNfts){
            Long nftId = mallProductNft.getId();
            List<MallProductBuy> mallProductBuys = mallProductBuyMapper.selectListByStateAndProductNFTId(
@@ -973,35 +978,42 @@
            }
            for(MallProductBuy mallProductBuy : mallProductBuys){
                /**
                 * 返回令牌
                 * 预约记录超时
                 * 当前时间比结束时间大
                 */
                String orderNo = mallProductBuy.getOrderNo();
                mallProductBuy.setState(ProductEnum.PRODUCT_BUY_TIMEOUT.getValue());
                mallProductBuyMapper.updateById(mallProductBuy);
                if(nowTime.compareTo(endTime) >= 0){
                    /**
                     * 返回令牌
                     * 预约记录超时
                     */
                    String orderNo = mallProductBuy.getOrderNo();
                    mallProductBuy.setState(ProductEnum.PRODUCT_BUY_TIMEOUT.getValue());
                    mallProductBuyMapper.updateById(mallProductBuy);
                Long memberId = mallProductBuy.getMemberId();
                MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectByOrderAndType(orderNo,
                        MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN.getValue(),
                        FlowTypeNewEnum.TOKEN.getValue(),
                        memberId);
                if(ObjectUtil.isEmpty(mallMoneyFlow)){
                    continue;
                    Long memberId = mallProductBuy.getMemberId();
                    MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectByOrderAndType(orderNo,
                            MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN.getValue(),
                            FlowTypeNewEnum.TOKEN.getValue(),
                            memberId);
                    if(ObjectUtil.isEmpty(mallMoneyFlow)){
                        continue;
                    }
                    BigDecimal absAmount = mallMoneyFlow.getAmount().abs();
                    MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
                    mallMemberAmount.setTokenAva(mallMemberAmount.getTokenAva().add(absAmount));
                    mallMemberAmount.setTokenFrozen(mallMemberAmount.getTokenFrozen().subtract(absAmount));
                    mallMemberAmountMapper.updateTokenAvaAndTokenFrozenById(mallMemberAmount);
                    mallMoneyFlowService.addMoneyFlow(
                            memberId,
                            absAmount,
                            MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN_RETURN.getValue(),
                            orderNo,
                            null,
                            FlowTypeNewEnum.TOKEN.getValue(),
                            MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN_RETURN.getDescrition());
                }
                BigDecimal absAmount = mallMoneyFlow.getAmount().abs();
                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
                mallMemberAmount.setTokenAva(mallMemberAmount.getTokenAva().add(absAmount));
                mallMemberAmount.setTokenFrozen(mallMemberAmount.getTokenFrozen().subtract(absAmount));
                mallMemberAmountMapper.updateTokenAvaAndTokenFrozenById(mallMemberAmount);
                mallMoneyFlowService.addMoneyFlow(
                        memberId,
                        absAmount,
                        MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN_RETURN.getValue(),
                        orderNo,
                        null,
                        FlowTypeNewEnum.TOKEN.getValue(),
                        MoneyFlowTypeNewEnum.TOKEN_BUY_FROZEN_RETURN.getDescrition());
            }
        }
    }