From 27fc38401f9171ca63094d61e9abc0ec5a97d642 Mon Sep 17 00:00:00 2001 From: candc <1063675311@qq.com> Date: Sat, 25 Sep 2021 14:13:02 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E4=BA=86product=5F?= =?UTF-8?q?list.html=20=E4=B8=AD=E5=85=B3=E4=BA=8E=20=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9A=84=E9=93=BE=E6=8E=A5=20=3Fstatus=3D1?= =?UTF-8?q?=EF=BC=8C2=EF=BC=8C3.=202=E3=80=81=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=20ProductCategoryService=20=E4=B8=AD=20findOrCreateByCategoryS?= =?UTF-8?q?tring(String[]=20Category)=20=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E4=BE=BF=E4=BA=8E=E6=89=B9=E9=87=8F=E5=8F=91=E5=B8=83=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=97=B6=EF=BC=8C=E6=96=B0=E5=BB=BA=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProductCategoryServiceProvider.java | 45 +++++++++++++++++++ .../service/ProductCategoryService.java | 1 + .../views/admin/product/product_list.html | 6 +-- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductCategoryServiceProvider.java b/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductCategoryServiceProvider.java index e3ba59dd8..d973b1311 100644 --- a/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductCategoryServiceProvider.java +++ b/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductCategoryServiceProvider.java @@ -130,6 +130,51 @@ public class ProductCategoryServiceProvider extends JbootServiceBase findOrCreateByCategoryString(String[] Categorys) { + if (Categorys == null || Categorys.length == 0) { + return null; + } + + List productCategories = new ArrayList<>(); + + boolean needClearCache = false; + + for (String cate : Categorys) { + + if (StrUtil.isBlank(cate)) { + continue; + } + + //slug不能包含字符串点 " . ",否则url不能被访问 + String slug = cate.contains(".") + ? cate.replace(".", "_") + : cate; + + Columns columns = Columns.create("type", ProductCategory.TYPE_CATEGORY); + columns.add(Column.create("slug", slug)); + + ProductCategory productCategory = DAO.findFirstByColumns(columns); + + if (productCategory == null) { + productCategory = new ProductCategory(); + productCategory.setTitle(cate); + productCategory.setSlug(slug); + productCategory.setType(ProductCategory.TYPE_CATEGORY); + productCategory.save(); + needClearCache = true; + } + + productCategories.add(productCategory); + } + + if (needClearCache) { + AopCache.removeAll("productCategory"); + } + + return productCategories; + } + @Override public ProductCategory findFirstByTypeAndSlug(String type, String slug) { diff --git a/module-product/module-product-service/src/main/java/io/jpress/module/product/service/ProductCategoryService.java b/module-product/module-product-service/src/main/java/io/jpress/module/product/service/ProductCategoryService.java index 9db0bcb2e..3acb6014f 100644 --- a/module-product/module-product-service/src/main/java/io/jpress/module/product/service/ProductCategoryService.java +++ b/module-product/module-product-service/src/main/java/io/jpress/module/product/service/ProductCategoryService.java @@ -190,6 +190,7 @@ public interface ProductCategoryService { List findListByType(String type, String orderBy, Integer count); List findOrCreateByTagString(String[] tags); + List findOrCreateByCategoryString(String[] Category); ProductCategory findFirstByTypeAndSlug(String type, String slug); diff --git a/module-product/module-product-web/src/main/webapp/WEB-INF/views/admin/product/product_list.html b/module-product/module-product-web/src/main/webapp/WEB-INF/views/admin/product/product_list.html index bc73d8f0c..86a349e26 100644 --- a/module-product/module-product-web/src/main/webapp/WEB-INF/views/admin/product/product_list.html +++ b/module-product/module-product-web/src/main/webapp/WEB-INF/views/admin/product/product_list.html @@ -46,9 +46,9 @@ -- Gitee