New file |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |