From fd31530ff2fef3cf194db806940633fdf3cd5be1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 01 Apr 2026 22:35:57 +0800
Subject: [PATCH] feat(mybatis): 添加分页插件的 SQL 计数优化功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
index 45e798e..c15fac4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
@@ -13,6 +13,7 @@
import cc.mrbird.febs.mall.vo.AdminMallGoodsCommentVo;
import cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo;
import cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo;
+import cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderItemVo;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
@@ -42,6 +43,7 @@
private final HappyActivityOrderMapper happyActivityOrderMapper;
private final HappyActivityCommentMapper happyActivityCommentMapper;
private final HappyActivityOrderItemMapper happyActivityOrderItemMapper;
+ private final HappyActivityConnectMapper happyActivityConnectMapper;
private final HappyFollowMapper happyFollowMapper;
private final MallMemberMapper mallMemberMapper;
private final AgentProducer agentProducer;
@@ -378,6 +380,13 @@
}
@Override
+ public IPage<AdminHappyActivityOrderItemVo> activityOrderListV2(AdminHappyActivityOrderDto dto, QueryRequest request) {
+ Page<AdminHappyActivityOrderItemVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ Page<AdminHappyActivityOrderItemVo> adminOptionVoIPage = this.baseMapper.selectOrderItemInPage(page, dto);
+ return adminOptionVoIPage;
+ }
+
+ @Override
public FebsResponse checkOrder(List<Long> ids) {
if (CollUtil.isEmpty(ids)){
@@ -489,6 +498,74 @@
}
@Override
+ public List<AdminHappyActivityOrderItemVo> getOrderListForExportV2(Map<String, String> params) {
+ List<AdminHappyActivityOrderItemVo> list = new ArrayList<>();
+
+ LambdaQueryWrapper<HappyActivityOrder> queryWrapper = new LambdaQueryWrapper<>();
+ if(ObjectUtil.isNotEmpty(params.get("activityId"))){
+ queryWrapper.eq(HappyActivityOrder::getActivityId, Long.valueOf(params.get("activityId")));
+ }
+ List<Integer> stateList = Arrays.asList(StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode(), StateUpDownEnum.ORDER_STATE_USED.getCode());
+ queryWrapper.in(HappyActivityOrder::getState, stateList);
+ queryWrapper.eq(HappyActivityOrder::getDeleteFlag, StateUpDownEnum.DOWN.getCode());
+ queryWrapper.orderByDesc(HappyActivityOrder::getState);
+ queryWrapper.orderByDesc(HappyActivityOrder::getId);
+ List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList(queryWrapper);
+
+ if(CollUtil.isNotEmpty(happyActivityOrders)){
+
+ Map<Long, HappyActivityOrder> happyActivityOrderMap = happyActivityOrders.stream().collect(Collectors.toMap(HappyActivityOrder::getId, order -> order));
+
+ Set<Long> orderIds = happyActivityOrders.stream().map(HappyActivityOrder::getId).collect(Collectors.toSet());
+ List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
+ new LambdaQueryWrapper<HappyActivityOrderItem>()
+ .in(HappyActivityOrderItem::getOrderId, orderIds)
+ );
+
+ Set<Long> collect = happyActivityOrders.stream().map(HappyActivityOrder::getMemberId).collect(Collectors.toSet());
+ List<MallMember> mallMembers = mallMemberMapper.selectList(
+ new LambdaQueryWrapper<MallMember>()
+ .select(MallMember::getId,MallMember::getName)
+ .in(MallMember::getId, collect)
+ );
+ Map<Long, MallMember> mallMemberMap = mallMembers.stream().collect(Collectors.toMap(MallMember::getId, mallMember -> mallMember));
+
+ for (HappyActivityOrderItem happyActivityOrderItem : happyActivityOrderItems){
+ AdminHappyActivityOrderItemVo vo = new AdminHappyActivityOrderItemVo();
+ vo.setConnectName(happyActivityOrderItem.getName());
+ vo.setConnectPhone(happyActivityOrderItem.getPhone());
+ vo.setConnectAddress(happyActivityOrderItem.getAddress());
+
+ HappyActivityOrder happyActivityOrder = happyActivityOrderMap.get(happyActivityOrderItem.getOrderId());
+ vo.setId(happyActivityOrder.getId());
+ vo.setCreatedTime(happyActivityOrder.getCreatedTime());
+ vo.setMemberId(happyActivityOrder.getMemberId());
+ vo.setActivityId(happyActivityOrder.getActivityId());
+ vo.setPrice(happyActivityOrder.getPrice());
+ vo.setNumCnt(happyActivityOrder.getNumCnt());
+ vo.setAmount(happyActivityOrder.getAmount());
+ vo.setPayState(happyActivityOrder.getPayState());
+ vo.setPayType(happyActivityOrder.getPayType());
+ vo.setPayTime(happyActivityOrder.getPayTime());
+ vo.setDeleteFlag(happyActivityOrder.getDeleteFlag());
+ vo.setOrderNo(happyActivityOrder.getOrderNo());
+ vo.setPayOrderNo(happyActivityOrder.getPayOrderNo());
+ vo.setWxOrderNo(happyActivityOrder.getWxOrderNo());
+ vo.setState(happyActivityOrder.getState());
+ vo.setFailTime(happyActivityOrder.getFailTime());
+ MallMember mallMember = mallMemberMap.get(happyActivityOrderItem.getMemberId());
+ if (ObjectUtil.isNotEmpty(mallMember)){
+ vo.setMemberName(mallMember.getName());
+ }else{
+ vo.setMemberName("");
+ }
+ list.add(vo);
+ }
+ }
+ return list;
+ }
+
+ @Override
public IPage<AdminHappyActivityOrderCheckVo> activityOrderCheckList(AdminHappyActivityOrderCheckDto dto, QueryRequest request) {
Page<AdminHappyActivityOrderCheckVo> page = new Page<>(request.getPageNum(), request.getPageSize());
--
Gitblit v1.9.1