From 0696de196bc63254c2cdf37531d4378fce660d41 Mon Sep 17 00:00:00 2001 From: WangHao <43278047@qq.com> Date: Sun, 30 Aug 2020 22:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84>>=E7=B7=A8=E8=BC=AF=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E8=8F=9C=E5=8D=95,=E8=87=AA=E5=8A=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=B9=E5=BA=94=E7=9A=84=E4=B8=8A=E4=B8=8B=E7=BA=A7?= =?UTF-8?q?=E7=9B=AE=E5=BD=95,=E4=B9=A6=E7=AD=BE=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunbookmark/SqMenuController.java | 34 ++++++++++++++++--- .../com/ruoyi/bookmark/domain/SqMenu.java | 6 ++-- .../bookmark/service/ISqBookmarkService.java | 7 ++++ .../bookmark/service/ISqMenuService.java | 2 +- .../service/impl/SqBookmarkServiceImpl.java | 25 ++++++++++++-- 5 files changed, 63 insertions(+), 11 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqMenuController.java index c578acc0e..ba329c49d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqMenuController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqMenuController.java @@ -5,7 +5,9 @@ import java.util.List; import com.ruoyi.bookmark.service.ISqBookmarkService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import com.sun.org.apache.bcel.internal.generic.NEW; +import org.apache.velocity.runtime.directive.Foreach; import org.junit.Test; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -119,12 +121,34 @@ public class SqMenuController extends BaseController @PutMapping public AjaxResult edit(@RequestBody SqMenu sqMenu) { + //查询当前目录的 所有下级目录ID + Long[] downMenuid = sqMenuService.selectBymenuidsubordinateid(sqMenu.getMenuId()); + + //自身menuId >> 所有下级目录的书签数量 + int bookmarkCount =sqBookmarkService.selectByMenuIdCount(sqMenu.getMenuId()); + for (Long menuId:downMenuid){ + SqMenu menu=new SqMenu(); + menu.setMenuId(menuId); + List menulist= sqMenuService.selectSqMenuList(menu); + bookmarkCount +=menulist.get(0).getBookmarkCount(); + } + + // ================修改前,减少上级所有目录的书签统计数量=================== + //查询书签修改前的所有上级 + Long[] parentMenuidlist = sqMenuService.selectBymenuidParentid(sqMenu.getMenuId()); + if (parentMenuidlist!=null&&parentMenuidlist.length>0){ + sqMenuService.updateCountReduce(parentMenuidlist,bookmarkCount); + } + + //修改 + sqMenuService.updateSqMenu(sqMenu); + // ================修改后,增加上级所有目录的书签统计数量=================== //查询书签的所有上级 - - //查询当前移动目录的 所有下级书签数量(包括下级目录书签) - - - return toAjax(sqMenuService.updateSqMenu(sqMenu)); + Long[] parentMenuid = sqMenuService.selectBymenuidParentid(sqMenu.getMenuId()); + if (parentMenuid!=null&&parentMenuid.length>0){ + sqMenuService.updateCountAdd(parentMenuid,bookmarkCount); + } + return AjaxResult.success(); } /** diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqMenu.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqMenu.java index 090e27d46..503d827a7 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqMenu.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqMenu.java @@ -55,7 +55,7 @@ public class SqMenu /** 下级书签数量 */ @Column(name = "bookmark_count") - private Date bookmarkCount; + private Integer bookmarkCount; /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -68,11 +68,11 @@ public class SqMenu private Date updateTime; - public Date getBookmarkCount() { + public Integer getBookmarkCount() { return bookmarkCount; } - public void setBookmarkCount(Date bookmarkCount) { + public void setBookmarkCount(Integer bookmarkCount) { this.bookmarkCount = bookmarkCount; } diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkService.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkService.java index a5c56cd5b..52e834c29 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkService.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkService.java @@ -92,4 +92,11 @@ public interface ISqBookmarkService * @return */ List selectByUseridList(Long userId); + + + /** + * 根据MenuId查询当前目录下 有多少书签数量 + * @return + */ + public int selectByMenuIdCount(Long menuId); } diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqMenuService.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqMenuService.java index 849705bff..8fbbfd7ac 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqMenuService.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqMenuService.java @@ -14,7 +14,7 @@ public interface ISqMenuService /** - * 查询 目录菜单的 所有下级ID + * 查询 目录菜单的 所有下级MenuId * * @param menuId 目录ID * @return 结果 diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkServiceImpl.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkServiceImpl.java index 9bbbdf906..168fe1707 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkServiceImpl.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkServiceImpl.java @@ -115,9 +115,9 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService /** - * 修改目录下书签状态为 删除状态 + * 根据menuID 修改目录下所有书签状态为 删除状态 * - * @param + * @param menuId * @return 结果 */ @Override @@ -147,4 +147,25 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService sqBookmark.setIdelete(0); //未删除的书签 return sqBookmarkMapper.select(sqBookmark); } + + /** + * 根据MenuId查询当前目录下 有多少书签数量 + * + * @param menuId + * @return 结果 + */ + @Override + public int selectByMenuIdCount(Long menuId) + { + SqBookmark sqBookmark=new SqBookmark(); + sqBookmark.setMenuId(menuId); + List sqBookmarks=sqBookmarkMapper.select(sqBookmark); + if (sqBookmarks!=null&&!sqBookmarks.isEmpty()){ + return sqBookmarks.size(); + }else { + return 0; + } + } + + }