瀏覽代碼

fix:修改中台意见反馈分页冲突

penghao 19 小時之前
父節點
當前提交
d244ad366f

+ 1 - 4
alien-entity/src/main/java/shop/alien/mapper/LifeFeedbackMapper.java

@@ -10,7 +10,6 @@ import shop.alien.entity.store.vo.LifeFeedbackDetailVo;
 import shop.alien.entity.store.vo.LifeFeedbackListVo;
 import shop.alien.entity.store.vo.LifeFeedbackVo;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -55,15 +54,13 @@ public interface LifeFeedbackMapper extends BaseMapper<LifeFeedback> {
 
     /**
      * 中台-查询意见反馈列表
-     * @param page 分页对象
      * @param feedbackType 反馈类型
      * @param handleStatus 处理状态
      * @param feedbackSource 反馈来源
      * @param feedbackWay 反馈方式
      * @return 反馈列表
      */
-    IPage<LifeFeedbackListVo> selectWebFeedbackList(
-            Page<LifeFeedbackListVo> page,
+    List<LifeFeedbackListVo> selectWebFeedbackList(
             @Param("feedbackType") Integer feedbackType,
             @Param("handleStatus") Integer handleStatus,
             @Param("feedbackSource") Integer feedbackSource,

+ 1 - 1
alien-store/src/main/java/shop/alien/store/controller/LifeFeedbackController.java

@@ -78,7 +78,7 @@ public class LifeFeedbackController {
     @ApiOperation(value = "中台-查询意见反馈列表", httpMethod = "GET")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "feedbackType", value = "反馈类型:0-优化建议,1-问题", dataType = "Integer", paramType = "query"),
-            @ApiImplicitParam(name = "handleStatus", value = "处理状态:0-处理中,1-已解决,2-未分配,3-无需解决", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "handleStatus", value = "处理状态:0-处理中,1-已解决", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "feedbackSource", value = "反馈来源:0-用户端,1-商家端", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "feedbackWay", value = "反馈方式:0-用户反馈,1-AI识别", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "page", value = "页码", dataType = "Integer", paramType = "query", required = true),

+ 16 - 22
alien-store/src/main/java/shop/alien/store/service/impl/LifeFeedbackServiceImpl.java

@@ -1,8 +1,11 @@
 package shop.alien.store.service.impl;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -10,33 +13,19 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import shop.alien.entity.result.R;
-import shop.alien.entity.store.LifeFeedback;
-import shop.alien.entity.store.LifeFeedbackReply;
-import shop.alien.entity.store.LifeImg;
-import shop.alien.entity.store.LifeLog;
+import shop.alien.entity.store.*;
 import shop.alien.entity.store.dto.*;
 import shop.alien.entity.store.vo.*;
-import shop.alien.entity.store.vo.FeedbackReplyVo;
-import shop.alien.mapper.LifeFeedbackMapper;
-import shop.alien.mapper.LifeLogMapper;
-import shop.alien.mapper.LifeNoticeMapper;
-import shop.alien.mapper.StoreUserMapper;
-import shop.alien.mapper.LifeSysMapper;
-import shop.alien.entity.store.LifeSys;
-import shop.alien.store.util.ai.AiFeedbackAssignUtils;
-import shop.alien.entity.store.LifeNotice;
-import shop.alien.entity.store.StoreUser;
-import shop.alien.entity.store.vo.WebSocketVo;
+import shop.alien.mapper.*;
 import shop.alien.store.config.WebSocketProcess;
-import shop.alien.store.service.LifeFeedbackService;
 import shop.alien.store.service.LifeFeedbackReplyService;
+import shop.alien.store.service.LifeFeedbackService;
 import shop.alien.store.service.LifeImgService;
-import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import shop.alien.store.util.ai.AiFeedbackAssignUtils;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.ArrayList;
 
 /**
  * 意见反馈 Service实现类
@@ -463,14 +452,19 @@ public class LifeFeedbackServiceImpl extends ServiceImpl<LifeFeedbackMapper, Lif
     @Override
     public R<IPage<LifeFeedbackListVo>> getWebFeedbackList(LifeFeedbackQueryDto queryDto) {
         try {
-            Page<LifeFeedbackListVo> pageParam = new Page<>(queryDto.getPageNum(), queryDto.getPageSize());
-            IPage<LifeFeedbackListVo> result = lifeFeedbackMapper.selectWebFeedbackList(
-                    pageParam,
+            // 这里避免 MyBatis-Plus 分页与 PageHelper 同时对同一查询做 COUNT/LIMIT 转换导致参数映射异常
+            PageHelper.startPage(queryDto.getPageNum(), queryDto.getPageSize());
+            List<LifeFeedbackListVo> list = lifeFeedbackMapper.selectWebFeedbackList(
                     queryDto.getFeedbackType(),
                     queryDto.getHandleStatus(),
                     queryDto.getFeedbackSource(),
                     queryDto.getFeedbackWay()
             );
+            PageInfo<LifeFeedbackListVo> pageInfo = new PageInfo<>(list);
+
+            Page<LifeFeedbackListVo> result = new Page<>(queryDto.getPageNum(), queryDto.getPageSize());
+            result.setTotal(pageInfo.getTotal());
+            result.setRecords(list);
             return R.data(result);
         } catch (Exception e) {
             log.error("中台-查询意见反馈列表失败", e);