feat(订单管理): 添加订单列表查询功能并优化返回结果排序

在SearchReturnApprovalQuery中添加按创建时间降序排序功能,并新增ShopOrderController和OrderApplicationService中的订单列表查询接口,以便前端能够获取订单列表数据。
This commit is contained in:
dzq 2025-04-19 16:27:46 +08:00
parent a8be405d36
commit 029975787f
3 changed files with 41 additions and 5 deletions

View File

@ -0,0 +1,31 @@
package com.agileboot.admin.controller.shop;
import com.agileboot.common.core.base.BaseController;
import com.agileboot.common.core.dto.ResponseDTO;
import com.agileboot.common.core.page.PageDTO;
import com.agileboot.domain.shop.order.OrderApplicationService;
import com.agileboot.domain.shop.order.db.ShopOrderEntity;
import com.agileboot.domain.shop.order.query.SearchShopOrderQuery;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/shop/order")
@RequiredArgsConstructor
@Validated
public class ShopOrderController extends BaseController {
private final OrderApplicationService orderApplicationService;
@Operation(summary = "订单列表")
// @PreAuthorize("@permission.has('shop:goods:list')")
@GetMapping("/list")
public ResponseDTO<PageDTO<ShopOrderEntity>> list(SearchShopOrderQuery<ShopOrderEntity> query) {
PageDTO<ShopOrderEntity> page = orderApplicationService.getOrderList(query);
return ResponseDTO.ok(page);
}
}

View File

@ -31,7 +31,8 @@ public class SearchReturnApprovalQuery<T> extends AbstractPageQuery<T> {
.eq(status != null, "status", status)
.like(StrUtil.isNotEmpty(returnRemark), "return_remark", returnRemark)
.like(StrUtil.isNotEmpty(auditRemark), "audit_remark", auditRemark)
.between(startTime != null && endTime != null, "create_time", startTime, endTime);
.between(startTime != null && endTime != null, "create_time", startTime, endTime)
.orderByDesc("create_time");
this.timeRangeColumn = "create_time";

View File

@ -2,6 +2,7 @@ package com.agileboot.domain.shop.order;
import cn.hutool.core.date.DateUtil;
import com.agileboot.common.constant.PayApiConstants;
import com.agileboot.common.core.page.PageDTO;
import com.agileboot.common.exception.ApiException;
import com.agileboot.common.exception.error.ErrorCode;
import com.agileboot.domain.cabinet.cell.db.CabinetCellEntity;
@ -22,10 +23,12 @@ import com.agileboot.domain.shop.order.db.ShopOrderGoodsEntity;
import com.agileboot.domain.shop.order.db.ShopOrderGoodsService;
import com.agileboot.domain.shop.order.dto.CreateOrderResult;
import com.agileboot.domain.shop.order.dto.GetOrdersByOpenIdDTO;
import com.agileboot.domain.shop.order.dto.ShopOrderDTO;
import com.agileboot.domain.shop.order.model.OrderModel;
import com.agileboot.domain.shop.order.model.OrderModelFactory;
import com.agileboot.domain.shop.order.model.OrderGoodsModel;
import com.agileboot.domain.shop.order.model.OrderGoodsModelFactory;
import com.agileboot.domain.shop.order.query.SearchShopOrderQuery;
import com.agileboot.domain.shop.payment.PaymentApplicationService;
import com.agileboot.domain.shop.payment.dto.WxJsApiPreCreateRequest;
import com.agileboot.domain.shop.payment.dto.WxJsApiPreCreateResponse;
@ -36,6 +39,8 @@ import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -60,11 +65,10 @@ public class OrderApplicationService {
private final QyUserService userService;
private final QyUserModelFactory qyUserModelFactory;
/*public PageDTO<ShopOrderDTO> getOrderList(SearchShopOrderQuery<> query) {
public PageDTO<ShopOrderEntity> getOrderList(SearchShopOrderQuery<ShopOrderEntity> query) {
Page<ShopOrderEntity> page = orderService.page(query.toPage(), query.toQueryWrapper());
List<ShopOrderDTO> dtoList = page.getRecords().stream().map(ShopOrderDTO::new).collect(Collectors.toList());
return new PageDTO<>(dtoList, page.getTotal());
}*/
return new PageDTO<>(page.getRecords(), page.getTotal());
}
public void openOrderGoodsCabinet(Long orderId, Long orderGoodsId) {
OrderModel orderModel = orderModelFactory.loadById(orderId);