瀏覽代碼

fix order page bug

Mr.qian 2 周之前
父節點
當前提交
295571db16

+ 1 - 5
mall-service/src/main/java/com/txz/mall/controller/OrderController.java

@@ -106,16 +106,12 @@ public class OrderController {
     @PostMapping("/list")
     @ApiOperation(value = "订单获取列表")
     public Result<List<StoreOrderVO>> list(@RequestBody StoreOrderDTO dto) {
-        PageHelper.startPage(dto.getPage(), dto.getSize());
-        PageInfo pageInfo = null;
         try {
-            List<StoreOrderVO> arrayList = storeOrderService.orderList(dto);
-            pageInfo = new PageInfo(arrayList);
+            return Result.success(storeOrderService.orderList(dto));
         } catch (Exception e) {
             log.error("查询对象操作异常e:{}", e);
             return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
         }
-        return Result.success(pageInfo);
     }
 
 //    @PostMapping("/app/list")

+ 1 - 5
mall-service/src/main/java/com/txz/mall/controller/appcontroller/AppOrderController.java

@@ -127,16 +127,12 @@ public class AppOrderController {
     @PostMapping("/list")
     @ApiOperation(value = "订单获取列表")
     public Result<List<StoreOrderVO>> list(@RequestBody StoreOrderDTO dto) {
-        PageHelper.startPage(dto.getPage(), dto.getSize());
-        PageInfo pageInfo = null;
         try {
-            List<StoreOrderVO> arrayList = storeOrderService.orderList(dto);
-            pageInfo = new PageInfo(arrayList);
+            return Result.success(storeOrderService.orderList(dto));
         } catch (Exception e) {
             log.error("查询对象操作异常e:{}", e);
             return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
         }
-        return Result.success(pageInfo);
     }
 
     @PostMapping("/app/list")

+ 2 - 1
mall-service/src/main/java/com/txz/mall/service/StoreOrderService.java

@@ -1,5 +1,6 @@
 package com.txz.mall.service;
 
+import com.github.pagehelper.PageInfo;
 import com.txz.mall.core.Service;
 import com.txz.mall.model.StoreOrder;
 import dto.*;
@@ -75,7 +76,7 @@ public interface StoreOrderService extends Service<StoreOrder> {
      *
      * @return 订单列表
      */
-    List<StoreOrderVO> orderList(StoreOrderDTO dto);
+    PageInfo<StoreOrderVO> orderList(StoreOrderDTO dto);
 
     /**
      * 获取订单列表

+ 16 - 11
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -457,7 +457,8 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
 
     @Override
     public void exportFile(StoreOrderDTO dto, HttpServletResponse response) {
-        List<StoreOrderVO> list = orderList(dto);
+        PageInfo<StoreOrderVO> page = orderList(dto);
+        List<StoreOrderVO> list = page.getList();
         List<String> rowHead = CollUtil.newArrayList("ID", "订单号", "用户ID", "用户注册手机号", "订单状态", "订单金额", "下单时间", "支付时间", "商品ID", "商品名称", "商品规格", "购买数量", "收件人姓名", "收件人手机", "收件人详细地址", "邮编", "快递公司", "快递单号");
         ExcelWriter writer = ExcelUtil.getWriter();
         try {
@@ -480,12 +481,12 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
                             vo.getPayPrice(),
                             vo.getCreateTime() == null ? "" : DateUtil.format(vo.getCreateTime(), "yyyy-MM-dd HH:mm:ss"),
                             vo.getPayTime() == null ? "" : DateUtil.format(vo.getPayTime(), "yyyy-MM-dd HH:mm:ss"),
-
+                            
                             storeOrderInfo.getProductId(),
                             storeOrderInfo.getProductName(),
                             storeOrderInfo.getSku(),
                             storeOrderInfo.getPayNum(),
-
+                            
                             vo.getRealName(),
                             vo.getUserPhone(),
                             vo.getUserAddress(),
@@ -497,14 +498,14 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
                 }
             }
             writer.write(rows);
-            //设置宽度自适应
+            // 设置宽度自适应
             writer.setColumnWidth(-1, 22);
-            //response为HttpServletResponse对象
+            // response为HttpServletResponse对象
             response.setContentType("application/vnd.ms-excel;charset=utf-8");
-            //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
+            // test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
             response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("订单导出", "UTF-8") + ".xls");
             ServletOutputStream out = response.getOutputStream();
-            //out为OutputStream,需要写出到的目标流
+            // out为OutputStream,需要写出到的目标流
             writer.flush(out);
             log.info("导出结束");
         } catch (Exception e) {
@@ -1080,7 +1081,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
     }
 
     @Override
-    public List<StoreOrderVO> orderList(StoreOrderDTO dto) {
+    public PageInfo<StoreOrderVO> orderList(StoreOrderDTO dto) {
         Condition condition = new Condition(StoreOrder.class);
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("isDelete", 0);
@@ -1112,7 +1113,10 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         if (dto.getStartTime() != null && dto.getEndTime() != null) {
             criteria.andBetween("createTime", dto.getStartTime(), dto.getEndTime());
         }
+        PageHelper.startPage(dto.getPage(), dto.getSize());
         List<StoreOrder> list = findByCondition(condition);
+        PageInfo storeOrderPageInfo = new PageInfo<>(list);
+        
         List<StoreOrderVO> arrayList = new ArrayList<>();
         List<StoreOrderInfo> infoArrayList = new ArrayList<>();
         List<StoreOrderStatus> statusList = new ArrayList<>();
@@ -1123,12 +1127,12 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             infoCriteria.andEqualTo("isDelete", 0);
             infoCriteria.andIn("orderId", list.stream().map(StoreOrder::getId).collect(Collectors.toList()));
             infoArrayList = storeOrderInfoService.findByCondition(infoCondition);
-
+            
             Condition statusCondition = new Condition(StoreOrderStatus.class);
             Example.Criteria statusCriteria = statusCondition.createCriteria();
             statusCriteria.andIn("oid", list.stream().map(StoreOrder::getId).collect(Collectors.toList()));
             statusList = storeOrderStatusService.findByCondition(statusCondition);
-
+            
             Condition addressCondition = new Condition(UserAddress.class);
             Example.Criteria addressCriteria = addressCondition.createCriteria();
             addressCriteria.andEqualTo("isDelete", 0);
@@ -1148,7 +1152,8 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             vo.setOrderAddressVO(finalAddressList.stream().filter(address -> address.getId().equals(item.getAddressId())).findFirst().orElse(null));
             arrayList.add(vo);
         });
-        return arrayList;
+        storeOrderPageInfo.setList(arrayList);
+        return storeOrderPageInfo;
     }
 
     /**