From 9c274b5b41af4560f00d5836ae45290fe44bd7ab Mon Sep 17 00:00:00 2001 From: wangli Date: Sun, 21 Dec 2025 18:10:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B1=95=E7=A4=BA=E6=95=88?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/controller/GalleryController.java | 13 +++ .../eu/org/biwin/screen/model/ImageGroup.java | 9 ++ src/main/resources/templates/admin.html | 76 +++++++++++++-- src/main/resources/templates/cart.html | 69 ++++++++++++-- src/main/resources/templates/index.html | 92 ++++++++++++++++--- 5 files changed, 228 insertions(+), 31 deletions(-) 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 @@ 管理后台 + +
+