diff --git a/module-product/module-product-service-api/src/main/java/io/jpress/module/product/service/ProductService.java b/module-product/module-product-service-api/src/main/java/io/jpress/module/product/service/ProductService.java index c011be64cae656aa05b20593eb0f93b6c8fd1bb8..ee85d7f610469cd54c8b6a728c6dd53f700ebd85 100644 --- a/module-product/module-product-service-api/src/main/java/io/jpress/module/product/service/ProductService.java +++ b/module-product/module-product-service-api/src/main/java/io/jpress/module/product/service/ProductService.java @@ -100,4 +100,6 @@ public interface ProductService { public Product findFirstBySlug(String slug); public long findCountByStatus(String status); + + public boolean deleteByIds(Object... ids); } \ No newline at end of file diff --git a/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductServiceProvider.java b/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductServiceProvider.java index 4b1ea4187824ca63853335323e17d426c23d3586..519db3cb8e34b923b3341e88ede4579ac55a04b2 100644 --- a/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductServiceProvider.java +++ b/module-product/module-product-service-provider/src/main/java/io/jpress/module/product/service/provider/ProductServiceProvider.java @@ -159,6 +159,14 @@ public class ProductServiceProvider extends JbootServiceBase implements return Db.queryInt("select count(*) from product where status = ?", status); } + @Override + public boolean deleteByIds(Object... ids) { + for (Object id : ids) { + deleteById(id); + } + return true; + } + private Page joinUserInfo(Page page) { userService.join(page, "user_id"); diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductCommentController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductCommentController.java index 9e20d5e00df8bbc13a2a82036e083042e1667b52..1faed5f9f0dbcdd3f1dfa6cb4ce7b11fedbc6fb3 100644 --- a/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductCommentController.java +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductCommentController.java @@ -19,6 +19,8 @@ import com.jfinal.aop.Inject; import com.jfinal.kit.Ret; import com.jfinal.plugin.activerecord.Page; import io.jboot.web.controller.annotation.RequestMapping; +import io.jboot.web.validate.EmptyValidate; +import io.jboot.web.validate.Form; import io.jpress.JPressConsts; import io.jpress.core.menu.annotation.AdminMenu; import io.jpress.module.product.model.ProductComment; @@ -75,8 +77,8 @@ public class _ProductCommentController extends AdminControllerBase { render(productCommentService.deleteById(id) ? Ret.ok() : Ret.fail()); } + @EmptyValidate(@Form(name = "ids")) public void doDelByIds(){ - Set idsSet = getParaSet("ids"); render(productCommentService.deleteByIds(idsSet.toArray()) ? OK : FAIL); } diff --git a/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductController.java b/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductController.java index 20d8d4ab8c28b4c8426bdd7c70b10c456f108ad4..edbbb6d47256dd4d8bf24812d36c6a28d22073b4 100644 --- a/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductController.java +++ b/module-product/module-product-web/src/main/java/io/jpress/module/product/controller/_ProductController.java @@ -20,6 +20,8 @@ import com.jfinal.kit.Ret; import com.jfinal.plugin.activerecord.Page; import io.jboot.utils.StrUtil; import io.jboot.web.controller.annotation.RequestMapping; +import io.jboot.web.validate.EmptyValidate; +import io.jboot.web.validate.Form; import io.jpress.JPressConsts; import io.jpress.commons.layer.SortKit; import io.jpress.core.menu.annotation.AdminMenu; @@ -35,6 +37,7 @@ import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import java.util.List; +import java.util.Set; @RequestMapping(value = "/admin/product", viewPath = JPressConsts.DEFAULT_ADMIN_VIEW) @@ -225,4 +228,10 @@ public class _ProductController extends AdminControllerBase { Long id = getIdPara(); render(productService.doChangeStatus(id, Product.STATUS_NORMAL) ? OK : FAIL); } + + @EmptyValidate(@Form(name = "ids")) + public void doDelByIds() { + Set idsSet = getParaSet("ids"); + render(productService.deleteByIds(idsSet.toArray()) ? OK : FAIL); + } } \ No newline at end of file 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 c53cf4cf6f1b3a6f994c936c861ad259f354464d..8ca9eee1942c84b4bf294f7c66b6617a7a8f97fd 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 @@ -17,7 +17,7 @@ function del(id) { if (confirm('确定要删除该产品吗?删除后不可恢复')) { - ajaxGet("#(CPATH)/admin/article/doDel/" + id); + ajaxGet("#(CPATH)/admin/product/doDel/" + id); } } @@ -28,7 +28,7 @@ return } if (confirm('确定要删除该产品吗?删除后不可恢复')) { - ajaxGet("#(CPATH)/admin/article/doDelByIds?ids=" + ids); + ajaxGet("#(CPATH)/admin/product/doDelByIds?ids=" + ids); } })