wfansh 3 months ago
parent
commit
ffcf31d2d4

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/api/controller/OpenAPIController.java

@@ -31,6 +31,8 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/openapi")
@@ -69,6 +71,23 @@ public class OpenAPIController {
             adwebSiteQueryWrapper.eq("domain", adwebSites.get(0).getCode());
             List<AdwebProduct> adwebProducts =
                     adwebProductService.getBaseMapper().selectList(adwebProductQueryWrapper);
+            // 根据AdwebProduct::getProductId去重
+            adwebProducts =
+                    adwebProducts.stream()
+                            .collect(
+                                    Collectors.toMap(
+                                            AdwebProduct::getProductId,
+                                            Function.identity(),
+                                            (existing, replacement) ->
+                                                    existing.getUpdateTime()
+                                                                    .after(
+                                                                            replacement
+                                                                                    .getUpdateTime())
+                                                            ? existing
+                                                            : replacement))
+                            .values()
+                            .stream()
+                            .toList();
             return Result.ok(adwebProducts.stream().map(ProductInfoVO::fromAdwebProduct).toList());
         } else {
             return Result.error("未找到该站点!");