!57 增加订单查询参数(按照评论状态)

Merge pull request !57 from OceansDeep/feature/pg
This commit is contained in:
OceansDeep 2021-11-16 09:55:41 +00:00 committed by Gitee
commit aca627e137

View File

@ -1,11 +1,12 @@
package cn.lili.modules.order.order.entity.dto;
import cn.hutool.core.util.StrUtil;
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.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderTagEnum;
import cn.lili.modules.order.order.entity.enums.OrderTypeEnum;
@ -13,9 +14,11 @@ 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;
import java.util.Objects;
/**
* 订单查询参数
@ -23,6 +26,7 @@ import java.util.Date;
* @author Chopper
* @since 2020/11/17 4:33 下午
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class OrderSearchParams extends PageVO {
@ -94,63 +98,72 @@ public class OrderSearchParams extends PageVO {
@ApiModelProperty(value = "订单来源")
private String clientType;
/**
* @see CommentStatusEnum
*/
@ApiModelProperty(value = "评论状态:未评论(UNFINISHED),待追评(WAIT_CHASE),评论完成(FINISHED)")
private String commentStatus;
public <T> QueryWrapper<T> queryWrapper() {
AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
QueryWrapper<T> wrapper = new QueryWrapper<>();
//关键字查询
if (StrUtil.isNotEmpty(keywords)) {
if (CharSequenceUtil.isNotEmpty(keywords)) {
wrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords);
}
//按卖家查询
wrapper.eq(StrUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()), "o.store_id", UserContext.getCurrentUser().getStoreId());
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.STORE.name()), "o.store_id", currentUser.getStoreId());
//店铺查询
wrapper.eq(StrUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.MANAGER.name())
&& StringUtils.isNotEmpty(storeId), "o.store_id", storeId);
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MANAGER.name())
&& CharSequenceUtil.isNotEmpty(storeId), "o.store_id", storeId);
//按买家查询
wrapper.eq(StrUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.MEMBER.name()), "o.member_id", UserContext.getCurrentUser().getId());
wrapper.eq(CharSequenceUtil.equals(currentUser.getRole().name(), UserEnums.MEMBER.name()), "o.member_id", currentUser.getId());
//按照买家查询
wrapper.like(StrUtil.isNotEmpty(memberId), "o.member_id", memberId);
wrapper.like(CharSequenceUtil.isNotEmpty(memberId), "o.member_id", memberId);
//按订单编号查询
wrapper.like(StrUtil.isNotEmpty(orderSn), "o.sn", orderSn);
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(StrUtil.isNotEmpty(buyerName), "o.member_name", buyerName);
wrapper.like(CharSequenceUtil.isNotEmpty(buyerName), "o.member_name", buyerName);
//按订单类型
wrapper.eq(StrUtil.isNotEmpty(orderType), "o.order_type", orderType);
wrapper.eq(CharSequenceUtil.isNotEmpty(orderType), "o.order_type", orderType);
//物流查询
wrapper.like(StrUtil.isNotEmpty(shipName), "o.consignee_name", shipName);
wrapper.like(CharSequenceUtil.isNotEmpty(shipName), "o.consignee_name", shipName);
//按商品名称查询
wrapper.like(StrUtil.isNotEmpty(goodsName), "oi.goods_name", goodsName);
wrapper.like(CharSequenceUtil.isNotEmpty(goodsName), "oi.goods_name", goodsName);
//付款方式
wrapper.like(StrUtil.isNotEmpty(paymentType), "o.payment_type", paymentType);
wrapper.like(CharSequenceUtil.isNotEmpty(paymentType), "o.payment_type", paymentType);
//按支付方式
wrapper.eq(StrUtil.isNotEmpty(paymentMethod), "o.payment_method", paymentMethod);
wrapper.eq(CharSequenceUtil.isNotEmpty(paymentMethod), "o.payment_method", paymentMethod);
//订单状态
wrapper.eq(StrUtil.isNotEmpty(orderStatus), "o.order_status", orderStatus);
wrapper.eq(CharSequenceUtil.isNotEmpty(orderStatus), "o.order_status", orderStatus);
//付款状态
wrapper.eq(StrUtil.isNotEmpty(payStatus), "o.pay_status", payStatus);
wrapper.eq(CharSequenceUtil.isNotEmpty(payStatus), "o.pay_status", payStatus);
//订单来源
wrapper.like(StrUtil.isNotEmpty(clientType), "o.client_type", clientType);
wrapper.like(CharSequenceUtil.isNotEmpty(clientType), "o.client_type", clientType);
//按评价状态
wrapper.like(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
//按标签查询
if (StringUtils.isNotEmpty(tag)) {
if (CharSequenceUtil.isNotEmpty(tag)) {
String orderStatusColumn = "o.order_status";
OrderTagEnum tagEnum = OrderTagEnum.valueOf(tag);
switch (tagEnum) {