Browse Source

提货订单

Liugl 3 years ago
parent
commit
60e5e923ad

+ 162 - 75
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java

@@ -2,20 +2,30 @@ package com.qs.mp.web.controller.api.admin;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.admin.domain.Ticket;
+import com.qs.mp.admin.domain.TicketBox;
+import com.qs.mp.admin.domain.excel.TicketExcel;
+import com.qs.mp.admin.domain.param.BathIdParam;
+import com.qs.mp.admin.domain.param.UserDeliverOrderQueryParam;
 import com.qs.mp.channel.domain.param.OrderPayParam;
+import com.qs.mp.common.annotation.Log;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.core.redis.RedisCache;
 import com.qs.mp.common.enums.BizTypeEnum;
+import com.qs.mp.common.enums.BusinessType;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
 import com.qs.mp.common.exception.ServiceException;
+import com.qs.mp.common.utils.RSAUtil;
 import com.qs.mp.framework.redis.RedisKey;
 import com.qs.mp.pay.service.IWalletService;
 import com.qs.mp.user.domain.UserAddr;
 import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserDeliverOrderItem;
 import com.qs.mp.user.domain.UserPrizeStorage;
+import com.qs.mp.user.domain.excel.DeliverOrderExcel;
 import com.qs.mp.user.domain.param.DeliverOrderParam;
 import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
 import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
@@ -23,10 +33,14 @@ import com.qs.mp.user.service.IUserAddrService;
 import com.qs.mp.user.service.IUserDeliverOrderItemService;
 import com.qs.mp.user.service.IUserDeliverOrderService;
 import com.qs.mp.user.service.IUserPrizeStorageService;
+import com.qs.mp.utils.ExcelUtil;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
@@ -40,85 +54,158 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-
 @RestController
 @RequestMapping("/api/v1/admin/deliver/order")
 @Api(tags = "用户提货订单接口")
 @AllArgsConstructor
 public class UserDeliverOrderMgrController extends BaseApiController {
 
-  @Autowired
-  private IUserDeliverOrderService userDeliverOrderService;
-  
-  @Autowired
-  private IUserDeliverOrderItemService userDeliverOrderItemService;
-
-  @Autowired
-  private IUserPrizeStorageService userPrizeStorageService;
-
-  @Autowired
-  private IUserAddrService userAddrService;
-  
-  @Autowired
-  private IWalletService walletService;
-
-  @Autowired
-  private MapperFacade mapperFacade;
-
-  @Autowired
-  private RedisCache redisCache;
-
-  /**
-   * 订单列表
-   */
-  @PostMapping("/list")
-  @ApiOperation(value = "订单列表" , notes = "获取所有订单信息")
-  public TableDataInfo list(@RequestBody JSONObject param) {
-   // Long channelId = SecurityUtils.getLoginUser().getChannelId();
-    Integer status = param.getInteger("status");
-    startPage();
-    LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
-    // queryWrapper.eq(UserDeliverOrder::getChannelId, channelId);
-    queryWrapper.eq(null != status, UserDeliverOrder::getStatus, status);
-    queryWrapper.orderByDesc(UserDeliverOrder::getCreatedTime);
-    List<UserDeliverOrder> userDeliverOrders = userDeliverOrderService.list(queryWrapper);
-    List<UserDeliverOrderVO> userDeliverOrderVOList = mapperFacade.mapAsList(userDeliverOrders, UserDeliverOrderVO.class);
-    for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
-      userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-          .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
-    }
-    TableDataInfo rspData = getDataTable(userDeliverOrders);
-    rspData.setRows(userDeliverOrderVOList);
-    return rspData;
-  }
-
-  /**
-   * 订单详情
-   */
-  @PostMapping("/detail")
-  @ApiOperation(value = "订单详情" , notes = "在订单列表页面查看详情")
-  public AjaxResult query(@RequestBody UserDeliverOrder order) {
-	  if(null == order || StringUtils.isBlank(order.getOrderId())) {
-	    	return error(ErrorCodeEnum.ERROR_CODE_1001);
-	    } 
-    LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
-    queryWrapper.eq(UserDeliverOrder::getOrderId, order.getOrderId());
-    UserDeliverOrder userDeliverOrder = userDeliverOrderService.getOne(queryWrapper);
-    UserDeliverOrderVO userDeliverOrderVO = mapperFacade.map(userDeliverOrder, UserDeliverOrderVO.class);
-    userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-        .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
-    return AjaxResult.success(userDeliverOrderVO);
-  }
-
-  
-
-  /**
-   * 订单发货
-   */
-  @PostMapping("/ship")
-  @ApiOperation(value = "订单发货" , notes = "在订单发货页面提交")
-  public AjaxResult ship(@RequestBody UserDeliverOrder order) {
-
-    return AjaxResult.success();
-  }
+	@Autowired
+	private IUserDeliverOrderService userDeliverOrderService;
+
+	@Autowired
+	private IUserDeliverOrderItemService userDeliverOrderItemService;
+
+	@Autowired
+	private IUserPrizeStorageService userPrizeStorageService;
+
+	@Autowired
+	private IUserAddrService userAddrService;
+
+	@Autowired
+	private IWalletService walletService;
+
+	@Autowired
+	private MapperFacade mapperFacade;
+
+	@Autowired
+	private RedisCache redisCache;
+
+	/**
+	 * 用户提货订单列表
+	 */
+	@PostMapping("/list")
+	@ApiOperation(value = "用户提货订单列表", notes = "获取用户提货订单列表")
+	public TableDataInfo list(@RequestBody UserDeliverOrderQueryParam queryParam) {
+		startPage();
+		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
+		queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()), "t1.order_id" ,queryParam.getOrderId());
+		queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`" ,queryParam.getStatus());
+		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time", queryParam.getStartTime());
+		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time", queryParam.getEndTime());
+		queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()), "t2.nick_name", queryParam.getNickName());
+		queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()), "t3.title", queryParam.getTitle());
+		queryWrapper.orderByDesc("t1.order_id");
+		List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
+		for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
+			userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+					.eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
+		}
+		TableDataInfo rspData = getDataTable(userDeliverOrderVOList);
+		return rspData;
+	}
+
+	/**
+	 * 订单详情
+	 */
+	@PostMapping("/detail")
+	@ApiOperation(value = "订单详情", notes = "在订单列表页面查看详情")
+	public AjaxResult query(@RequestBody UserDeliverOrder order) {
+		if (null == order || StringUtils.isBlank(order.getOrderId())) {
+			return error(ErrorCodeEnum.ERROR_CODE_1001);
+		}
+		LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
+		queryWrapper.eq(UserDeliverOrder::getOrderId, order.getOrderId());
+		UserDeliverOrder userDeliverOrder = userDeliverOrderService.getOne(queryWrapper);
+		UserDeliverOrderVO userDeliverOrderVO = mapperFacade.map(userDeliverOrder, UserDeliverOrderVO.class);
+		userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+				.eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
+		return AjaxResult.success(userDeliverOrderVO);
+	}
+
+	/**
+	 * 订单发货
+	 */
+	@PostMapping("/ship")
+	@ApiOperation(value = "订单发货", notes = "在订单发货页面提交")
+	public AjaxResult ship(@RequestBody UserDeliverOrder order) {
+
+		return AjaxResult.success();
+	}
+
+	@Log(title = "导出", businessType = BusinessType.EXPORT)
+	@PostMapping("/export")
+	public AjaxResult export(@RequestBody UserDeliverOrderQueryParam queryParam) {
+
+		List<DeliverOrderExcel> excelList = new ArrayList<DeliverOrderExcel>();
+		List<UserDeliverOrderVO> listAll = new ArrayList<UserDeliverOrderVO>();
+		// 首先查询要导出的数据总数
+		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
+		queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()), "t1.order_id" ,queryParam.getOrderId());
+		queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`" ,queryParam.getStatus());
+		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time", queryParam.getStartTime());
+		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time", queryParam.getEndTime());
+		queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()), "t2.nick_name", queryParam.getNickName());
+		queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()), "t3.title", queryParam.getTitle());
+		queryWrapper.orderByDesc("t1.order_id");
+		int totalSize = userDeliverOrderService.selectUserDeliverOrderCount(queryWrapper);
+		if (totalSize == 0) {
+			return AjaxResult.error("没有符合条件的用户提货订单");
+		}
+		int pageSize = 2000;
+		if (totalSize > pageSize) {
+			int totalPage = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1;
+			for (int i = 0; i < totalPage; i++) {
+				queryWrapper.last("limit " + (i * pageSize) + ", " + pageSize);
+				List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
+				for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
+					userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+							.eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
+				}
+				if (null != userDeliverOrderVOList && userDeliverOrderVOList.size() > 0) {
+					listAll.addAll(userDeliverOrderVOList);
+				}
+			}
+		} else {
+			listAll = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
+			for (UserDeliverOrderVO userDeliverOrderVO : listAll) {
+				userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+						.eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
+			}
+		}
+
+		if (null != listAll && listAll.size() > 0) {
+			listAll.sort(Comparator.comparing(UserDeliverOrderVO::getOrderId));
+			for (UserDeliverOrderVO deliverOrder : listAll) {
+				if (null != deliverOrder && StringUtils.isNotBlank(deliverOrder.getOrderId())
+						&& StringUtils.isNotBlank(deliverOrder.getReceiver())
+						&& StringUtils.isNotBlank(deliverOrder.getTel())
+						&& StringUtils.isNotBlank(deliverOrder.getProvince())
+						&& StringUtils.isNotBlank(deliverOrder.getCity())
+						&& StringUtils.isNotBlank(deliverOrder.getArea())
+						&& StringUtils.isNotBlank(deliverOrder.getAddress()) && null != deliverOrder.getItems()
+						&& deliverOrder.getItems().size() > 0) {
+					for (UserDeliverOrderItem userDeliverOrderItem : deliverOrder.getItems()) {
+						if (null != userDeliverOrderItem) {
+							DeliverOrderExcel deliverOrderExcel = new DeliverOrderExcel();
+							deliverOrderExcel.setTitle(userDeliverOrderItem.getTitle());
+							deliverOrderExcel.setProperties(userDeliverOrderItem.getProperties());
+							deliverOrderExcel.setGoodsNum(userDeliverOrderItem.getGoodsNum());
+							deliverOrderExcel.setCreatedTime(deliverOrder.getCreatedTime());
+							deliverOrderExcel.setOrderId(deliverOrder.getOrderId());
+							deliverOrderExcel.setReceiver(deliverOrder.getReceiver());
+							deliverOrderExcel.setTel(deliverOrder.getTel());
+							String address = deliverOrder.getProvince() + deliverOrder.getCity()
+									+ deliverOrder.getArea() + deliverOrder.getAddress();
+							deliverOrderExcel.setAddress(address);
+							// deliverOrderExcel.setItemStatus(StringUtils.isNotBlank(userDeliverOrderItem.get));
+							excelList.add(deliverOrderExcel);
+						}
+					}
+				}
+			}
+		}
+		ExcelUtil<DeliverOrderExcel> util = new ExcelUtil<DeliverOrderExcel>(DeliverOrderExcel.class);
+		return util.exportExcel(excelList, "用户提货订单导出", false);
+	}
 }

+ 48 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/UserDeliverOrderQueryParam.java

@@ -0,0 +1,48 @@
+package com.qs.mp.admin.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.DeliverOrderStatusEnum;
+import lombok.Data;
+
+/**
+ * @describe 商品库实体类
+ * @auther quanshu
+ * @create 2022-03-07 20:43:44
+ */
+@ApiModel(value = "商品列表查询参数")
+@Data
+public class UserDeliverOrderQueryParam {
+
+	@ApiModelProperty(value = "用户昵称", required = false)
+	private String nickName;
+
+	@ApiModelProperty(value = "商品名称", required = false)
+	private String title;
+	
+	@ApiModelProperty(value = "订单编号", required = false)
+	private String orderId;
+	
+	@ApiModelProperty(value = "订单状态", required = false)
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private DeliverOrderStatusEnum status;
+
+	/**
+	 * 下单区间-开始时间
+	 */
+	@ApiModelProperty(value = "开始时间", required = false)
+	private Date startTime;
+	
+	/**
+	 * 下单区间-截止时间
+	 */
+	@ApiModelProperty(value = "截止时间", required = false)
+	private Date endTime;
+
+
+}

+ 74 - 0
mp-service/src/main/java/com/qs/mp/user/domain/excel/DeliverOrderExcel.java

@@ -0,0 +1,74 @@
+package com.qs.mp.user.domain.excel;
+
+import com.qs.mp.common.annotation.Excel;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * @author liugl
+ * @Date 2022/3/17
+ */
+@Data
+public class DeliverOrderExcel {
+ 
+	/**
+	   * 商品标题
+	   */
+	  @Excel(name = "商品名称")
+	  private String title;
+
+	  
+	  /**
+	   * sku 属性
+	   */
+	  @Excel(name = "规格")
+	  private String properties;
+
+
+	  /**
+	   * 商品数量
+	   */
+	  @Excel(name = "数量")
+	  private Integer goodsNum;
+	  
+	  /**
+	   * 创建时间
+	   */
+	  @Excel(name = "下单时间")
+	  private Date createdTime;
+	  
+	  @Excel(name = "订单编号")
+	  private String orderId;
+	  
+	  /**
+	   * 收货人
+	   */
+	  @Excel(name = "收货人")
+	  private String receiver;
+
+	  /**
+	   * 收货人电话
+	   */
+	  @Excel(name = "联系电话")
+	  private String tel;
+
+	  /**
+	   * (省-市-区-详细地址)
+	   */
+	  @Excel(name = "收货地址")
+	  private String address;
+	  
+
+	  /**
+	   * 订单状态
+	   */
+	  @Excel(name = "订单状态")
+	  private String status;
+	  
+	  
+	  /**
+	   * 商品发货状态, 有物流单号默认为已发货
+	   */
+	  @Excel(name = "商品发货状态")
+	  private String itemStatus;
+}

+ 8 - 8
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserDeliverOrderVO.java

@@ -1,19 +1,19 @@
 package com.qs.mp.user.domain.vo;
 
-import java.util.List;
-
 import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserDeliverOrderItem;
-
+import java.util.List;
 import lombok.Data;
 
-
 /**
- * @author liugl
+ * @author zhongcp
  * @Date 2022/3/17
  */
 @Data
-public class UserDeliverOrderVO extends UserDeliverOrder{
-
-	private List<UserDeliverOrderItem> items;
+public class UserDeliverOrderVO extends UserDeliverOrder {
+  List<UserDeliverOrderItem> items;
+  
+  // 用户昵称
+  private String nickName;
+  
 }

+ 24 - 0
mp-service/src/main/java/com/qs/mp/user/mapper/UserDeliverOrderMapper.java

@@ -1,7 +1,17 @@
 package com.qs.mp.user.mapper;
 
+import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.channel.domain.vo.ChannelVO;
 import com.qs.mp.user.domain.UserDeliverOrder;
+import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 
 /**
  * @auther quanshu
@@ -10,4 +20,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserDeliverOrderMapper extends BaseMapper<UserDeliverOrder> {
 
+	/**
+	 *  获取用户提货订单列表信息,支持翻页
+	 * @param wrapper
+	 * @return
+	 */
+	public List<UserDeliverOrderVO> selectUserDeliverOrderVoList(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	
+	/**
+	 * 查询满足筛选条件的用户提货订单数量
+	 * 
+	 * @param wrapper
+	 * @return
+	 */
+	public int selectUserDeliverOrderCount(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
 }

+ 49 - 21
mp-service/src/main/java/com/qs/mp/user/service/IUserDeliverOrderService.java

@@ -2,9 +2,17 @@ package com.qs.mp.user.service;
 
 import com.qs.mp.pay.domain.PayOrder;
 import com.qs.mp.user.domain.UserDeliverOrder;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
 import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
 
 /**
  * <p>
@@ -15,25 +23,45 @@ import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
  * @since 2022-03-07
  */
 public interface IUserDeliverOrderService extends IService<UserDeliverOrder> {
-  /**
-   * 提交奖品提货订单
-   * @param userId
-   * @param orderSettleVO
-   * @return
-   */
-  String submitOrder(Long userId, DeliverOrderSettleVO orderSettleVO);
-
-  /**
-   * 取消订单
-   * @param orderId
-   * @return
-   */
-  boolean cancelOrder(String orderId);
-
-  /**
-   * 支付成功回调
-   * @param payOrder
-   * @return
-   */
-  boolean paySuccess(PayOrder payOrder);
+	/**
+	 * 提交奖品提货订单
+	 * 
+	 * @param userId
+	 * @param orderSettleVO
+	 * @return
+	 */
+	String submitOrder(Long userId, DeliverOrderSettleVO orderSettleVO);
+
+	/**
+	 * 取消订单
+	 * 
+	 * @param orderId
+	 * @return
+	 */
+	boolean cancelOrder(String orderId);
+
+	/**
+	 * 支付成功回调
+	 * 
+	 * @param payOrder
+	 * @return
+	 */
+	boolean paySuccess(PayOrder payOrder);
+
+	/**
+	 * 获取用户提货订单列表信息,支持翻页
+	 * 
+	 * @param wrapper
+	 * @return
+	 */
+	public List<UserDeliverOrderVO> selectUserDeliverOrderVoList(Wrapper<UserDeliverOrder> wrapper);
+	
+	
+	/**
+	 * 查询满足筛选条件的用户提货订单数量
+	 * 
+	 * @param wrapper
+	 * @return
+	 */
+	public int selectUserDeliverOrderCount(Wrapper<UserDeliverOrder> wrapper);
 }

+ 13 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qs.mp.user.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.common.enums.DeliverOrderStatusEnum;
@@ -16,6 +17,7 @@ import com.qs.mp.user.domain.UserDeliverOrderItem;
 import com.qs.mp.user.domain.UserPrizeStorage;
 import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
 import com.qs.mp.user.mapper.UserDeliverOrderMapper;
 import com.qs.mp.user.service.IUserDeliverOrderItemService;
 import com.qs.mp.user.service.IUserDeliverOrderService;
@@ -133,4 +135,15 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
     Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
     return false;
   }
+
+	@Override
+	public List<UserDeliverOrderVO> selectUserDeliverOrderVoList(Wrapper<UserDeliverOrder> wrapper) {
+		return getBaseMapper().selectUserDeliverOrderVoList(wrapper);
+	}
+
+	@Override
+	public int selectUserDeliverOrderCount(Wrapper<UserDeliverOrder> wrapper) {
+		return getBaseMapper().selectUserDeliverOrderCount(wrapper);
+	}
+  
 }

+ 21 - 0
mp-service/src/main/resources/mapper/user/UserDeliverOrderMapper.xml

@@ -27,5 +27,26 @@
     <sql id="Base_Column_List">
         order_id, user_id, receiver, tel, province, city, area, address, order_num, pay_amt, freight_amt, memo, delivery_id, delivery_flow_id, status, created_time, updated_time
     </sql>
+    
+    
+    <!-- 查询用户提货订单列表 -->
+    <select id="selectUserDeliverOrderVoList" resultType="com.qs.mp.user.domain.vo.UserDeliverOrderVO">
+		select DISTINCT t1.* , t2.nick_name nickName
+		from mp_user_deliver_order t1
+		left join sys_user t2 on t1.user_id = t2.user_id
+		left join mp_user_deliver_order_item t3 on t1.order_id = t3.order_id
+		${ew.customSqlSegment}
+	</select>
+	
+	    
+    <!-- 查询满足筛选条件的用户提货订单数量 -->
+    <select id="selectUserDeliverOrderCount" resultType="integer">
+		select count(DISTINCT t1.order_id) 
+		from mp_user_deliver_order t1
+		left join sys_user t2 on t1.user_id = t2.user_id
+		left join mp_user_deliver_order_item t3 on t1.order_id = t3.order_id
+		${ew.customSqlSegment}
+	</select>
+	
 
 </mapper>