Administrator
4 days ago f4ee25ab3b8b5cc5dd9af71278521f4033d02bb8
refactor(mall): 优化活动订单状态更新逻辑

- 在处理活动订单状态为已使用时,增加了对订单当前状态的判断
- 只有当订单状态为待使用时,才更新状态为已使用
- 优化了代码结构,提高了代码的可读性和性能
1 files modified
24 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java 24 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
@@ -376,18 +376,20 @@
        }
        for(Long id : ids){
            HappyActivityOrder happyActivityOrder = happyActivityOrderMapper.selectById(id);
            happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_USED.getCode());
            happyActivityOrderMapper.updateById(happyActivityOrder);
            if(StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode() == happyActivityOrder.getState()){
                happyActivityOrder.setState(StateUpDownEnum.ORDER_STATE_USED.getCode());
                happyActivityOrderMapper.updateById(happyActivityOrder);
            List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
                    new LambdaQueryWrapper<HappyActivityOrderItem>()
                            .eq(HappyActivityOrderItem::getOrderId, id)
            );
            if(CollUtil.isNotEmpty(happyActivityOrderItems)){
                happyActivityOrderItems.forEach(happyActivityOrderItem -> {
                    happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
                    happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
                });
                List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
                        new LambdaQueryWrapper<HappyActivityOrderItem>()
                                .eq(HappyActivityOrderItem::getOrderId, id)
                );
                if(CollUtil.isNotEmpty(happyActivityOrderItems)){
                    happyActivityOrderItems.forEach(happyActivityOrderItem -> {
                        happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
                        happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
                    });
                }
            }
        }