Browse Source

用户提货订单物流信息封装

guanglong 3 years ago
parent
commit
d5e7ed94e8

+ 29 - 21
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java

@@ -1,42 +1,26 @@
 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.CouponTicket;
-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.admin.domain.param.UserDeliverOrderShipParam;
-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.OrderDeliverItemVO;
 import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
 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;
@@ -44,8 +28,6 @@ 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;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 
@@ -56,6 +38,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/api/v1/mp/admin/deliver/order")
@@ -123,10 +106,35 @@ public class UserDeliverOrderMgrController extends BaseApiController {
 		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())));
+		
+		List<UserDeliverOrderItem> orderItems = userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+				.eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId()));
+		
+		userDeliverOrderVO.setItems(orderItems);
+		// 获取物流详情
+		userDeliverOrderVO.setDeliverList(getDeliverItemList(order.getOrderId(), orderItems));
 		return AjaxResult.success(userDeliverOrderVO);
 	}
+	
+	// 获取物流详情
+	private List<OrderDeliverItemVO> getDeliverItemList(String orderId, List<UserDeliverOrderItem> orderItems){
+		List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
+		// 1.查询物流公司信息
+		itemList = userDeliverOrderItemService.selectOrderDeliverItemVOList(orderId);
+		// 2.查询物流包裹内的商品信息
+		if(null != itemList && itemList.size() >0 
+				&& null != orderItems && orderItems.size() >0) {
+			for(OrderDeliverItemVO itemVO : itemList) {
+				if(null != itemVO && StringUtils.isNotBlank(itemVO.getDeliveryFlowId())) {
+					List<UserDeliverOrderItem> items = orderItems.stream()
+							.filter(obj -> StringUtils.isNotBlank(obj.getDeliveryFlowId()) && obj.getDeliveryFlowId().equals(itemVO.getDeliveryFlowId())).collect(Collectors.toList());
+					itemVO.setItems(items);
+				}
+			}
+		}
+		return itemList;
+	}
+	
 
 	/**
 	 * 订单发货

+ 39 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/OrderDeliverItemVO.java

@@ -0,0 +1,39 @@
+package com.qs.mp.user.domain.vo;
+
+import com.qs.mp.user.domain.UserDeliverOrderItem;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author 用户提货订单物流信息
+ * @Date 2022/3/17
+ */
+@Data
+public class OrderDeliverItemVO {
+	
+	/**
+	   * 物流公司ID
+	   */
+	  private Long deliveryId;
+	  
+	  // 物流公司名称
+	  private  String companyName;
+
+	  /**
+	   * 公司主页
+	   */
+	  private String companyHomeUrl;
+
+	  /**
+	   * 物流查询接口
+	   */
+	  private String queryUrl;
+	  
+	  /**
+	   * 物流单号ID
+	   */
+	  private String deliveryFlowId;
+
+	  // 物流商品清单
+	  List<UserDeliverOrderItem> items;
+}

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

@@ -16,4 +16,7 @@ public class UserDeliverOrderVO extends UserDeliverOrder {
   // 用户昵称
   private String nickName;
   
+  // 物流信息
+  List<OrderDeliverItemVO> deliverList;
+  
 }

+ 13 - 1
mp-service/src/main/java/com/qs/mp/user/mapper/UserDeliverOrderItemMapper.java

@@ -1,8 +1,13 @@
 package com.qs.mp.user.mapper;
 
 import com.qs.mp.user.domain.UserDeliverOrderItem;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.user.domain.vo.OrderDeliverItemVO;
+
+import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 /**
  * @auther quanshu
  * @create 2022-03-07 20:45:43
@@ -10,4 +15,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserDeliverOrderItemMapper extends BaseMapper<UserDeliverOrderItem> {
 
+	/**
+	 * 获取用户提货订单物流列表信息
+	 * 
+	 * @param wrapper
+	 * @return
+	 */
+	public List<OrderDeliverItemVO> selectOrderDeliverItemVOList(@Param("orderId") String orderId);
 }

+ 16 - 0
mp-service/src/main/java/com/qs/mp/user/service/IUserDeliverOrderItemService.java

@@ -1,6 +1,13 @@
 package com.qs.mp.user.service;
 
+import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserDeliverOrderItem;
+import com.qs.mp.user.domain.vo.OrderDeliverItemVO;
+import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -13,4 +20,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IUserDeliverOrderItemService extends IService<UserDeliverOrderItem> {
 
+	
+	/**
+	 * 获取用户提货订单物流列表信息
+	 * 
+	 * @param wrapper
+	 * @return
+	 */
+	public List<OrderDeliverItemVO> selectOrderDeliverItemVOList(String orderId);
+	
 }

+ 10 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderItemServiceImpl.java

@@ -1,9 +1,13 @@
 package com.qs.mp.user.service.impl;
 
 import com.qs.mp.user.domain.UserDeliverOrderItem;
+import com.qs.mp.user.domain.vo.OrderDeliverItemVO;
 import com.qs.mp.user.mapper.UserDeliverOrderItemMapper;
 import com.qs.mp.user.service.IUserDeliverOrderItemService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +21,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserDeliverOrderItemServiceImpl extends ServiceImpl<UserDeliverOrderItemMapper, UserDeliverOrderItem> implements IUserDeliverOrderItemService {
 
+	@Override
+	public List<OrderDeliverItemVO> selectOrderDeliverItemVOList(String orderId) {
+		return getBaseMapper().selectOrderDeliverItemVOList(orderId);
+	}
+
+	
 }

+ 9 - 0
mp-service/src/main/resources/mapper/user/UserDeliverOrderItemMapper.xml

@@ -23,5 +23,14 @@
     <sql id="Base_Column_List">
         item_id, order_id, storage_id, goods_id, sku_id, properties, title, pic_url, goods_num, delivery_id, delivery_flow_id, created_time, updated_time
     </sql>
+    
+    
+    <!-- 查询用户提货物流清单列表 -->
+    <select id="selectOrderDeliverItemVOList" resultType="com.qs.mp.user.domain.vo.OrderDeliverItemVO">
+		select DISTINCT t1.delivery_id , t1.delivery_flow_id, t2.company_name ,t2.company_home_url ,t2.query_url
+		from mp_user_deliver_order_item t1
+		left join mp_delivery_company t2 on t1.delivery_id = t2.delivery_id
+		where t1.order_id = #{orderId} and t1.delivery_flow_id is not null
+	</select>
 
 </mapper>