Quellcode durchsuchen

Merge branch 'dev' of http://113.31.163.91:7777/quanshu/mp-server into dev

guanglong vor 3 Jahren
Ursprung
Commit
f62802cea1

+ 3 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelMgrController.java

@@ -81,7 +81,7 @@ public class ChannelMgrController extends BaseApiController {
 		queryWrapper.gt("t1.level", 0);
 		queryWrapper.likeRight(null != channel && StringUtils.isNotBlank(channel.getMobile()), "t1.mobile", channel.getMobile());
 		queryWrapper.likeRight(null != channel && StringUtils.isNotBlank(channel.getName()), "t1.name", channel.getName());
-		queryWrapper.orderByDesc("t1.channel_id");
+		queryWrapper.orderByAsc("t1.level").orderByDesc("t1.channel_id");
 		queryWrapper.last("limit 50");
 		list = channelService.selectChannelVoList(queryWrapper);
 		if(null != list && list.size() > 0) {
@@ -114,7 +114,7 @@ public class ChannelMgrController extends BaseApiController {
 		List<Channel> list = new ArrayList<Channel>();
 		LambdaQueryWrapper<Channel> queryWrapper = new LambdaQueryWrapper<Channel>();
 		queryWrapper.gt(Channel::getLevel, 0);
-		queryWrapper.orderByDesc(Channel::getChannelId);
+		queryWrapper.orderByAsc(Channel::getLevel).orderByDesc(Channel::getChannelId);
 		list = channelService.list(queryWrapper);
 		return AjaxResult.success(list);
 	}
@@ -140,7 +140,7 @@ public class ChannelMgrController extends BaseApiController {
 		queryWrapper.eq(null != channel && null != channel.getProvinceId(), "t1.province_id", channel.getProvinceId());
 		queryWrapper.eq(null != channel && null != channel.getCityId(), "t1.city_id", channel.getCityId());
 		queryWrapper.eq(null != channel && null != channel.getAreaId(), "t1.area_id", channel.getAreaId());
-		queryWrapper.orderByDesc("t1.channel_id");
+		queryWrapper.orderByAsc("t1.level").orderByDesc("t1.channel_id");
 		list = channelService.selectChannelVoList(queryWrapper);
 		if(null != list && list.size() > 0) {
 			for(ChannelVO channelVO : list) {

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelWithdrawMgrController.java

@@ -64,7 +64,7 @@ public class ChannelWithdrawMgrController extends BaseApiController {
     startPage();
     List<ChannelWithdrawVO> withdrawList = channelWithdrawService.listWithdrawVO(new QueryWrapper<ChannelWithdraw>()
         .eq(null != status && status != 0, "t1.status", status)
-        .eq(StringUtils.isNotBlank(name), "t2.name", name)
+        .like(StringUtils.isNotBlank(name), "t2.name", name)
         .ge(null != startDay, "t1.create_time", startDay)
         .lt(null != endDay, "t1.create_time", endDay)
         .orderByDesc("t1.create_time"));

+ 2 - 18
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java

@@ -104,27 +104,11 @@ public class UserDeliverOrderMgrController extends BaseApiController {
 		List<UserDeliverOrderItemVO> orderItems = userDeliverOrderItemService.selectUserDeliverOrderItemVOList(userDeliverOrderVO.getOrderId());
 		userDeliverOrderVO.setItems(orderItems);
 		// 获取物流详情
-		userDeliverOrderVO.setDeliverList(getDeliverItemList(order.getOrderId(), orderItems));
+		userDeliverOrderVO.setDeliverList(userDeliverOrderItemService.getDeliverItemList(order.getOrderId(), orderItems));
 		return AjaxResult.success(userDeliverOrderVO);
 	}
 
-	// 获取用户提货订单物流封装列表
-	private List<OrderDeliverItemVO> getDeliverItemList(String orderId, List<UserDeliverOrderItemVO> orderItems) {
-		List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
-		// 1.查询物流公司信息
-		itemList = userDeliverOrderItemService.selectOrderDeliverItemVOList(orderId);
-		// 2.查询物流包裹内的商品信息
-		for (OrderDeliverItemVO itemVO : itemList) {
-			for (UserDeliverOrderItemVO item : orderItems) {
-				if (itemVO.getDeliveryFlowId().equals(item.getDeliveryFlowId())) {
-					UserDeliverOrderItemVO flowItem = new UserDeliverOrderItemVO();
-					BeanUtils.copyProperties(item, flowItem);
-					itemVO.getItems().add(flowItem);
-				}
-			}
-		}
-		return itemList;
-	}
+
 
 	/**
 	 * 订单发货

+ 7 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.service.ITicketBoxService;
 import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.common.service.IDeliveryCompanyService;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
@@ -80,6 +81,9 @@ public class ChannelOrderController extends BaseApiController {
   @Autowired
   private IChannelService channelService;
 
+  @Autowired
+  private IDeliveryCompanyService deliveryCompanyService;
+
   @Autowired
   private ISysUserService sysUserService;
 
@@ -123,6 +127,9 @@ public class ChannelOrderController extends BaseApiController {
     ChannelOrderVO channelOrderVO = mapperFacade.map(channelOrder, ChannelOrderVO.class);
     channelOrderVO.setItems(channelOrderItemService.list(new LambdaQueryWrapper<ChannelOrderItem>()
         .eq(ChannelOrderItem::getOrderId, channelOrderVO.getOrderId())));
+    if (null != channelOrder.getDeliveryId() && 0 != channelOrder.getDeliveryId()) {
+      channelOrderVO.setCompanyName(deliveryCompanyService.getById(channelOrder.getDeliveryId()).getCompanyName());
+    }
     return AjaxResult.success(channelOrderVO);
   }
 

+ 22 - 6
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java

@@ -1,6 +1,8 @@
 package com.qs.mp.web.controller.api.user;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.domain.ChannelOrderItem;
@@ -12,6 +14,8 @@ import com.qs.mp.common.core.redis.RedisCache;
 import com.qs.mp.common.enums.BizTypeEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
 import com.qs.mp.common.exception.ServiceException;
+import com.qs.mp.common.service.IDeliveryCompanyService;
+import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.framework.redis.RedisKey;
 import com.qs.mp.pay.service.IWalletService;
 import com.qs.mp.user.domain.UserAddr;
@@ -29,12 +33,15 @@ 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.Arrays;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -62,6 +69,9 @@ public class UserDeliverOrderController extends BaseApiController {
   @Autowired
   private IWalletService walletService;
 
+  @Autowired
+  private IDeliveryCompanyService deliveryCompanyService;
+
   @Autowired
   private MapperFacade mapperFacade;
 
@@ -75,16 +85,22 @@ public class UserDeliverOrderController extends BaseApiController {
   @ApiOperation(value = "订单列表" , notes = "获取所有订单信息")
   public TableDataInfo list(@RequestBody JSONObject param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
-    Integer status = param.getInteger("status");
+    String status = param.getString("status");
+    List<Integer> statusList = new ArrayList<>();
+    if (StringUtils.isNotBlank(status)) {
+      String[] arr = status.split(",");
+      for (int i = 0; i < arr.length; i++) {
+        statusList.add(Integer.valueOf(arr[i]));
+      }
+    }
     startPage();
     List<UserDeliverOrder> deliverOrders = userDeliverOrderService.list(
         new LambdaQueryWrapper<UserDeliverOrder>().eq(UserDeliverOrder::getUserId, userId)
-            .eq(null != status, UserDeliverOrder::getStatus, status)
+            .in(!CollectionUtils.isEmpty(statusList), UserDeliverOrder::getStatus, statusList)
             .orderByDesc(UserDeliverOrder::getCreatedTime));
     List<DeliverOrderVO> deliverOrderVOList = mapperFacade.mapAsList(deliverOrders, DeliverOrderVO.class);
     for (DeliverOrderVO deliverOrderVO : deliverOrderVOList) {
-      deliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-          .eq(UserDeliverOrderItem::getOrderId, deliverOrderVO.getOrderId())));
+      deliverOrderVO.setItems(userDeliverOrderItemService.selectUserDeliverOrderItemVOList(deliverOrderVO.getOrderId()));
     }
     TableDataInfo rspData = getDataTable(deliverOrders);
     rspData.setRows(deliverOrderVOList);
@@ -101,8 +117,8 @@ public class UserDeliverOrderController extends BaseApiController {
     UserDeliverOrder deliverOrder = userDeliverOrderService.getOne(new LambdaQueryWrapper<UserDeliverOrder>()
         .eq(UserDeliverOrder::getOrderId, order.getOrderId()).eq(UserDeliverOrder::getUserId, userId));
     DeliverOrderVO deliverOrderVO = mapperFacade.map(deliverOrder, DeliverOrderVO.class);
-    deliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-        .eq(UserDeliverOrderItem::getOrderId, deliverOrderVO.getOrderId())));
+    deliverOrderVO.setItems(userDeliverOrderItemService.selectUserDeliverOrderItemVOList(deliverOrder.getOrderId()));
+    deliverOrderVO.setDeliverList(userDeliverOrderItemService.getDeliverItemList(order.getOrderId(), deliverOrderVO.getItems()));
     return AjaxResult.success(deliverOrderVO);
   }
 

+ 36 - 27
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -10,6 +10,7 @@ import com.qs.mp.admin.domain.param.TicketBoxParam;
 import com.qs.mp.admin.domain.param.TicketParam;
 import com.qs.mp.admin.domain.vo.TicketBoxListVO;
 import com.qs.mp.admin.domain.vo.TicketBoxVO;
+import com.qs.mp.admin.domain.vo.TicketListVO;
 import com.qs.mp.admin.domain.vo.TicketVO;
 import com.qs.mp.admin.service.ITicketAwardsPrizeService;
 import com.qs.mp.admin.service.ITicketBoxService;
@@ -20,7 +21,6 @@ import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.TicketBoxStatusEnum;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.utils.StringUtils;
-import com.qs.mp.user.domain.UserDeliverOrderItem;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.service.IUserHitPrizeService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
@@ -32,7 +32,6 @@ import java.util.List;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -68,15 +67,17 @@ public class UserTicketController extends BaseApiController {
    * 盲票进货列表
    */
   @PostMapping("/mall/ticket/list")
-  @ApiOperation(value = "盲票组列表" , notes = "获取所有盲票信息")
+  @ApiOperation(value = "盲票组列表", notes = "获取所有盲票信息")
   public TableDataInfo list(@RequestBody TicketBoxParam param) {
     // TODO 根据标签过滤
     startPage();
     List<TicketBox> ticketBoxes = ticketBoxService.list(
         new LambdaQueryWrapper<TicketBox>().eq(TicketBox::getType, param.getType())
-            .eq(null != param.getCategoryId() && 0 != param.getCategoryId(), TicketBox::getCategoryId, param.getCategoryId())
+            .eq(null != param.getCategoryId() && 0 != param.getCategoryId(),
+                TicketBox::getCategoryId, param.getCategoryId())
             .eq(TicketBox::getStatus, TicketBoxStatusEnum.PUT_ON));
-    List<TicketBoxListVO> ticketBoxListVOList = mapperFacade.mapAsList(ticketBoxes, TicketBoxListVO.class);
+    List<TicketBoxListVO> ticketBoxListVOList = mapperFacade.mapAsList(ticketBoxes,
+        TicketBoxListVO.class);
     TableDataInfo rspData = getDataTable(ticketBoxes);
     rspData.setRows(ticketBoxListVOList);
     return rspData;
@@ -87,15 +88,16 @@ public class UserTicketController extends BaseApiController {
    * 查看盲票详情
    */
   @PostMapping("/mall/ticket/detail")
-  @ApiOperation(value = "查看盲票详情" , notes = "根据盲票组ID,获取盲票信息")
+  @ApiOperation(value = "查看盲票详情", notes = "根据盲票组ID,获取盲票信息")
   public AjaxResult getInfo(@RequestBody TicketBoxParam param) {
     if (StringUtils.isBlank(param.getBoxId())) {
       return AjaxResult.error("参数异常,盲票组ID缺失");
     }
     TicketBox ticketBox = ticketBoxService.getById(param.getBoxId());
     TicketBoxVO ticketBoxVO = mapperFacade.map(ticketBox, TicketBoxVO.class);
-    ticketBoxVO.setPrizeList(ticketAwardsPrizeService.listPrizeVO(new QueryWrapper<TicketAwardsPrize>()
-        .eq("t1.box_id", ticketBox.getBoxId()).orderByAsc("t1.sort").orderByDesc("t2.value")));
+    ticketBoxVO.setPrizeList(
+        ticketAwardsPrizeService.listPrizeVO(new QueryWrapper<TicketAwardsPrize>()
+            .eq("t1.box_id", ticketBox.getBoxId()).orderByAsc("t1.sort").orderByDesc("t2.value")));
     return AjaxResult.success(ticketBoxVO);
   }
 
@@ -103,14 +105,15 @@ public class UserTicketController extends BaseApiController {
    * 扫码查看盲票幸运数字
    */
   @PostMapping("/ticket/queryLuckyNum")
-  @ApiOperation(value = "查看盲票幸运数字" , notes = "根据盲票组ID,获取盲票幸运数字")
+  @ApiOperation(value = "查看盲票幸运数字", notes = "根据盲票组ID,获取盲票幸运数字")
   public AjaxResult queryLuckyNum(@RequestBody TicketParam param) {
 
     if (StringUtils.isBlank(param.getSerialNo())) {
       return AjaxResult.error("参数异常,盲票序列号缺失");
     }
 
-    Ticket ticket = ticketService.getOne(new LambdaQueryWrapper<Ticket>().eq(Ticket::getSerialNo, param.getSerialNo()));
+    Ticket ticket = ticketService.getOne(
+        new LambdaQueryWrapper<Ticket>().eq(Ticket::getSerialNo, param.getSerialNo()));
     if (null == ticket) {
       return AjaxResult.error("参数异常,盲票不存在");
     }
@@ -119,8 +122,6 @@ public class UserTicketController extends BaseApiController {
       return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
     }*/
 
-
-
     TicketBox ticketBox = ticketBoxService.getById(ticket.getBoxId());
 
     TicketVO ticketVO = new TicketVO();
@@ -139,26 +140,33 @@ public class UserTicketController extends BaseApiController {
     return AjaxResult.success(ticketVO);
   }
 
+  /**
+   * 根据盲票购买订单号查看盲票详情
+   */
+  @PostMapping("/ticket/query")
+  @ApiOperation(value = "查看盲票详情", notes = "根据盲票购买订单号,查看盲票详情")
+  public AjaxResult queryTicket(@RequestBody TicketParam param) {
+    Long userId = SecurityUtils.getLoginUser().getUserId();
+    if (StringUtils.isBlank(param.getOrderId())) {
+      return AjaxResult.error("参数缺失");
+    }
+
+    TicketListVO ticketListVO = userTicketOrderItemService.queryTicketVO(userId,
+        param.getOrderId());
+    return AjaxResult.success(ticketListVO);
+  }
+
   /**
    * 查看能兑奖的奖品
    */
   @PostMapping("/ticket/queryHitPrizeList")
-  @ApiOperation(value = "查看兑奖奖品" , notes = "根据盲票ID,查看兑奖奖品")
+  @ApiOperation(value = "查看兑奖奖品", notes = "根据盲票ID,查看兑奖奖品")
   public AjaxResult queryHitPrizeList(@RequestBody TicketParam param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
-    if (StringUtils.isBlank(param.getTicketId()) && StringUtils.isBlank(param.getOrderId())) {
+    if (StringUtils.isBlank(param.getTicketId())) {
       return AjaxResult.error("参数缺失");
     }
-    String ticketId = param.getTicketId();
-    if (StringUtils.isBlank(ticketId)) {
-      List<UserTicketOrderItem> orderItemList = userTicketOrderItemService.list(new LambdaQueryWrapper<UserTicketOrderItem>()
-          .eq(UserTicketOrderItem::getOrderId, param.getOrderId()));
-      if (CollectionUtils.isEmpty(orderItemList)) {
-        return AjaxResult.error("参数异常,盲票不存在");
-      }
-      ticketId = orderItemList.get(0).getTicketId();
-    }
-    Ticket ticket = ticketService.getById(ticketId);
+    Ticket ticket = ticketService.getById(param.getTicketId());
 
     if (null == ticket) {
       return AjaxResult.error("参数异常,盲票不存在");
@@ -170,7 +178,8 @@ public class UserTicketController extends BaseApiController {
       return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1019);
     }
     // 已付款的盲票,需要校验当前用户是否有权限查看
-    UserTicketOrderItem orderItem = userTicketOrderItemService.queryFinishedOrderItem(userId, ticket.getTicketId());
+    UserTicketOrderItem orderItem = userTicketOrderItemService.queryFinishedOrderItem(userId,
+        ticket.getTicketId());
     if (null == orderItem) {
       return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1018);
     }
@@ -186,11 +195,11 @@ public class UserTicketController extends BaseApiController {
    * 兑奖
    */
   @PostMapping("/ticket/cashPrize")
-  @ApiOperation(value = "兑奖" , notes = "选择奖品兑奖")
+  @ApiOperation(value = "兑奖", notes = "选择奖品兑奖")
   public AjaxResult cashPrize(@RequestBody TicketParam param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
     if (StringUtils.isBlank(param.getTicketId()) || StringUtils.isBlank(param.getAwardsId())
-    || StringUtils.isBlank(param.getPrizeId())) {
+        || StringUtils.isBlank(param.getPrizeId())) {
       return AjaxResult.error("参数缺失");
     }
 

+ 1 - 1
mp-admin/src/main/resources/application-test.yml

@@ -96,7 +96,7 @@ server:
   # 生成唯一ID的,同一Mac地址多应用的部署方式,用这个进行区分
   datacenterId: 1
   # 环境标识
-  env: prod
+  env: test
 
 
 #API访问

+ 1 - 1
mp-admin/src/test/java/com/qs/mp/service/ServiceImplTest.java

@@ -36,7 +36,7 @@ public class ServiceImplTest {
 
   @Test
   public void testGenerateQrCode() {
-    System.out.println(wxUrlLinkService.generateCode("pages/index/index", "id=1", "wx8533800e393dbd6b"));
+    System.out.println(wxUrlLinkService.generateCode("pages/index/index", "id=1", "wxc3a684f1196f6e15"));
 
   }
 

+ 3 - 3
mp-common/src/main/java/com/qs/mp/common/jsms/JSMSUtils.java

@@ -87,7 +87,7 @@ public class JSMSUtils {
         try {
             if (ServerEnvEnum.PROD.getCode().equals(env)) {
                 SendSMSResult res = client.sendTemplateSMS(payload);
-                LogUtil.info(logger, "账单支付失败短信发送,mobile:{0}, res:{1}", new Object[]{mobile, JSON.toJSONString(res)});
+                LogUtil.info(logger, "短信发送,mobile:{0}, res:{1}", new Object[]{mobile, JSON.toJSONString(res)});
                 return res;
             } else {
                 logger.info("非生产环境,不发送短信!" + mobile + "," + tempId);
@@ -95,9 +95,9 @@ public class JSMSUtils {
 
             }
         } catch (APIConnectionException e) {
-            LogUtil.error(logger, e, "账单支付失败短信发送失败,mobile:{0}", mobile);
+            LogUtil.error(logger, e, "短信发送失败,mobile:{0}", mobile);
         } catch (APIRequestException e) {
-            LogUtil.error(logger, e, "账单支付失败短信发送失败,mobile:{0}", mobile);
+            LogUtil.error(logger, e, "短信发送失败,mobile:{0}", mobile);
         }
         return null;
     }

+ 4 - 2
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelOrderVO.java

@@ -11,8 +11,10 @@ import lombok.Data;
  */
 @Data
 public class ChannelOrderVO extends ChannelOrder {
-	
+
   private List<ChannelOrderItem> items;
-  
+
   private String channelName;  // 经销商名称
+
+  private String companyName; // 物流公司名称
 }

+ 1 - 1
mp-service/src/main/java/com/qs/mp/framework/service/impl/WxUrlLinkServiceImpl.java

@@ -100,7 +100,7 @@ public class WxUrlLinkServiceImpl implements IWxUrlLinkService {
     param.put("path", path + "?" + scene); // 页面路径
     //param.put("scene", scene); // 参数
 //    param.put("check_path", true);// 为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);为 false 时允许小程序未发布或者 page 不存在
-    param.put("env_version", "trial");
+//    param.put("env_version", "release");
     // 获取access_token
     String accessToken = appTokenService.getAccessToken(appId);
     InputStream in = HttpUtils.sendImagePost(

+ 3 - 1
mp-service/src/main/java/com/qs/mp/user/domain/vo/DeliverOrderVO.java

@@ -11,5 +11,7 @@ import lombok.Data;
  */
 @Data
 public class DeliverOrderVO extends UserDeliverOrder {
-  List<UserDeliverOrderItem> items;
+  List<UserDeliverOrderItemVO> items;
+  // 物流信息
+  List<OrderDeliverItemVO> deliverList;
 }

+ 18 - 9
mp-service/src/main/java/com/qs/mp/user/service/IUserDeliverOrderItemService.java

@@ -21,21 +21,30 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IUserDeliverOrderItemService extends IService<UserDeliverOrderItem> {
 
-	
+
 	/**
 	 * 获取用户提货订单物流列表信息
-	 * 
-	 * @param wrapper
+	 *
+	 * @param orderId
 	 * @return
 	 */
-	public List<OrderDeliverItemVO> selectOrderDeliverItemVOList(String orderId);
-	
+	List<OrderDeliverItemVO> selectOrderDeliverItemVOList(String orderId);
+
 	/**
 	 * 获取用户提货订单明细列表信息
-	 * 
-	 * @param wrapper
+	 *
+	 * @param orderId
+	 * @return
+	 */
+	List<UserDeliverOrderItemVO> selectUserDeliverOrderItemVOList(String orderId);
+
+
+	/**
+	 * 查询发货列表
+	 * @param orderId
+	 * @param orderItems
 	 * @return
 	 */
-	public List<UserDeliverOrderItemVO> selectUserDeliverOrderItemVOList(String orderId);
-	
+	List<OrderDeliverItemVO> getDeliverItemList(String orderId, List<UserDeliverOrderItemVO> orderItems);
+
 }

+ 7 - 0
mp-service/src/main/java/com/qs/mp/user/service/IUserTicketOrderItemService.java

@@ -40,4 +40,11 @@ public interface IUserTicketOrderItemService extends IService<UserTicketOrderIte
    * @return
    */
   int countMyTicket(Long userId, TicketStatusEnum status);
+
+  /**
+   * 查询盲票详情
+   * @param orderId
+   * @return
+   */
+  TicketListVO queryTicketVO(Long userId, String orderId);
 }

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

@@ -7,8 +7,10 @@ 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.ArrayList;
 import java.util.List;
 
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 /**
@@ -31,4 +33,22 @@ public class UserDeliverOrderItemServiceImpl extends ServiceImpl<UserDeliverOrde
 	public List<UserDeliverOrderItemVO> selectUserDeliverOrderItemVOList(String orderId) {
 		return getBaseMapper().selectUserDeliverOrderItemVOList(orderId);
 	}
+
+	@Override
+	public List<OrderDeliverItemVO> getDeliverItemList(String orderId, List<UserDeliverOrderItemVO> orderItems) {
+		List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
+		// 1.查询物流公司信息
+		itemList = selectOrderDeliverItemVOList(orderId);
+		// 2.查询物流包裹内的商品信息
+		for (OrderDeliverItemVO itemVO : itemList) {
+			for (UserDeliverOrderItemVO item : orderItems) {
+				if (itemVO.getDeliveryFlowId().equals(item.getDeliveryFlowId())) {
+					UserDeliverOrderItemVO flowItem = new UserDeliverOrderItemVO();
+					BeanUtils.copyProperties(item, flowItem);
+					itemVO.getItems().add(flowItem);
+				}
+			}
+		}
+		return itemList;
+	}
 }

+ 11 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderItemServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.vo.TicketListVO;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.enums.UserTicketOrderStatusEnum;
+import com.qs.mp.common.exception.ServiceException;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.mapper.UserTicketOrderItemMapper;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
@@ -47,4 +48,14 @@ public class UserTicketOrderItemServiceImpl extends ServiceImpl<UserTicketOrderI
         .eq("t1.user_id", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
         .eq("t3.status", status));
   }
+
+  @Override
+  public TicketListVO queryTicketVO(Long userId, String orderId) {
+    List<TicketListVO> ticketListVOS = getBaseMapper().listMyTicketVO(new QueryWrapper<UserTicketOrderItem>()
+        .eq("t1.user_id", userId).eq("t1.order_id", orderId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED));
+    if (CollectionUtils.isEmpty(ticketListVOS)) {
+      throw new ServiceException("订单不存在");
+    }
+    return ticketListVOS.get(0);
+  }
 }