From ae6d354b6f946686eb4f682c5745aaa6255d78e0 Mon Sep 17 00:00:00 2001 From: WangHao <43278047@qq.com> Date: Mon, 15 Feb 2021 15:33:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E7=9B=AE=E5=BD=95=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E4=B9=A6=E7=AD=BE=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunbookmark/SqBookmarkController.java | 7 +--- .../yunbookmark/SqMenuController.java | 10 ++--- .../{SqMenu.java => SqMenuTest.java} | 31 ++++++++++++++- .../com/ruoyi/bookmark/domain/SqBookmark.java | 11 ++++++ .../bookmark/mapper/SqBookmarkMapper.java | 8 ++++ .../service/impl/SqBookmarkServiceImpl.java | 39 ++++++++++++------- .../service/impl/SqMenuServiceImpl.java | 11 +++--- .../mapper/bookmark/SqBookmarkMapper.xml | 4 +- .../mapper/bookmark/SqMenuMapper.xml | 2 +- 9 files changed, 89 insertions(+), 34 deletions(-) rename ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/{SqMenu.java => SqMenuTest.java} (66%) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqBookmarkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqBookmarkController.java index b5eeacae6..9147f3334 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqBookmarkController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yunbookmark/SqBookmarkController.java @@ -155,12 +155,7 @@ public class SqBookmarkController extends BaseController { SysUser sysUser=getAuthUser(); sqBookmark.setUserid(sysUser.getUserId()); - try { - sqBookmark.setUrls(ImportHtml.Urlutils(new URL(sqBookmark.getUrl()))); - } catch (MalformedURLException e) { - logger.info(sysUser.getUserId()+"新增书签 获取网址的 主机信息 报错"+new Date()); - e.printStackTrace(); - } + return toAjax(sqBookmarkService.insertSqBookmark(sqBookmark)); } 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 e457a678f..69f5a5285 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 @@ -134,11 +134,11 @@ public class SqMenuController extends BaseController sqMenuService.updateSqMenu(sqMenu); // ================修改后=================== if (parentFlag){ - String menuus = sqMenuService.addMenuUplinkSeries(menu.getMenuId()); - sqMenuService.updateSqMenu(new SqMenu(sqMenu.getMenuId(),menuus)); + String menuUplinkSeries = sqMenuService.addMenuUplinkSeries(sqMenu.getMenuId()); + sqMenuService.updateSqMenu(new SqMenu(sqMenu.getMenuId(),menuUplinkSeries)); } //添加所有上级目录的书签数量 - sqMenuService.addMenuByCountAndMenuUplinkSeries(menu.getMenuId()); +// sqMenuService.addMenuByCountAndMenuUplinkSeries(menu.getMenuId()); return AjaxResult.success(); } @@ -171,8 +171,8 @@ public class SqMenuController extends BaseController //删除 sqMenuService.deleteSqMenuById(menuId,sysUser.getUserId()); //批量减少上级所有目录的书签数量 - sqMenu.setMenuId(menuId); - sqMenuService.reduceMenuByCountAndMenuUplinkSeries(sqMenu); +// sqMenu.setMenuId(menuId); +// sqMenuService.reduceMenuByCountAndMenuUplinkSeries(sqMenu); //修改目录下的所有书签状态为 删除状态 sqBookmarkService.updateSqBookmarkBymenuId(menuId); return toAjax(1); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenu.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenuTest.java similarity index 66% rename from ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenu.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenuTest.java index efc797f21..ad44c64eb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenu.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/SqMenuTest.java @@ -1,5 +1,8 @@ package com.ruoyi.web.test.controller; +import com.ruoyi.bookmark.domain.SqBookmark; +import com.ruoyi.bookmark.domain.SqMenu; +import com.ruoyi.bookmark.mapper.SqBookmarkMapper; import com.ruoyi.bookmark.mapper.SqMenuMapper; import org.apache.velocity.runtime.directive.Foreach; import org.junit.Test; @@ -14,10 +17,12 @@ import java.util.List; * @Date: 2021/02/14 20:41 * 功能描述: */ -public class SqMenu extends BaseSpringBootTest{ +public class SqMenuTest extends BaseSpringBootTest{ @Autowired SqMenuMapper sqMenuMapper; + @Autowired + SqBookmarkMapper sqBookmarkMapper; @Test public void addMenuUplinkSeries() { @@ -46,4 +51,28 @@ public class SqMenu extends BaseSpringBootTest{ } } } + + /** + * 批量计算新的目录下书签数量 + * + * @param + * @return + */ + @Test + public void test2() { + SqMenu sqMenu2 = new SqMenu(); + sqMenu2.setUserId(1L); + List sqs = sqMenuMapper.select(sqMenu2); + for (SqMenu s : sqs) { + int count = sqBookmarkMapper.countBookMakeByMenuId(s.getMenuId()); + SqMenu sqMenu = new SqMenu(); + sqMenu.setMenuId(s.getMenuId()); + sqMenu.setBookmarkCount(count); + sqMenuMapper.updateSqMenu(sqMenu); + } + + } + + + } diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmark.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmark.java index 3219d1258..023cd2307 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmark.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmark.java @@ -88,8 +88,19 @@ public class SqBookmark @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; + @Transient + private Long parentId; + + private List> sqTags; + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } public List> getSqTags() { return sqTags; diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkMapper.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkMapper.java index af5c55ba1..c0a209eb5 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkMapper.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkMapper.java @@ -85,4 +85,12 @@ public interface SqBookmarkMapper extends MyMapper * @return 结果 */ public List selectByUseridList(Long userId); + + /** + * 根据MenuId查询当前目录下 有多少书签数量 + * + * @param menuId + * @return 结果 + */ + public int countBookMakeByMenuId(Long menuId); } 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 1397136f8..6b8c928f9 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 @@ -111,11 +111,23 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService @Override public int insertSqBookmark(SqBookmark sqBookmark) { + //获取官网urls + try { + sqBookmark.setUrls(ImportHtml.Urlutils(new URL(sqBookmark.getUrl()))); + } catch (MalformedURLException e) { + logger.info("用户ID:"+sqBookmark.getUserid()+",新增书签"+sqBookmark.getUrl()+"获取网址的 主机信息 报错 -"+new Date()); + } if(null==sqBookmark.getDescription()||"".equals(sqBookmark.getDescription())){ sqBookmark.setDescription(sqBookmark.getTitle()); } + //转换传入的父级ID + sqBookmark.setMenuId(sqBookmark.getParentId()); + int i= sqBookmarkMapper.insertSqBookmark(sqBookmark); + + //给对应目录 +1 + sqMenuMapper.updateCountAdd(new Long[]{sqBookmark.getMenuId()},1); + - int i= sqBookmarkMapper.insertSqBookmark(sqBookmark); //传入的标签 List> listmap = sqBookmark.getSqTags(); if (listmap==null||listmap.isEmpty()||listmap.size()==0){ @@ -151,11 +163,6 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService bookamrktag.setTagId(tag.getKey()); sqBookmarkTagMapper.insertSqBookmarkTag(bookamrktag); } - - //给对应目录 +1 - Long[] menuIds= new Long[1]; - menuIds[0]=sqBookmark.getMenuId(); - sqMenuMapper.updateCountAdd(menuIds,1); return i; } @@ -171,6 +178,8 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService // String deletetag = ""; // //新增的书签ID // String addtag = ""; + //未修改前的信息 + SqBookmark sqbm=sqBookmarkMapper.selectSqBookmarkById(sqBookmark.getBookmarkId()); //传入的标签 int i =sqBookmarkMapper.updateSqBookmark(sqBookmark); List> listmap = sqBookmark.getSqTags(); @@ -178,6 +187,14 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService return i; } + //是否移动目录 + if (!sqbm.getMenuId().toString().equals(sqBookmark.getMenuId().toString())){ + //给原目录 -1 + sqMenuMapper.updateCountReduce(new Long[]{sqBookmark.getMenuId()},1); + //新目录 +1 + sqMenuMapper.updateCountAdd(new Long[]{sqBookmark.getMenuId()},1); + } + //给文章添加标签 @@ -281,14 +298,8 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService @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; - } + return sqBookmarkMapper.countBookMakeByMenuId(menuId); + } /** diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqMenuServiceImpl.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqMenuServiceImpl.java index 98b0ecc6f..ec226a93b 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqMenuServiceImpl.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqMenuServiceImpl.java @@ -132,12 +132,7 @@ public class SqMenuServiceImpl implements ISqMenuService int i = sqMenuMapper.insertSqMenu(sqMenu); //更新新的目录串 if (i!=0){ - String menuUplinkSeries =""; - if("0".equals(parentId)){ - menuUplinkSeries = ","+sqMenu.getMenuId()+","; - }else{ - menuUplinkSeries = addMenuUplinkSeries(sqMenu.getMenuId()); - } + String menuUplinkSeries = addMenuUplinkSeries(sqMenu.getMenuId()); sqMenuMapper.updateSqMenu(new SqMenu(sqMenu.getMenuId(),menuUplinkSeries)); } return i; @@ -216,6 +211,10 @@ public class SqMenuServiceImpl implements ISqMenuService StringBuilder menuus=new StringBuilder(); SqMenu sqMenu = sqMenuMapper.selectSqMenuById(menuId); Long parentId = sqMenu.getParentId(); + //顶级目录 + if("0".equals(parentId.toString())){ + return ","+sqMenu.getMenuId()+","; + } //所有的上级目录ID List list= new ArrayList<>(); list.add(menuId); diff --git a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkMapper.xml b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkMapper.xml index 1a8a862c1..c53e4d375 100644 --- a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkMapper.xml +++ b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkMapper.xml @@ -126,7 +126,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where userid = #{userId} and idelete = 0 order by create_time desc - + - select sum(bookmark_count) from sq_menu where menu_uplink_series like '#{menuUplinkSeries}%' and menu_id != #{menuId}