xdd 1 tydzień temu
rodzic
commit
4d150f98ab

+ 15 - 0
fs-service-system/src/main/java/com/fs/live/mapper/LiveAfterSalesMapper.java

@@ -5,10 +5,12 @@ import com.fs.live.domain.LiveAfterSales;
 import com.fs.live.param.LiveAfterSalesListUParam;
 import com.fs.live.vo.LiveAfterSalesListUVO;
 import com.fs.live.vo.LiveAfterSalesVo;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 售后记录Mapper接口
@@ -91,4 +93,17 @@ public interface LiveAfterSalesMapper {
     List<LiveAfterSales> selectLiveAfterSalesByDoAudit();
 
     List<LiveAfterSalesVo> selectLiveAfterSalesVoList(LiveAfterSalesVo liveAfterSales);
+
+
+    @Select({
+            "<script>",
+            "select id,order_id from live_after_sales ",
+            "where order_id in",
+            "<foreach collection='orderIdList' item='orderId' open='(' separator=',' close=')'>",
+            "#{orderId}",
+            "</foreach>",
+            "</script>"
+    })
+    @MapKey("orderId")
+    Map<Long, LiveAfterSales> findByOrderIds(@Param("orderIdList") List<Long> orderIdList);
 }

+ 16 - 6
fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -741,17 +741,25 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
     @Override
     public List<LiveOrderListVo> selectLiveOrderListVo(LiveOrder liveOrder) {
         List<LiveOrderListVo> liveOrders = baseMapper.selectLiveOrderListVo(liveOrder.getUserId(),liveOrder.getStatus());
-        List<Long> collect = liveOrders.stream().map(LiveOrderListVo::getOrderId)
+        List<Long> allOrderIds = liveOrders.stream().map(LiveOrderListVo::getOrderId)
                 .filter(Objects::nonNull).collect(Collectors.toList());
 
-        if(CollectionUtils.isEmpty(collect)) {
+        List<Long> recvIdList = liveOrders.stream().filter(e -> Objects.equals(e.getStatus(), 3))
+                .map(LiveOrderListVo::getOrderId)
+                .filter(Objects::nonNull)
+                .collect(Collectors.toList());
+
+        if(CollectionUtils.isEmpty(allOrderIds)) {
             return Collections.emptyList();
         }
         Map<Long, FsStoreDelivers> byOrderIdWithTypeBatch = fsStoreDeliversMapper
-                .findByOrderIdWithTypeBatch(collect, 1);
+                .findByOrderIdWithTypeBatch(allOrderIds, 1);
+        Map<Long,LiveAfterSales> liveAfterSalesMap = liveAfterSalesMapper.findByOrderIds(recvIdList);
+
 
         for (LiveOrderListVo order : liveOrders) {
             FsStoreDelivers delivers = byOrderIdWithTypeBatch.get(order.getOrderId());
+
             if(ObjectUtil.isNotNull(delivers)) {
                 order.setDeliveryCode(delivers.getDeliverSn());
                 order.setDeliveryName(delivers.getDeliverName());
@@ -765,13 +773,15 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                 order.setDeliveryStatus(null);
                 order.setDeliveryType(null);
             }
-
+            LiveAfterSales liveAfterSales = liveAfterSalesMap.get(order.getOrderId());
+            if(ObjectUtil.isNotNull(liveAfterSales)) {
+                order.setAfterSaleId(liveAfterSales.getId());
+            }
         }
         if (liveOrders.isEmpty()) {
             return liveOrders;
         }
-        List<Long> orderIds = liveOrders.stream().map(LiveOrderListVo::getOrderId).collect(Collectors.toList());
-        List<LiveOrderItemVo> liveOrderItems = liveOrderItemMapper.selectLiveOrderItemByOrderIds(orderIds);
+        List<LiveOrderItemVo> liveOrderItems = liveOrderItemMapper.selectLiveOrderItemByOrderIds(allOrderIds);
 
         liveOrders.forEach(item -> {
             item.setOrderItemList(liveOrderItems.stream().filter(liveOrderItem -> liveOrderItem.getOrderId().equals(item.getOrderId())).collect(Collectors.toList()));

+ 5 - 0
fs-service-system/src/main/java/com/fs/live/vo/LiveOrderListVo.java

@@ -313,4 +313,9 @@ public class LiveOrderListVo extends BaseEntity {
     private String orderKey;
 
     private List<LiveOrderItemVo> orderItemList;
+
+    /**
+     * 售后id
+     */
+    private Long afterSaleId;
 }