Procházet zdrojové kódy

分账记录分页bug

skyline před 7 měsíci
rodič
revize
c482810c54

+ 22 - 9
car-wash-service/src/main/java/com/kym/service/impl/SplitRecordServiceImpl.java

@@ -3,11 +3,14 @@ package com.kym.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.kym.common.utils.CommUtil;
 import com.kym.entity.SplitRecord;
+import com.kym.entity.WashOrder;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.queryParams.SplitRecordQueryParams;
 import com.kym.entity.vo.SplitRecordVo;
+import com.kym.entity.vo.WashOrderVo;
 import com.kym.mapper.SplitRecordMapper;
 import com.kym.service.SplitRecordService;
 import com.kym.service.cache.KymCache;
@@ -39,19 +42,24 @@ public class SplitRecordServiceImpl extends MyBaseServiceImpl<SplitRecordMapper,
         // 站点数据权限
         var adminStationIds = KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong());
         if (CommUtil.isEmptyOrNull(params.getStationId()) &&
-                CommUtil.isNotEmptyAndNull(KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong()))) {
+                CommUtil.isNotEmptyAndNull(adminStationIds)) {
             params.setStationId(adminStationIds.get(0));
         }
         PageHelper.startPage(params.getPageNum(), params.getPageSize());
-        var res = lambdaQuery()
+        
+        var queryWrapper = lambdaQuery()
                 .like(CommUtil.isNotEmptyAndNull(params.getTradeNo()), SplitRecord::getTradeNo, params.getTradeNo())
-                .eq(CommUtil.isNotEmptyAndNull(params.getType()), SplitRecord::getType, params.getType())
-                .eq(CommUtil.isNotEmptyAndNull(params.getStationId()), SplitRecord::getFromStationId, params.getStationId())
-                .or()
-                .eq(CommUtil.isNotEmptyAndNull(params.getStationId()), SplitRecord::getToStationId, params.getStationId())
-                .orderByDesc(SplitRecord::getId)
-                .list();
+                .eq(CommUtil.isNotEmptyAndNull(params.getType()), SplitRecord::getType, params.getType());
+                
+        if (CommUtil.isNotEmptyAndNull(params.getStationId())) {
+            queryWrapper.and(wrapper -> wrapper.eq(SplitRecord::getFromStationId, params.getStationId())
+                    .or()
+                    .eq(SplitRecord::getToStationId, params.getStationId()));
+        }
+        
+        var res = queryWrapper.orderByDesc(SplitRecord::getId).list();
 
+        PageInfo<SplitRecord> pages = new PageInfo<>(res);
         var voList = res.stream().map(item -> {
             var vo = new SplitRecordVo();
             BeanUtils.copyProperties(item, vo);
@@ -59,7 +67,12 @@ public class SplitRecordServiceImpl extends MyBaseServiceImpl<SplitRecordMapper,
             vo.setToStationName(KymCache.INSTANCE.getStationNameById(item.getToStationId()));
             return vo;
         }).toList();
-        return new PageBean<>(voList);
+        PageBean<SplitRecordVo> bean = new PageBean<>(voList);
+        bean.setPages(pages.getPages());
+        bean.setPageNum(pages.getPageNum());
+        bean.setPageSize(pages.getPageSize());
+        bean.setTotal(pages.getTotal());
+        return bean;
     }
 
     /**