Administrator
4 days ago c7822fa55f611d09cec304991ca4a9275791de9d
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();
@@ -919,6 +918,7 @@
            apiCheckOrderVo.setName(happyActivityOrderItem.getName());
            apiCheckOrderVo.setPhone(happyActivityOrderItem.getPhone());
            apiCheckOrderVo.setPrice(happyActivityOrderItem.getPrice());
            apiCheckOrderVo.setState(happyActivityOrderItem.getState());
            return new FebsResponse().success().data(apiCheckOrderVo);
        }
@@ -926,6 +926,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("操作成功");
    }
    /**
     * 检查活动订单项的状态
     * 当指定订单的所有活动订单项都不处于"未使用"状态时,将订单状态更新为"已使用"