diff --git a/src/main/java/eu/org/biwin/screen/controller/GalleryController.java b/src/main/java/eu/org/biwin/screen/controller/GalleryController.java index e106a6f..e3a1967 100644 --- a/src/main/java/eu/org/biwin/screen/controller/GalleryController.java +++ b/src/main/java/eu/org/biwin/screen/controller/GalleryController.java @@ -21,10 +21,12 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -153,6 +155,15 @@ public class GalleryController { File currentFolder = new File(rootPath, path); String rootAbsolutePath = new File(rootPath).getAbsolutePath(); + Set cartItemIds = Collections.emptySet(); + if (StpUtil.isLogin() && ((String) StpUtil.getLoginId()).startsWith("user-")) { + String loginId = (String) StpUtil.getLoginId(); + String authCode = loginId.substring(5); + cartItemIds = jdbcTemplate.queryForList("SELECT item_id FROM cart_items WHERE auth_code = ?", String.class, authCode) + .stream() + .collect(Collectors.toSet()); + } + List> folders = new ArrayList<>(); Map> groupedFiles = new HashMap<>(); @@ -176,6 +187,7 @@ public class GalleryController { } } + Set finalCartItemIds = cartItemIds; List imageGroups = groupedFiles.entrySet().stream() .map(entry -> { String uniqueId = entry.getKey(); @@ -183,6 +195,7 @@ public class GalleryController { Map typeMap = entry.getValue(); ImageGroup group = new ImageGroup(uniqueId, displayName); + group.setInCart(finalCartItemIds.contains(uniqueId)); java.util.function.Function getUrl = (file) -> { if (file == null) return null; diff --git a/src/main/java/eu/org/biwin/screen/model/ImageGroup.java b/src/main/java/eu/org/biwin/screen/model/ImageGroup.java index af382b9..60feabf 100644 --- a/src/main/java/eu/org/biwin/screen/model/ImageGroup.java +++ b/src/main/java/eu/org/biwin/screen/model/ImageGroup.java @@ -8,6 +8,7 @@ public class ImageGroup { private String effectImageUrl; private String templateThumbnailUrl; private String templateImageUrl; + private boolean inCart; public ImageGroup(String id, String name) { this.id = id; @@ -63,4 +64,12 @@ public class ImageGroup { public void setTemplateImageUrl(String templateImageUrl) { this.templateImageUrl = templateImageUrl; } + + public boolean isInCart() { + return inCart; + } + + public void setInCart(boolean inCart) { + this.inCart = inCart; + } } diff --git a/src/main/resources/templates/admin.html b/src/main/resources/templates/admin.html index ea05330..7d70f18 100644 --- a/src/main/resources/templates/admin.html +++ b/src/main/resources/templates/admin.html @@ -4,24 +4,66 @@ 管理后台 + +
+