refactor(订单查询): 将订单导出功能中的查询参数分离为独立类
为了提升代码的可维护性和可读性,将订单导出功能中的查询参数从通用查询类中分离出来,创建了新的`SearchShopOrderExcelQuery`类。这样可以使查询逻辑更加清晰,并且便于后续扩展和修改。
This commit is contained in:
parent
3994d99321
commit
8c542c0594
|
@ -11,6 +11,7 @@ import com.agileboot.domain.shop.order.OrderApplicationService;
|
|||
import com.agileboot.domain.shop.order.db.ShopOrderEntity;
|
||||
import com.agileboot.domain.shop.order.db.dto.OrderWithGoodsDTO;
|
||||
import com.agileboot.domain.shop.order.dto.ShopOrderExcelDTO;
|
||||
import com.agileboot.domain.shop.order.query.SearchShopOrderExcelQuery;
|
||||
import com.agileboot.domain.shop.order.query.SearchShopOrderQuery;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
@ -45,7 +46,7 @@ public class ShopOrderController extends BaseController {
|
|||
@Operation(summary = "订单列表导出")
|
||||
@AccessLog(title = "订单管理", businessType = BusinessTypeEnum.EXPORT)
|
||||
@GetMapping("/excel")
|
||||
public void exportOrderByExcel(HttpServletResponse response, SearchShopOrderQuery<ShopOrderEntity> query) {
|
||||
public void exportOrderByExcel(HttpServletResponse response, SearchShopOrderExcelQuery<ShopOrderEntity> query) {
|
||||
query.setPaymentMethod("wechat");
|
||||
query.setPayStatus(2);
|
||||
List<ShopOrderEntity> list = orderApplicationService.list(query);
|
||||
|
|
|
@ -33,6 +33,7 @@ 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.SearchShopOrderExcelQuery;
|
||||
import com.agileboot.domain.shop.order.query.SearchShopOrderQuery;
|
||||
import com.agileboot.domain.shop.payment.PaymentApplicationService;
|
||||
import com.agileboot.domain.shop.payment.dto.WxJsApiPreCreateRequest;
|
||||
|
@ -80,7 +81,7 @@ public class OrderApplicationService {
|
|||
return new PageDTO<>(page.getRecords(), page.getTotal());
|
||||
}
|
||||
|
||||
public List<ShopOrderEntity> list(SearchShopOrderQuery<ShopOrderEntity> query) {
|
||||
public List<ShopOrderEntity> list(SearchShopOrderExcelQuery<ShopOrderEntity> query) {
|
||||
return orderService.list(query.toQueryWrapper());
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
package com.agileboot.domain.shop.order.query;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.agileboot.common.core.page.AbstractPageQuery;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class SearchShopOrderExcelQuery<T> extends AbstractPageQuery<T> {
|
||||
private Long orderId;
|
||||
private Long cellId;
|
||||
private Integer status;
|
||||
private Integer payStatus;
|
||||
private Date startTime;
|
||||
private Date endTime;
|
||||
private Date payTime;
|
||||
private String paymentMethod;
|
||||
|
||||
@Override
|
||||
public QueryWrapper<T> addQueryCondition() {
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
queryWrapper
|
||||
.eq(orderId != null, "order_id", orderId)
|
||||
.eq(status != null, "status", status)
|
||||
.eq(payStatus != null, "pay_status", payStatus)
|
||||
.eq(StrUtil.isNotEmpty(paymentMethod), "payment_method", paymentMethod)
|
||||
.between(startTime != null && endTime != null, "create_time", startTime, endTime)
|
||||
.between(payTime != null, "pay_time",
|
||||
payTime == null ? null : DateUtil.beginOfDay(payTime).toJdkDate(),
|
||||
payTime == null ? null : DateUtil.endOfDay(payTime).toJdkDate())
|
||||
.eq("deleted", 0)
|
||||
.groupBy("order_id")
|
||||
.orderByDesc("create_time");
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue