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.ShopOrderEntity;
|
||||||
import com.agileboot.domain.shop.order.db.dto.OrderWithGoodsDTO;
|
import com.agileboot.domain.shop.order.db.dto.OrderWithGoodsDTO;
|
||||||
import com.agileboot.domain.shop.order.dto.ShopOrderExcelDTO;
|
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 com.agileboot.domain.shop.order.query.SearchShopOrderQuery;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
@ -45,7 +46,7 @@ public class ShopOrderController extends BaseController {
|
||||||
@Operation(summary = "订单列表导出")
|
@Operation(summary = "订单列表导出")
|
||||||
@AccessLog(title = "订单管理", businessType = BusinessTypeEnum.EXPORT)
|
@AccessLog(title = "订单管理", businessType = BusinessTypeEnum.EXPORT)
|
||||||
@GetMapping("/excel")
|
@GetMapping("/excel")
|
||||||
public void exportOrderByExcel(HttpServletResponse response, SearchShopOrderQuery<ShopOrderEntity> query) {
|
public void exportOrderByExcel(HttpServletResponse response, SearchShopOrderExcelQuery<ShopOrderEntity> query) {
|
||||||
query.setPaymentMethod("wechat");
|
query.setPaymentMethod("wechat");
|
||||||
query.setPayStatus(2);
|
query.setPayStatus(2);
|
||||||
List<ShopOrderEntity> list = orderApplicationService.list(query);
|
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.OrderModelFactory;
|
||||||
import com.agileboot.domain.shop.order.model.OrderGoodsModel;
|
import com.agileboot.domain.shop.order.model.OrderGoodsModel;
|
||||||
import com.agileboot.domain.shop.order.model.OrderGoodsModelFactory;
|
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.order.query.SearchShopOrderQuery;
|
||||||
import com.agileboot.domain.shop.payment.PaymentApplicationService;
|
import com.agileboot.domain.shop.payment.PaymentApplicationService;
|
||||||
import com.agileboot.domain.shop.payment.dto.WxJsApiPreCreateRequest;
|
import com.agileboot.domain.shop.payment.dto.WxJsApiPreCreateRequest;
|
||||||
|
@ -80,7 +81,7 @@ public class OrderApplicationService {
|
||||||
return new PageDTO<>(page.getRecords(), page.getTotal());
|
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());
|
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