Administrator
15 hours ago 85e8510c6655eaa91000307248391bb81c10310e
refactor(mall): 重构活动订单接口

- 移除了 HappyActivityConnect 相关的查询逻辑
- 将 connect 相关的信息直接从 HappyActivityOrderItem 中获取
- 更新了数据库查询 SQL,移除了 happy_activity_connect 表的关联查询
2 files modified
28 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java 21 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
@@ -519,17 +519,8 @@
            Set<Long> orderIds = happyActivityOrders.stream().map(HappyActivityOrder::getId).collect(Collectors.toSet());
            List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
                    new LambdaQueryWrapper<HappyActivityOrderItem>()
                            .select(HappyActivityOrderItem::getConnectId)
                            .in(HappyActivityOrderItem::getOrderId, orderIds)
            );
            Set<Long> connectIds = happyActivityOrderItems.stream().map(HappyActivityOrderItem::getConnectId).collect(Collectors.toSet());
            List<HappyActivityConnect> happyActivityConnects = happyActivityConnectMapper.selectList(
                    new LambdaQueryWrapper<HappyActivityConnect>()
                            .select(HappyActivityConnect::getId,HappyActivityConnect::getName,HappyActivityConnect::getPhone,HappyActivityConnect::getAddress)
                            .in(HappyActivityConnect::getId, connectIds)
            );
            Map<Long, HappyActivityConnect> happyActivityConnectMap = happyActivityConnects.stream().collect(Collectors.toMap(HappyActivityConnect::getId, happyActivityConnect -> happyActivityConnect));
            Set<Long> collect = happyActivityOrders.stream().map(HappyActivityOrder::getMemberId).collect(Collectors.toSet());
            List<MallMember> mallMembers = mallMemberMapper.selectList(
@@ -539,12 +530,11 @@
            );
            Map<Long, MallMember> mallMemberMap = mallMembers.stream().collect(Collectors.toMap(MallMember::getId, mallMember -> mallMember));
            happyActivityOrderItems.forEach(happyActivityOrderItem -> {
            for (HappyActivityOrderItem happyActivityOrderItem : happyActivityOrderItems){
                AdminHappyActivityOrderItemVo vo = new AdminHappyActivityOrderItemVo();
                HappyActivityConnect happyActivityConnect = happyActivityConnectMap.get(happyActivityOrderItem.getConnectId());
                vo.setConnectName(happyActivityConnect.getName());
                vo.setConnectPhone(happyActivityConnect.getPhone());
                vo.setConnectAddress(happyActivityConnect.getAddress());
                vo.setConnectName(happyActivityOrderItem.getName());
                vo.setConnectPhone(happyActivityOrderItem.getPhone());
                vo.setConnectAddress(happyActivityOrderItem.getAddress());
                HappyActivityOrder happyActivityOrder = happyActivityOrderMap.get(happyActivityOrderItem.getOrderId());
                vo.setId(happyActivityOrder.getId());
@@ -569,7 +559,8 @@
                }else{
                    vo.setMemberName("");
                }
            });
                list.add(vo);
            }
        }
        return list;
    }
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -113,13 +113,12 @@
    <select id="selectOrderItemInPage" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderItemVo">
        select
                a.*,
               e.name as connectName,
               e.phone as connectPhone,
               e.address as connectAddress,
               d.name as connectName,
               d.phone as connectPhone,
               d.address as connectAddress,
               b.name as memberName,
               c.name as activityName
        from happy_activity_order_item d
        left join happy_activity_connect e on e.id = d.connect_id
        left join happy_activity_order a on a.id = d.order_id
        left join mall_member b on a.member_id = b.id
        left join happy_activity c on a.activity_id = c.id