diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkInsertEsConsumer.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkInsertEsConsumer.java index 16d6cac..6d40f0f 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkInsertEsConsumer.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkInsertEsConsumer.java @@ -21,6 +21,7 @@ import java.util.stream.Collectors; * Created By Fxb * Date: 2020/3/29 * Time: 11:34 + * @author fanxb */ @MqConsumer(RedisConstant.BOOKMARK_INSERT_ES) public class BookmarkInsertEsConsumer implements RedisConsumer { diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkVisitNumPlusConsumer.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkVisitNumPlusConsumer.java new file mode 100644 index 0000000..c97d622 --- /dev/null +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/consumer/BookmarkVisitNumPlusConsumer.java @@ -0,0 +1,38 @@ +package com.fanxb.bookmark.business.bookmark.consumer; + +import com.fanxb.bookmark.business.bookmark.dao.BookmarkDao; +import com.fanxb.bookmark.common.annotation.MqConsumer; +import com.fanxb.bookmark.common.constant.RedisConstant; +import com.fanxb.bookmark.common.entity.redis.RedisConsumer; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 更新书签时间 + * Created with IntelliJ IDEA + * Created By Fxb + * Date: 2020/5/12 + * Time: 10:33 + * + * @author fanxb + */ +@MqConsumer(RedisConstant.BOOKMARK_VISIT_NUM_PLUS) +@Slf4j +public class BookmarkVisitNumPlusConsumer implements RedisConsumer { + + private final BookmarkDao bookmarkDao; + + @Autowired + public BookmarkVisitNumPlusConsumer(BookmarkDao bookmarkDao) { + this.bookmarkDao = bookmarkDao; + } + + @Override + public void deal(String message) { + try { + bookmarkDao.updateVisitNum(Integer.parseInt(message)); + } catch (Exception e) { + log.error("书签访问次数增加失败:{}", e.getMessage()); + } + } +} diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkController.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkController.java index 1d5eed4..b48aa8e 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkController.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/controller/BookmarkController.java @@ -161,4 +161,18 @@ public class BookmarkController { return Result.success(null); } + /** + * 功能描述: 书签增加1 + * + * @param id id + * @return com.fanxb.bookmark.common.entity.Result + * @author fanxb + * @date 2020/5/12 10:44 + */ + @PostMapping("/visitNum") + public Result visitNum(int id) { + bookmarkService.visitNumPlus(id); + return Result.success(null); + } + } diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java index 9e3ccec..45ca967 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/dao/BookmarkDao.java @@ -177,7 +177,7 @@ public interface BookmarkDao extends BaseMapper { * 功能描述: 更新一个bookmark的key * * @param bookmarkId id - * @param searchKey searchKey + * @param searchKey searchKey * @author fanxb * @date 2020/3/22 22:08 */ @@ -194,4 +194,14 @@ public interface BookmarkDao extends BaseMapper { @Select("select * from bookmark order by bookmarkId limit ${startIndex},${size}") List getBookmarkListPage(@Param("size") int size, @Param("startIndex") int startIndex); + /** + * 功能描述: 书签访问次数+1 + * + * @param id 书签id + * @author fanxb + * @date 2020/5/12 10:40 + */ + @Update("update bookmark set visitNum=visitNum+1 where bookmarkId=#{id}") + void updateVisitNum(int id); + } diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java index 02908b8..93aa385 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/BookmarkService.java @@ -98,8 +98,18 @@ public interface BookmarkService { * * @param userId userId * @param context context + * @return es搜索结果 * @author fanxb * @date 2019/7/25 10:45 */ List searchUserBookmark(int userId, String context); + + /** + * 功能描述: 当前用户书签访问次数+1 + * + * @param id 书签id + * @author fanxb + * @date 2020/5/12 10:21 + */ + void visitNumPlus(int id); } diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java index ca99c96..d7c4ea3 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java @@ -239,6 +239,11 @@ public class BookmarkServiceImpl implements BookmarkService { return esUtil.search(EsConstant.BOOKMARK_INDEX, builder, BookmarkEs.class); } + @Override + public void visitNumPlus(int id) { + RedisUtil.addToMq(RedisConstant.BOOKMARK_VISIT_NUM_PLUS, id); + } + /** * 功能描述: 向mq发送消息通知,数据更新 * diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/configuration/MqConfiguration.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/configuration/MqConfiguration.java index ddfb3d1..01cecf6 100644 --- a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/configuration/MqConfiguration.java +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/configuration/MqConfiguration.java @@ -75,9 +75,9 @@ public class MqConfiguration implements ApplicationRunner { } }); if (count.get() == topicMap.keySet().size()) { - //当所有的队列都为空时休眠1s + //当所有的队列都为空时休眠3s try { - TimeUnit.SECONDS.sleep(1); + TimeUnit.SECONDS.sleep(3); } catch (Exception e) { log.error("休眠出错", e); } diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/constant/RedisConstant.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/constant/RedisConstant.java index 8dea283..488dbf5 100644 --- a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/constant/RedisConstant.java +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/constant/RedisConstant.java @@ -27,4 +27,8 @@ public class RedisConstant { * 从es中删除数据 */ public static final String BOOKMARK_DELETE_ES = "bookmark_DELETE_es"; + /** + * 书签访问次数+1 + */ + public static final String BOOKMARK_VISIT_NUM_PLUS = "bookmark_visit_num_plus"; } diff --git a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/entity/Bookmark.java b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/entity/Bookmark.java index 7358501..73645af 100644 --- a/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/entity/Bookmark.java +++ b/bookMarkService/common/src/main/java/com/fanxb/bookmark/common/entity/Bookmark.java @@ -40,6 +40,10 @@ public class Bookmark { private String searchKey = ""; private Long addTime; private Long createTime; + /** + * 访问次数 + */ + private int visitNum; private List children; public Bookmark() { diff --git a/bookMarkService/web/src/main/resources/db/migration/V11__bookmark表增加字段记录访问次数.sql b/bookMarkService/web/src/main/resources/db/migration/V11__bookmark表增加字段记录访问次数.sql new file mode 100644 index 0000000..f114b2c --- /dev/null +++ b/bookMarkService/web/src/main/resources/db/migration/V11__bookmark表增加字段记录访问次数.sql @@ -0,0 +1 @@ +ALTER TABLE `bookmark`.`bookmark` ADD COLUMN `visitNum` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '访问次数' AFTER `createTime`; \ No newline at end of file