|
|
@@ -2839,7 +2839,43 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
@Override
|
|
|
public List<FsStoreOrderExportVO> selectFsStoreOrderListVOByExport(FsStoreOrderParam param) {
|
|
|
- return fsStoreOrderMapper.selectFsStoreOrderListVOByExport(param);
|
|
|
+ // 1. 查询订单列表
|
|
|
+ List<FsStoreOrderExportVO> orderList = fsStoreOrderMapper.selectFsStoreOrderListVOByExport(param);
|
|
|
+ if (CollectionUtils.isEmpty(orderList)) {
|
|
|
+ return orderList;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 收集所有订单ID
|
|
|
+ List<Long> orderIds = orderList.stream()
|
|
|
+ .map(FsStoreOrderExportVO::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 3. 批量查询所有订单的商品
|
|
|
+ List<FsStoreOrderItemVO> allItems = fsStoreOrderItemMapper.selectByOrderIds(orderIds);
|
|
|
+
|
|
|
+ // 4. 组装 Map<订单ID, 商品列表>
|
|
|
+ Map<Long, List<FsStoreOrderItemVO>> itemMap = allItems.stream()
|
|
|
+ .collect(Collectors.groupingBy(FsStoreOrderItemVO::getOrderId));
|
|
|
+
|
|
|
+ // 5. 填充商品名称
|
|
|
+ for (FsStoreOrderExportVO order : orderList) {
|
|
|
+ List<FsStoreOrderItemVO> items = itemMap.get(order.getId());
|
|
|
+ if (items != null && !items.isEmpty()) {
|
|
|
+ List<String> productNames = new ArrayList<>();
|
|
|
+ for (FsStoreOrderItemVO item : items) {
|
|
|
+ String jsonInfoStr = item.getJsonInfo();
|
|
|
+ if (StringUtils.isNotEmpty(jsonInfoStr)) {
|
|
|
+ cn.hutool.json.JSONObject jsonInfo = cn.hutool.json.JSONUtil.parseObj(jsonInfoStr);
|
|
|
+ String productName = jsonInfo.getStr("productName");
|
|
|
+ if (StringUtils.isNotEmpty(productName)) {
|
|
|
+ productNames.add(productName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ order.setProductName(String.join(",", productNames));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return orderList;
|
|
|
}
|
|
|
|
|
|
@Override
|