Prechádzať zdrojové kódy

pc端订单列表提供拼团信息

yubin 1 týždeň pred
rodič
commit
a9fde06d93

+ 19 - 2
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -865,12 +865,12 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         OrderInfoDetailVO detailVo = new OrderInfoDetailVO();
         detailVo.setProductId(storeCombination.getProductId());
         detailVo.setVipPrice(storeCombination.getPrice());
-        detailVo.setProductName(storeCombination.getTitle());
+        detailVo.setProductName(storeCombination.getProductName());
         detailVo.setAttrValueId(combinationAttrValue.getId());
         detailVo.setSku(combinationAttrValue.getSuk());
         detailVo.setPrice(combinationAttrValue.getPrice());
         detailVo.setPayNum(detailRequest.getProductNum());
-        detailVo.setImage(StrUtil.isNotBlank(combinationAttrValue.getImage()) ? combinationAttrValue.getImage() : combinationAttrValue.getImage());
+        detailVo.setImage(StrUtil.isNotBlank(combinationAttrValue.getImage()) ? combinationAttrValue.getImage() : storeCombination.getImage());
         detailVo.setVolume(combinationAttrValue.getVolume());
         detailVo.setWeight(combinationAttrValue.getWeight());
         detailVo.setTempId(storeCombination.getTempId());
@@ -1177,6 +1177,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         List<StoreOrderInfo> infoArrayList = new ArrayList<>();
         List<StoreOrderStatus> statusList = new ArrayList<>();
         List<UserAddress> addressList = new ArrayList<>();
+        Map<Long, StorePink> storePinkMap = new HashMap<>();
         if (CollectionUtils.isNotEmpty(list)) {
             Condition infoCondition = new Condition(StoreOrderInfo.class);
             Example.Criteria infoCriteria = infoCondition.createCriteria();
@@ -1197,10 +1198,23 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             addressCriteria.andIn("id", collect);
            }
             addressList = userAddressService.findByCondition(addressCondition);
+
+
+            Condition infoConditionStorePink = new Condition(StorePink.class);
+            Example.Criteria infoCriteriaStorePink = infoConditionStorePink.createCriteria();
+            infoCriteriaStorePink.andEqualTo("isDelete", 0);
+            infoCriteriaStorePink.andIn("orderIdKey", list.stream().map(StoreOrder::getId).collect(Collectors.toList()));
+            List<StorePink> byCondition = storePinkService.findByCondition(infoConditionStorePink);
+            if(!org.springframework.util.CollectionUtils.isEmpty(byCondition)){
+                storePinkMap = byCondition.stream().collect(Collectors.toMap(StorePink::getOrderIdKey, a -> a, (b, c) -> c));
+            }
+
+
         }
         List<StoreOrderInfo> finalInfoArrayList = infoArrayList;
         List<StoreOrderStatus> finalStatusList = statusList;
         List<UserAddress> finalAddressList = addressList;
+        Map<Long, StorePink> finalStorePinkMap = storePinkMap;
         list.forEach(item -> {
             StoreOrderVO vo = new StoreOrderVO();
             BeanUtils.copyProperties(item, vo);
@@ -1209,6 +1223,9 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             vo.setOrderStatusVO(finalStatusList.stream().filter(status -> status.getOid().equals(item.getId())).collect(Collectors.toList()));
             vo.setBrokerage(BigDecimal.ONE);
             vo.setOrderAddressVO(finalAddressList.stream().filter(address -> address.getId().equals(item.getAddressId())).findFirst().orElse(null));
+            vo.setStorePink(finalStorePinkMap.get(item.getId()));
+
+
             arrayList.add(vo);
         });
         storeOrderPageInfo.setList(arrayList);