优化导入
This commit is contained in:
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
*/
|
||||
@Table(name="sq_bookmark")
|
||||
@Data
|
||||
@ToString
|
||||
public class SqBookmark
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -83,7 +84,7 @@ public class SqBookmark
|
||||
|
||||
/** 0公开显示 1隐藏显示 2好友显示 3稍后再看 */
|
||||
@Excel(name = "0公开显示 1隐藏显示 2好友显示 3稍后再看")
|
||||
@Column(name = "Start")
|
||||
@Column(name = "start")
|
||||
private Integer start;
|
||||
|
||||
/** 0非星标 1星标 */
|
||||
|
@ -22,7 +22,7 @@ public interface SqBookmarkMapper extends MyMapper<SqBookmark>
|
||||
* @param userID 用户ID
|
||||
* @return 书签管理
|
||||
*/
|
||||
public List<SqBookmark> selectBymenuIdUserID(@Param("menuID") Long menuID, @Param("userID") Long userID,@Param("sort")Integer sort,@Param("sousuo") String sousuo);
|
||||
public List<SqBookmark> selectBymenuIdUserID(@Param("menuID") Long menuID, @Param("userID") Long userID,@Param("sort")Integer sort,@Param("sousuo") String sousuo,@Param("bookmarkStar") Integer bookmarkStar,@Param("start") Integer start);
|
||||
|
||||
/**
|
||||
* 查询书签管理
|
||||
|
@ -24,9 +24,11 @@ public interface ISqBookmarkService
|
||||
* @param userID 用户ID
|
||||
* @param sort 排序方式
|
||||
* @param sousou 搜索
|
||||
* @param bookmarkStar 0非星标 1星标
|
||||
* @param start 书签状态
|
||||
* @return 书签管理
|
||||
*/
|
||||
public List<SqBookmark> selectBymenuIdUserID(Long menuID,Long userID,Integer sort,String sousou);
|
||||
public List<SqBookmark> selectBymenuIdUserID(Long menuID,Long userID,Integer sort,String sousou,Integer bookmarkStar,Integer start);
|
||||
|
||||
|
||||
|
||||
@ -141,4 +143,9 @@ public interface ISqBookmarkService
|
||||
*
|
||||
* */
|
||||
List<SqBookmark> bookmarkRepetition(Long userId);
|
||||
|
||||
/**
|
||||
* 重新计算目录下的书签数量和 目录的结构
|
||||
*/
|
||||
public void bookmarkMenuCount(Long userId,Long menuId);
|
||||
}
|
||||
|
@ -74,8 +74,8 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
* @return 书签管理
|
||||
*/
|
||||
@Override
|
||||
public List<SqBookmark> selectBymenuIdUserID(Long menuID, Long userID,Integer sort,String sousou) {
|
||||
return sqBookmarkMapper.selectBymenuIdUserID(menuID,userID, sort,sousou);
|
||||
public List<SqBookmark> selectBymenuIdUserID(Long menuID, Long userID,Integer sort,String sousou,Integer bookmarkStar,Integer start) {
|
||||
return sqBookmarkMapper.selectBymenuIdUserID(menuID,userID, sort,sousou,bookmarkStar,start);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -328,6 +328,8 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
List<HtmlName> listMenu= list.stream().filter(m-> m.getState().equals("0")).collect(Collectors.toList());
|
||||
//id排序 防止已添加的父id漏修改 id升序
|
||||
listMenu.sort(Comparator.comparing(HtmlName::getId));
|
||||
//顶级目录ID
|
||||
Long k = null;
|
||||
//1.添加目录
|
||||
for (HtmlName h : listMenu) {
|
||||
String id=h.getId();
|
||||
@ -335,7 +337,7 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
SqMenu sqMenu = new SqMenu(userID,h.getTitle(),Long.valueOf(h.getParentId()), Const.MenuIocURL);
|
||||
int countId = sqMenuMapper.insertSqMenu(sqMenu);
|
||||
if(countId!=0){
|
||||
Long k=Long.valueOf(sqMenu.getMenuId().toString());
|
||||
k=Long.valueOf(sqMenu.getMenuId().toString());
|
||||
//批量修改对应的父目录id
|
||||
listMenu = ImportHtml.listFilter(listMenu,k,id);
|
||||
//批量修改对应的书签id
|
||||
@ -343,29 +345,33 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
}
|
||||
}
|
||||
//2.添加书签
|
||||
for (HtmlName h : list) {
|
||||
if (!h.getState().equals("0")&&h.getState().equals(Const.BOOKMARK_STATE_FLAG)) {
|
||||
SqBookmark sqBookmark =new SqBookmark();
|
||||
sqBookmark.setUserid(userID);
|
||||
sqBookmark.setTitle(h.getTitle());
|
||||
sqBookmark.setUrl(h.getUrl());
|
||||
try {
|
||||
try {
|
||||
for (HtmlName h : list) {
|
||||
if (!h.getState().equals("0") && h.getState().equals(Const.BOOKMARK_STATE_FLAG)) {
|
||||
SqBookmark sqBookmark = new SqBookmark();
|
||||
sqBookmark.setUserid(userID);
|
||||
sqBookmark.setTitle(StringUtils.substring(h.getTitle(), 0, 30));
|
||||
sqBookmark.setUrl(h.getUrl());
|
||||
sqBookmark.setUrls(ImportHtml.Urlutils(new URL(h.getUrl())));
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
logger.info("导入书签,获取host出错!");
|
||||
|
||||
if (StringUtils.isBlank(h.getDescription())) {
|
||||
sqBookmark.setDescription(StringUtils.substring(h.getTitle(), 0, 30));
|
||||
} else {
|
||||
sqBookmark.setDescription(StringUtils.substring(h.getDescription(), 0, 40));
|
||||
}
|
||||
sqBookmark.setMenuId(Long.valueOf(h.getParentId()));
|
||||
sqBookmark.setCreateTime(new Date());
|
||||
sqBookmarkMapper.insertSqBookmark(sqBookmark);
|
||||
}
|
||||
if(StringUtils.isBlank(h.getDescription())){
|
||||
sqBookmark.setDescription(h.getTitle());
|
||||
}else{
|
||||
sqBookmark.setDescription(h.getDescription());
|
||||
}
|
||||
sqBookmark.setMenuId(Long.valueOf(h.getParentId()));
|
||||
sqBookmark.setCreateTime(new Date());
|
||||
sqBookmarkMapper.insertSqBookmark(sqBookmark);
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
logger.info("导入书签,获取出错!");
|
||||
}
|
||||
|
||||
//3.开始计算目录的结构 和 目录的书签数量
|
||||
bookmarkMenuCount(userID,k);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -386,6 +392,35 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
public List<SqBookmark> bookmarkRepetition(Long userId) {
|
||||
return sqBookmarkMapper.bookmarkRepetition(userId);
|
||||
}
|
||||
@Override
|
||||
public void bookmarkMenuCount(Long userId,Long menuId){
|
||||
SqMenu sqMenu2 = new SqMenu();
|
||||
sqMenu2.setUserId(userId);
|
||||
// sqMenu2.setParentId(menuId);
|
||||
List<SqMenu> sqs = sqMenuMapper.select(sqMenu2);
|
||||
for (SqMenu s : sqs) {
|
||||
SqMenu sq = new SqMenu();
|
||||
sq.setParentId(s.getMenuId());
|
||||
List<SqMenu> lists = sqMenuMapper.select(sq);
|
||||
if (lists!=null&&!lists.isEmpty())
|
||||
{
|
||||
int count = sqBookmarkMapper.countBookMakeByMenuId(s.getMenuId());
|
||||
SqMenu sqMenu = new SqMenu();
|
||||
sqMenu.setMenuId(s.getMenuId());
|
||||
sqMenu.setSubordinate(1);
|
||||
sqMenu.setBookmarkCount(count);
|
||||
sqMenuMapper.updateSqMenu(sqMenu);
|
||||
}else{
|
||||
int count = sqBookmarkMapper.countBookMakeByMenuId(s.getMenuId());
|
||||
SqMenu sqMenu = new SqMenu();
|
||||
sqMenu.setMenuId(s.getMenuId());
|
||||
sqMenu.setSubordinate(0);
|
||||
sqMenu.setBookmarkCount(count);
|
||||
sqMenuMapper.updateSqMenu(sqMenu);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -145,6 +145,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="selectSqBookmarkVo"/>
|
||||
where userid=#{userID}
|
||||
<if test="sousuo == null or sousuo == ''"> and menu_id = #{menuID}</if>
|
||||
<if test="bookmarkStar != null and bookmarkStar != ''"> and bookmark_star = #{bookmarkStar}</if>
|
||||
<if test="start != null and start != ''"> and start = #{start}</if>
|
||||
<if test="sousuo != null and sousuo != ''"> and title like concat('%', #{sousuo}, '%')</if>
|
||||
order by
|
||||
<choose>
|
||||
|
Reference in New Issue
Block a user