diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopOrderController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopOrderController.java index f496aca..2d20375 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopOrderController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopOrderController.java @@ -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 query) { + public void exportOrderByExcel(HttpServletResponse response, SearchShopOrderExcelQuery query) { query.setPaymentMethod("wechat"); query.setPayStatus(2); List list = orderApplicationService.list(query); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java index 72c0a85..2ad9215 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java @@ -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 list(SearchShopOrderQuery query) { + public List list(SearchShopOrderExcelQuery query) { return orderService.list(query.toQueryWrapper()); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/query/SearchShopOrderExcelQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/query/SearchShopOrderExcelQuery.java new file mode 100644 index 0000000..a756b78 --- /dev/null +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/query/SearchShopOrderExcelQuery.java @@ -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 extends AbstractPageQuery { + 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 addQueryCondition() { + QueryWrapper 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; + } +}