From 3fc146bb6018df095ef2252461f3446bda87ef82 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 29 Apr 2025 14:06:54 +0800 Subject: [PATCH] refactor(rabbitmq): 使用 RabbitQueueEnum 替代直接使用队列名称 --- src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java index b2d0db8..a13dff7 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java @@ -795,7 +795,7 @@ List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList( new LambdaQueryWrapper<HappyActivityOrderItem>() - .eq(HappyActivityOrderItem::getOrderId, happyActivityOrder.getActivityId()) + .eq(HappyActivityOrderItem::getOrderId, happyActivityOrder.getId()) .eq(HappyActivityOrderItem::getMemberId, memberId) ); if(CollUtil.isNotEmpty(happyActivityOrderItems)){ @@ -903,11 +903,10 @@ .last("limit 1") ); if(happyActivityOrderItem != null){ - happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); - happyActivityOrderItem.setTransferItemId(memberId); - happyActivityOrderItemMapper.updateById(happyActivityOrderItem); - agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId()); + if(StateUpDownEnum.UP.getCode() == happyActivityOrderItem.getState()){ + throw new FebsException("该票号已核销!"); + } HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrderItem.getActivityId()); ApiCheckOrderVo apiCheckOrderVo = new ApiCheckOrderVo(); @@ -926,6 +925,38 @@ return new FebsResponse().fail().message("核销失败!"); } + @Override + public FebsResponse insureOrder(ApiCheckOrderDto dto) { + // 获取当前登录用户的ID + Long memberId = LoginUserUtil.getLoginUser().getId(); + + MallMember mallMember = mallMemberMapper.selectById(memberId); + + if(StateUpDownEnum.UP.getCode() != mallMember.getCheckOrder()){ + throw new FebsException("您不是核销员!"); + } + + String orderItemCode = dto.getOrderItemCode(); + + HappyActivityOrderItem happyActivityOrderItem = happyActivityOrderItemMapper.selectOne( + new LambdaQueryWrapper<HappyActivityOrderItem>() + .eq(HappyActivityOrderItem::getCode, orderItemCode) + .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode()) + .last("limit 1") + ); + if(happyActivityOrderItem != null){ + if(StateUpDownEnum.UP.getCode() == happyActivityOrderItem.getState()){ + throw new FebsException("该票号已核销!"); + } + + happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode()); + happyActivityOrderItem.setTransferItemId(memberId); + happyActivityOrderItemMapper.updateById(happyActivityOrderItem); + agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId()); + } + return new FebsResponse().success().message("操作成功"); + } + /** * 检查活动订单项的状态 * 当指定订单的所有活动订单项都不处于"未使用"状态时,将订单状态更新为"已使用" -- Gitblit v1.9.1