From 567df9855e9fb910d6d3f100a96ea5803de45db0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 30 Nov 2023 11:06:16 +0800 Subject: [PATCH] 预约列表 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 10 +++++++++- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java | 35 ++++++++++++++++++++++++++++++++--- src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java | 2 ++ 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java index 8b5cd4b..909d7c7 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java @@ -29,4 +29,6 @@ FebsResponse orderSellInsure(ApiOrderSellInsureDto apiOrderSellInsureDto); FebsResponse orderBuyList(ApiOrderBuyDto apiOrderBuyDto); + + Boolean operationPermissionMemberFrozen(Long memberId); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java index a0103a0..5049623 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java @@ -934,7 +934,8 @@ * 当前时间比结束时间大 */ if(nowTime.compareTo(endTime) >= 0){ - List<MallProductSellRecord> mallProductSellRecords = mallProductSellRecordMapper.selectListByState(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue()); + List<MallProductSellRecord> mallProductSellRecords = mallProductSellRecordMapper.selectListByState( + ProductEnum.PRODUCT_MATE_STATE_PAY.getValue()); if(CollUtil.isNotEmpty(mallProductSellRecords)){ for(MallProductSellRecord mallProductSellRecord : mallProductSellRecords){ /** @@ -986,6 +987,13 @@ * 预约记录超时 */ String orderNo = mallProductBuy.getOrderNo(); + /** + * 只要存在匹配记录,则不退回。 + */ + List<MallProductBuyRecord> mallProductBuyRecords = mallProductBuyRecordMapper.selectRecordListByBuyId(mallProductBuy.getId()); + if(CollUtil.isNotEmpty(mallProductBuyRecords)){ + continue; + } mallProductBuy.setState(ProductEnum.PRODUCT_BUY_TIMEOUT.getValue()); mallProductBuyMapper.updateById(mallProductBuy); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java index d77b875..ed4476f 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java @@ -89,9 +89,9 @@ * 预约,验证交易密码、预约产品是否开启状态、该产品是否已经预约、token是否足够 * 冻结对应的令牌数量、生成预约记录、生成流水记录 */ - Integer isFrozen = mallMember.getIsFrozen(); - if(ProductEnum.MEMBER_UNFROZEN.getValue() != isFrozen){ - throw new FebsException("账户无法预约"); + Boolean aBoolean = operationPermissionMemberFrozen(memberId); + if(aBoolean){ + throw new FebsException("用户已冻结"); } DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date())); @@ -169,6 +169,11 @@ * 计算手续费、减少用户的fcm余额 * 增加流水 */ + + Boolean aBoolean = operationPermissionMemberFrozen(memberId); + if(aBoolean){ + throw new FebsException("用户已冻结"); + } if(!tradePassword.equals(mallMember.getTradePassword())){ throw new FebsException("请输入正确的交易密码"); } @@ -249,6 +254,11 @@ * 计算手续费、减少动态NFT、增加冻结NFT * 增加流水 */ + + Boolean aBoolean = operationPermissionMemberFrozen(memberId); + if(aBoolean){ + throw new FebsException("用户已冻结"); + } if(!tradePassword.equals(mallMember.getTradePassword())){ throw new FebsException("请输入正确的交易密码"); } @@ -428,6 +438,11 @@ * 更新卖单状态 * 生成流水信息 */ + + Boolean aBoolean = operationPermissionMemberFrozen(memberId); + if(aBoolean){ + throw new FebsException("用户已冻结"); + } if(!tradePassword.equals(mallMember.getTradePassword())){ throw new FebsException("请输入正确的交易密码"); } @@ -486,6 +501,11 @@ * 更新卖单状态 * 生成流水信息 */ + + Boolean aBoolean = operationPermissionMemberFrozen(memberId); + if(aBoolean){ + throw new FebsException("用户已冻结"); + } if(!tradePassword.equals(mallMember.getTradePassword())){ throw new FebsException("请输入正确的交易密码"); } @@ -525,4 +545,13 @@ IPage<ApiOrderBuyVo> apiOrderBuyVoIPage = mallProductBuyMapper.selectBuyListInPage(page, apiOrderBuyDto); return new FebsResponse().success().data(apiOrderBuyVoIPage); } + + @Override + public Boolean operationPermissionMemberFrozen(Long memberId) { + MallMember mallMember = memberMapper.selectById(memberId); + if(ProductEnum.MEMBER_FROZEN.getValue() == mallMember.getIsFrozen()){ + return true; + } + return false; + } } -- Gitblit v1.9.1