From 903229fb857047af1925b0889d81a184c77b4393 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期二, 29 七月 2025 11:46:49 +0800
Subject: [PATCH] 订单查询问题
---
framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++
myk线上配置.xlsx | 0
2 files changed, 215 insertions(+), 0 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java
new file mode 100644
index 0000000..21e8254
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java
@@ -0,0 +1,215 @@
+package cn.lili.modules.order.order.entity.dto;
+
+import cn.hutool.core.text.CharSequenceUtil;
+import cn.lili.common.security.AuthUser;
+import cn.lili.common.security.context.UserContext;
+import cn.lili.common.security.enums.UserEnums;
+import cn.lili.common.utils.DateUtil;
+import cn.lili.common.vo.PageVO;
+import cn.lili.modules.order.order.entity.enums.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 璁㈠崟鏌ヨ鍙傛暟
+ *
+ * @author Chopper
+ * @since 2020/11/17 4:33 涓嬪崍
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class OrderSearchXcxParams extends PageVO {
+
+ private static final long serialVersionUID = -6380573339089959194L;
+
+ @ApiModelProperty(value = "鍟嗗搧鍚嶇О")
+ private String goodsName;
+
+ @ApiModelProperty(value = "璁㈠崟缂栧彿")
+ private String orderSn;
+
+ @ApiModelProperty(value = "椤甸潰鏍囩",
+ example = "ALL:鍏ㄩ儴," +
+ "WAIT_PAY:寰呬粯娆�," +
+ "WAIT_ROG:寰呮敹璐�," +
+ "CANCELLED:宸插彇娑�," +
+ "COMPLETE:宸插畬鎴�")
+ private String tag;
+
+ @ApiModelProperty(value = "鍟嗗ID")
+ private String storeId;
+
+ @ApiModelProperty(value = "浼氬憳ID")
+ private String memberId;
+
+ @ApiModelProperty(value = "鏀惰揣浜�")
+ private String shipName;
+
+ @ApiModelProperty(value = "涔板鏄电О")
+ private String buyerName;
+
+ @ApiModelProperty(value = "璁㈠崟鐘舵��")
+ private String orderStatus;
+
+ @ApiModelProperty(value = "浠樻鐘舵��")
+ private String payStatus;
+
+ @ApiModelProperty(value = "鍏抽敭瀛� 鍟嗗搧鍚嶇О/涔板鍚嶇О/搴楅摵鍚嶇О")
+ private String keywords;
+
+ @ApiModelProperty(value = "浠樻鏂瑰紡")
+ private String paymentType;
+
+ /**
+ * @see OrderTypeEnum
+ * @see OrderPromotionTypeEnum
+ */
+ @ApiModelProperty(value = "璁㈠崟绫诲瀷", allowableValues = "NORMAL,VIRTUAL,GIFT,PINTUAN,POINT")
+ private String orderType;
+
+ @ApiModelProperty(value = "鏀粯鏂瑰紡")
+ private String paymentMethod;
+
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "鏀粯鏃堕棿")
+ private Date paymentTime;
+
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "涓嬪崟寮�濮嬫椂闂�")
+ private Date startDate;
+
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "涓嬪崟缁撴潫鏃堕棿")
+ private Date endDate;
+
+ @ApiModelProperty(value = "璁㈠崟鏉ユ簮")
+ private String clientType;
+
+ /**
+ * @see CommentStatusEnum
+ */
+ @ApiModelProperty(value = "璇勮鐘舵��:鏈瘎璁�(UNFINISHED),寰呰拷璇�(WAIT_CHASE),璇勮瀹屾垚(FINISHED)锛�")
+ private String commentStatus;
+
+ @ApiModelProperty(value = "鏄惁涓哄叾浠栬鍗曚笅鐨勮鍗曪紝濡傛灉鏄垯涓轰緷璧栬鍗曠殑sn锛屽惁鍒欎负绌�")
+ private String parentOrderSn;
+
+ @ApiModelProperty(value = "鏄惁涓烘煇璁㈠崟绫诲瀷鐨勮鍗曪紝濡傛灉鏄垯涓鸿鍗曠被鍨嬬殑id锛屽惁鍒欎负绌�")
+ private String promotionId;
+
+ @ApiModelProperty(value = "鎬讳环鏍�,鍙互涓鸿寖鍥达紝濡�10_1000")
+ private String flowPrice;
+
+ /**
+ * @see OrderPromotionTypeEnum
+ */
+ @ApiModelProperty(value = "璁㈠崟淇冮攢绫诲瀷")
+ private String orderPromotionType;
+
+ public <T> QueryWrapper<T> queryWrapper() {
+ AuthUser currentUser = UserContext.getCurrentUser();
+ QueryWrapper<T> wrapper = new QueryWrapper<>();
+
+ //鍏抽敭瀛楁煡璇�
+ if (CharSequenceUtil.isNotEmpty(keywords)) {
+ wrapper.and(keyWrapper -> keyWrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords));
+ }
+ //鎸夌収涔板鏌ヨ
+ wrapper.like(CharSequenceUtil.isNotEmpty(memberId), "o.member_id", memberId);
+
+ //鎸夎鍗曠紪鍙锋煡璇�
+ wrapper.like(CharSequenceUtil.isNotEmpty(orderSn), "o.sn", orderSn);
+
+ //鎸夋椂闂存煡璇�
+ wrapper.ge(startDate != null, "o.create_time", startDate);
+
+ wrapper.le(endDate != null, "o.create_time", DateUtil.endOfDate(endDate));
+ //鎸夎喘涔颁汉鐢ㄦ埛鍚�
+ wrapper.like(CharSequenceUtil.isNotEmpty(buyerName), "o.member_name", buyerName);
+
+ //鎸夎鍗曠被鍨�
+ wrapper.eq(CharSequenceUtil.isNotEmpty(orderType), "o.order_type", orderType);
+
+ //鐗╂祦鏌ヨ
+ wrapper.like(CharSequenceUtil.isNotEmpty(shipName), "o.consignee_name", shipName);
+
+ //鎸夊晢鍝佸悕绉版煡璇�
+ wrapper.like(CharSequenceUtil.isNotEmpty(goodsName), "oi.goods_name", goodsName);
+
+ //浠樻鏂瑰紡
+ wrapper.like(CharSequenceUtil.isNotEmpty(paymentType), "o.payment_type", paymentType);
+
+ //鎸夋敮浠樻柟寮�
+ wrapper.eq(CharSequenceUtil.isNotEmpty(paymentMethod), "o.payment_method", paymentMethod);
+
+ //璁㈠崟鐘舵��
+ wrapper.eq(CharSequenceUtil.isNotEmpty(orderStatus), "o.order_status", orderStatus);
+
+ //浠樻鐘舵��
+ wrapper.eq(CharSequenceUtil.isNotEmpty(payStatus), "o.pay_status", payStatus);
+
+ //璁㈠崟鏉ユ簮
+ wrapper.like(CharSequenceUtil.isNotEmpty(clientType), "o.client_type", clientType);
+
+ //鎸夎瘎浠风姸鎬�
+ wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
+
+ //鎸夋爣绛炬煡璇�
+ if (CharSequenceUtil.isNotEmpty(tag)) {
+ String orderStatusColumn = "o.order_status";
+ OrderTagEnum tagEnum = OrderTagEnum.valueOf(tag);
+ switch (tagEnum) {
+ //寰呬粯娆�
+ case WAIT_PAY:
+ wrapper.eq(orderStatusColumn, OrderStatusEnum.UNPAID.name());
+ break;
+ //寰呭彂璐�
+ case WAIT_SHIP:
+ wrapper.eq(orderStatusColumn, OrderStatusEnum.UNDELIVERED.name());
+ break;
+ //寰呮敹璐�
+ case WAIT_ROG:
+ wrapper.eq(orderStatusColumn, OrderStatusEnum.DELIVERED.name());
+ break;
+ //宸插彇娑�
+ case CANCELLED:
+ wrapper.eq(orderStatusColumn, OrderStatusEnum.CANCELLED.name());
+ break;
+ //宸插畬鎴�
+ case COMPLETE:
+ wrapper.eq(orderStatusColumn, OrderStatusEnum.COMPLETED.name());
+ break;
+ default:
+ break;
+ }
+ }
+
+ // 渚濊禆璁㈠崟
+ wrapper.eq(parentOrderSn != null, "o.parent_order_sn", parentOrderSn);
+ // 淇冮攢娲诲姩id
+ wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId);
+
+ wrapper.eq(CharSequenceUtil.isNotEmpty(orderPromotionType), "o.order_promotion_type", orderPromotionType);
+
+ if (CharSequenceUtil.isNotEmpty(flowPrice)) {
+ String[] s = flowPrice.split("_");
+ if (s.length > 1) {
+ wrapper.between("o.flow_price", s[0], s[1]);
+ } else {
+ wrapper.ge("o.flow_price", s[0]);
+ }
+ }
+ wrapper.eq("o.delete_flag", false);
+ return wrapper;
+ }
+
+}
diff --git "a/myk\347\272\277\344\270\212\351\205\215\347\275\256.xlsx" "b/myk\347\272\277\344\270\212\351\205\215\347\275\256.xlsx"
new file mode 100644
index 0000000..b0055ae
--- /dev/null
+++ "b/myk\347\272\277\344\270\212\351\205\215\347\275\256.xlsx"
Binary files differ
--
Gitblit v1.8.0