diff --git a/ruoyi-ui/src/views/bookmark/content/index.vue b/ruoyi-ui/src/views/bookmark/content/index.vue index 9dc5c4c8c..c0bc239b0 100644 --- a/ruoyi-ui/src/views/bookmark/content/index.vue +++ b/ruoyi-ui/src/views/bookmark/content/index.vue @@ -121,9 +121,34 @@ :autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"> - - - + + + + {{tag.name}} + + + + + New Tag + + + @@ -183,14 +208,19 @@ zcount: undefined, idelete: undefined, start: undefined, + sqTags:[] }, + dynamicTags: ['标签一', '标签二', '标签三'], + inputVisible: false, //标签 + inputValue: '', //标签 bookmarkList:[], urltext:'?from=yunshuqian.com',//网址域名起推广作用 // 表单参数 form: {}, // 表单校验 rules: { - } + }, + tagcount:0, } }, filters: { @@ -228,6 +258,57 @@ }, methods: { + + + + /**书签编辑设置的 标签开始**/ + taghandleClose(tag) { +//1. 首先我们要得到这个对象 + var tina = this.form.sqTags.filter((p) => { + return p.tagId == tag; + }); +//2. 其次得到这个对象在数组中对应的索引 + var index = this.form.sqTags.indexOf(tina[0]); +//3. 如果存在则将其删除,index > -1 代表存在 +// index > -1 && this.form.sqTags.splice(index, 1); + if (index > -1){ + if (this.form.sqTags[index].tagId<0){ + this.form.sqTags.splice(index, 1); + } + this.form.sqTags[index].name="TAGDELETE"; + } + console.log(this.form.sqTags); + }, + showInput() { + this.inputVisible = true; + this.$nextTick(_ => { + this.$refs.saveTagInput.$refs.input.focus(); + }); + }, + + handleInputConfirm() { + let inputValue = this.inputValue; + if (inputValue) { + this.tagcount=this.tagcount-1; + //添加 + var updatetag ={name: inputValue, bookmarkId: this.form.bookmarkId,tagId:this.tagcount}; + + this.form.sqTags.push(updatetag); + } + this.inputVisible = false; + this.inputValue = ''; + console.log(this.form.sqTags); + }, + + + /**书签编辑设置的 标签结束**/ + + + + + + + /** 修改按钮操作 */ handleUpdate(bookmarkId) { this.reset(); @@ -360,6 +441,33 @@ diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmarkTag.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmarkTag.java index 5e671b353..8504a4ac5 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmarkTag.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqBookmarkTag.java @@ -5,25 +5,35 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import javax.persistence.Column; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + /** * 书签标签管理对象 sq_bookmark_tag * * @author ruoyi * @date 2020-09-04 */ +@Table(name="sq_bookmark_tag") public class SqBookmarkTag { private static final long serialVersionUID = 1L; /** ID */ + @Id + @GeneratedValue(generator = "JDBC")//返回自增长主键 private Long id; /** 书签ID */ @Excel(name = "书签ID") + @Column(name = "bookmark_id") private Long bookmarkId; /** 标签ID */ @Excel(name = "标签ID") + @Column(name = "tag_id") private Long tagId; public void setId(Long id) 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 503d827a7..3f1f5d39a 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 @@ -6,8 +6,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.TreeEntity; -import javax.persistence.Column; -import javax.persistence.Transient; +import javax.persistence.*; import java.util.Date; /** @@ -16,11 +15,13 @@ import java.util.Date; * @author wanghao * @date 2020-08-06 */ +@Table(name="sq_menu") public class SqMenu { private static final long serialVersionUID = 1L; - - /** 书签菜单ID */ + /** ID */ + @Id + @GeneratedValue(generator = "JDBC")//返回自增长主键 @Column(name = "menu_id") private Long menuId; diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqTag.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqTag.java index 10df01c13..43ded1b7c 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqTag.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqTag.java @@ -6,6 +6,10 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import javax.persistence.Column; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; import java.util.Date; /** @@ -14,39 +18,48 @@ import java.util.Date; * @author ruoyi * @date 2020-09-05 */ +@Table(name="sq_tag") public class SqTag { private static final long serialVersionUID = 1L; - /** 书签标签id */ + @Id + @GeneratedValue(generator = "JDBC")//此处加上注解 private Long id; /** 标签名字 */ @Excel(name = "标签名字") + @Column(name = "name") private String name; /** 引用数量 */ @Excel(name = "引用数量") + @Column(name = "icount") private Integer icount; /** 谁增加的该标签 */ @Excel(name = "谁增加的该标签") + @Column(name = "user_Id") private Long userId; /** S系统标签,P书签标签,B便签书签 */ @Excel(name = "S系统标签,P书签标签,B便签书签") + @Column(name = "tag_type") private String tagType; /** 链接 */ @Excel(name = "链接") + @Column(name = "url") private String url; /** 状态 */ @Excel(name = "状态") + @Column(name = "status") private Integer status; /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Column(name = "create_time") private Date createTime; public void setId(Long id) diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqUserTag.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqUserTag.java index 7aa68090c..20efc6585 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqUserTag.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/domain/SqUserTag.java @@ -5,77 +5,89 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import javax.persistence.Column; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + /** * 标签管理对象 sq_user_tag - * + * * @author wang * @date 2020-09-04 */ +@Table(name="sq_user_tag") public class SqUserTag extends BaseEntity { private static final long serialVersionUID = 1L; /** ID */ + @Id + @GeneratedValue(generator = "JDBC")//此处加上注解 private Long id; /** 用户ID */ @Excel(name = "用户ID") + @Column(name = "user_id") private Long userId; /** 书签ID */ @Excel(name = "书签ID") + @Column(name = "tag_id") private Long tagId; /** 书签引用的数量 */ @Excel(name = "书签引用的数量") + @Column(name = "icount") private Integer icount; /** 书签排序 */ @Excel(name = "书签排序") + @Column(name = "iorder") private Integer iorder; - public void setId(Long id) + public void setId(Long id) { this.id = id; } - public Long getId() + public Long getId() { return id; } - public void setUserId(Long userId) + public void setUserId(Long userId) { this.userId = userId; } - public Long getUserId() + public Long getUserId() { return userId; } - public void setTagId(Long tagId) + public void setTagId(Long tagId) { this.tagId = tagId; } - public Long getTagId() + public Long getTagId() { return tagId; } - public void setIcount(Integer icount) + public void setIcount(Integer icount) { this.icount = icount; } - public Integer getIcount() + public Integer getIcount() { return icount; } - public void setIorder(Integer iorder) + public void setIorder(Integer iorder) { this.iorder = iorder; } - public Integer getIorder() + public Integer getIorder() { return iorder; } @@ -90,4 +102,14 @@ public class SqUserTag extends BaseEntity .append("iorder", getIorder()) .toString(); } + public SqUserTag(){ + + } + public SqUserTag(Long userId, Long tagId){ + this.userId=userId; + this.tagId = tagId; + this.icount=1; + this.iorder=1; + } + } diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkTagMapper.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkTagMapper.java index 4b821417e..000fb94d8 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkTagMapper.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqBookmarkTagMapper.java @@ -3,8 +3,10 @@ package com.ruoyi.bookmark.mapper; import java.util.List; import java.util.Map; +import com.ruoyi.bookmark.domain.SqBookmark; import com.ruoyi.bookmark.domain.SqBookmarkTag; import com.ruoyi.bookmark.domain.SqTag; +import com.ruoyi.common.mybatisMapper.MyMapper; /** * 书签标签管理Mapper接口 @@ -12,7 +14,7 @@ import com.ruoyi.bookmark.domain.SqTag; * @author ruoyi * @date 2020-09-04 */ -public interface SqBookmarkTagMapper +public interface SqBookmarkTagMapper extends MyMapper { /** diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqTagMapper.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqTagMapper.java index 4a5d648b2..05605b96c 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqTagMapper.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqTagMapper.java @@ -1,7 +1,10 @@ package com.ruoyi.bookmark.mapper; import java.util.List; + +import com.ruoyi.bookmark.domain.SqBookmarkTag; import com.ruoyi.bookmark.domain.SqTag; +import com.ruoyi.common.mybatisMapper.MyMapper; /** * 书签_标签Mapper接口 @@ -9,7 +12,7 @@ import com.ruoyi.bookmark.domain.SqTag; * @author ruoyi * @date 2020-09-04 */ -public interface SqTagMapper +public interface SqTagMapper extends MyMapper { diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqUserTagMapper.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqUserTagMapper.java index e8c4ff05d..9055937f4 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqUserTagMapper.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/mapper/SqUserTagMapper.java @@ -3,7 +3,10 @@ package com.ruoyi.bookmark.mapper; import java.util.List; import java.util.Map; +import com.ruoyi.bookmark.domain.SqTag; import com.ruoyi.bookmark.domain.SqUserTag; +import com.ruoyi.common.mybatisMapper.MyMapper; +import org.apache.ibatis.annotations.Param; /** * 标签管理Mapper接口 @@ -11,9 +14,28 @@ import com.ruoyi.bookmark.domain.SqUserTag; * @author wang * @date 2020-09-04 */ -public interface SqUserTagMapper +public interface SqUserTagMapper extends MyMapper { + /** + * 批量减少用戶 标签引用的 数量 -1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + public int updateCountReduce(@Param("tags")Long[] tags, @Param("userId")Long userId); + + /** + * 批量添加 用戶 标签引用的 数量 +1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + public int updateCountAdd(@Param("tags")Long[] tags, @Param("userId")Long userId); + + /** *通过用户userID查用户的所有标签 diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkTagService.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkTagService.java index 673094f5b..a7c42231f 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkTagService.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqBookmarkTagService.java @@ -1,19 +1,28 @@ package com.ruoyi.bookmark.service; import java.util.List; +import java.util.Map; + import com.ruoyi.bookmark.domain.SqBookmarkTag; /** * 书签标签管理Service接口 - * + * * @author ruoyi * @date 2020-09-04 */ -public interface ISqBookmarkTagService +public interface ISqBookmarkTagService { + /** + * 查询该篇文章的 所有书签 + * + * @param + * @return 书签_标签 + */ + public List> selectSqTaListById(Long bookmarkId); /** * 查询书签标签管理 - * + * * @param id 书签标签管理ID * @return 书签标签管理 */ @@ -21,7 +30,7 @@ public interface ISqBookmarkTagService /** * 查询书签标签管理列表 - * + * * @param sqBookmarkTag 书签标签管理 * @return 书签标签管理集合 */ @@ -29,7 +38,7 @@ public interface ISqBookmarkTagService /** * 新增书签标签管理 - * + * * @param sqBookmarkTag 书签标签管理 * @return 结果 */ @@ -37,7 +46,7 @@ public interface ISqBookmarkTagService /** * 修改书签标签管理 - * + * * @param sqBookmarkTag 书签标签管理 * @return 结果 */ @@ -45,7 +54,7 @@ public interface ISqBookmarkTagService /** * 批量删除书签标签管理 - * + * * @param ids 需要删除的书签标签管理ID * @return 结果 */ @@ -53,7 +62,7 @@ public interface ISqBookmarkTagService /** * 删除书签标签管理信息 - * + * * @param id 书签标签管理ID * @return 结果 */ diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqUserTagService.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqUserTagService.java index c7dc45242..d8e40ef6e 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqUserTagService.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/ISqUserTagService.java @@ -15,6 +15,27 @@ public interface ISqUserTagService { + /** + * 批量减少用戶 标签引用的 数量 -1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + public int updateCountReduce(Long[] tags,Long userId); + + /** + * 批量添加 用戶 标签引用的 数量 +1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + public int updateCountAdd(Long[] tags,Long userId); + + + + /** *通过用户userID查用户的所有标签 * 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 168fe1707..036c98f4b 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 @@ -1,14 +1,32 @@ package com.ruoyi.bookmark.service.impl; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; +import java.util.Map; + +import cn.hutool.core.date.DateUtil; +import com.ruoyi.bookmark.domain.SqBookmarkTag; +import com.ruoyi.bookmark.domain.SqTag; +import com.ruoyi.bookmark.domain.SqUserTag; +import com.ruoyi.bookmark.mapper.SqBookmarkTagMapper; +import com.ruoyi.bookmark.mapper.SqTagMapper; +import com.ruoyi.bookmark.mapper.SqUserTagMapper; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.sun.org.apache.bcel.internal.generic.NEW; import org.apache.ibatis.annotations.Param; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.bookmark.mapper.SqBookmarkMapper; import com.ruoyi.bookmark.domain.SqBookmark; import com.ruoyi.bookmark.service.ISqBookmarkService; +import sun.dc.pr.PRError; + +import javax.print.DocFlavor; /** * 书签管理Service业务层处理 @@ -19,9 +37,19 @@ import com.ruoyi.bookmark.service.ISqBookmarkService; @Service public class SqBookmarkServiceImpl implements ISqBookmarkService { + public static Logger logger = LoggerFactory.getLogger(SqBookmarkServiceImpl.class); @Autowired private SqBookmarkMapper sqBookmarkMapper; + @Autowired + private SqBookmarkTagMapper sqBookmarkTagMapper; + + @Autowired + private SqTagMapper sqTagMapper; + + @Autowired + private SqUserTagMapper sqUserTagMapper; + @Override public List selectByID(Long userID) { @@ -86,6 +114,114 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService @Override public int updateSqBookmark(SqBookmark sqBookmark) { + //删除书签 现在的标签 + SqBookmarkTag sqBookmarkTag=new SqBookmarkTag(); + sqBookmarkTag.setBookmarkId(sqBookmark.getBookmarkId()); + sqBookmarkTagMapper.delete(sqBookmarkTag); + //删除的书签ID + String deletetag=""; + //新增的书签ID + String addtag=""; + //传入的标签 + List> listmap=sqBookmark.getSqTags(); + //给文章添加标签 + Long[] tags= new Long[listmap.size()]; + + //文章添加书签 + SqBookmarkTag bookamrktag=new SqBookmarkTag(); + int i=0; + for (Map map:listmap) { + for (Map.Entry entry : map.entrySet()){ + + if(Integer.parseInt(String.valueOf(map.get("tagId")))<0){ + //创建新的标签 返回id给map 并且添加用户的个人书签记录 + //1.新增标签 + //1.1查询书签是否存在 + SqTag sqTag=new SqTag(); + SqUserTag sqUserTag =new SqUserTag(); + sqTag.setName(String.valueOf(map.get("name"))); + List taglist=sqTagMapper.selectSqTagList(sqTag); + //存在返回ID + if (taglist!=null&&!taglist.isEmpty()){ + map.put("tagId",taglist.get(0).getId()); + logger.debug("传入的新标签 tagid="+taglist.get(0).getId()); + //添加到用戶个人书签里面去 + //1.用户是否已经有这个书签记录了 + sqUserTag.setUserId(sqBookmark.getUserid()); + sqUserTag.setTagId(taglist.get(0).getId()); + + List sqUserTags = sqUserTagMapper.selectSqUserTagList(sqUserTag); + + if (sqUserTags!=null&&!sqUserTags.isEmpty()){ + addtag +=sqUserTags.get(0).getTagId().toString()+","; + }else { + sqUserTag.setIcount(1); + sqUserTag.setIorder(1); + sqUserTagMapper.insertSqUserTag(sqUserTag); + } + + }else { + //不存在 >>创建 返回ID + sqTag.setUserId(sqBookmark.getUserid()); + sqTag.setTagType("P"); + sqTag.setIcount(1); + sqTag.setStatus(0); + try { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 + Date dateStart = df.parse(df.format(new Date())); + sqTag.setCreateTime(dateStart); + } catch (ParseException e) { + e.printStackTrace(); + } + + int tagid=sqTagMapper.insertUseGeneratedKeys(sqTag); + logger.debug("传入的新标签 tagid="+sqTag.getId()); + map.put("tagId",sqTag.getId()); + //添加到用戶个人书签里面去 + sqUserTag.setUserId(sqBookmark.getUserid()); + sqUserTag.setTagId(Long.valueOf(sqTag.getId())); + sqUserTag.setIcount(1); + sqUserTag.setIorder(1); + sqUserTagMapper.insertSqUserTag(sqUserTag); + } + + } + if (!String.valueOf(map.get("name")).equals("TAGDELETE")){ + //给文章添加书签 + bookamrktag.setBookmarkId(sqBookmark.getBookmarkId()); + bookamrktag.setTagId(Long.valueOf(map.get("tagId").toString())); + sqBookmarkTagMapper.insertSqBookmarkTag(bookamrktag); + }else{ + deletetag += map.get("tagId").toString()+","; + } + break; + } + } + + //个人标签引用数量 批量-1 + String[] tagreduce=deletetag.split(","); + + if (tagreduce!=null&&tagreduce.length>0){ + Long[] num = new Long[tagreduce.length]; + for (int idx = 0; idx < tagreduce.length; idx++) { + if(!tagreduce[idx].equals("")&&tagreduce[idx]!=null){ + num[idx] = Long.parseLong(tagreduce[idx]); + } + } + sqUserTagMapper.updateCountReduce(num,sqBookmark.getUserid()); + } + + //个人标签引用数量 批量+1 + String[] tagadd=addtag.split(","); + if (tagadd!=null&&tagadd.length>0) { + Long[] add = new Long[tagadd.length]; + for (int idx = 0; idx < tagadd.length; idx++) { + if(!tagadd[idx].equals("")&&tagadd[idx]!=null) { + add[idx] = Long.parseLong(tagadd[idx]); + } + } + sqUserTagMapper.updateCountAdd(add, sqBookmark.getUserid()); + } return sqBookmarkMapper.updateSqBookmark(sqBookmark); } diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkTagServiceImpl.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkTagServiceImpl.java index d593ec256..88a2d2524 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkTagServiceImpl.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqBookmarkTagServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.bookmark.service.impl; import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.bookmark.mapper.SqBookmarkTagMapper; @@ -9,19 +11,32 @@ import com.ruoyi.bookmark.service.ISqBookmarkTagService; /** * 书签标签管理Service业务层处理 - * + * * @author ruoyi * @date 2020-09-04 */ @Service -public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService +public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService { + + + @Autowired private SqBookmarkTagMapper sqBookmarkTagMapper; + /** + * 查询该篇文章的 所有书签 + * + * @param + * @return 书签_标签 + */ + @Override + public List> selectSqTaListById(Long bookmarkId){ + return sqBookmarkTagMapper.selectSqTaListById(bookmarkId); + } /** * 查询书签标签管理 - * + * * @param id 书签标签管理ID * @return 书签标签管理 */ @@ -33,7 +48,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService /** * 查询书签标签管理列表 - * + * * @param sqBookmarkTag 书签标签管理 * @return 书签标签管理 */ @@ -45,7 +60,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService /** * 新增书签标签管理 - * + * * @param sqBookmarkTag 书签标签管理 * @return 结果 */ @@ -57,7 +72,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService /** * 修改书签标签管理 - * + * * @param sqBookmarkTag 书签标签管理 * @return 结果 */ @@ -69,7 +84,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService /** * 批量删除书签标签管理 - * + * * @param ids 需要删除的书签标签管理ID * @return 结果 */ @@ -81,7 +96,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService /** * 删除书签标签管理信息 - * + * * @param id 书签标签管理ID * @return 结果 */ diff --git a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqUserTagServiceImpl.java b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqUserTagServiceImpl.java index 7a1ea190b..5783cbcb2 100644 --- a/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqUserTagServiceImpl.java +++ b/ruoyi-yunbookmark/src/main/java/com/ruoyi/bookmark/service/impl/SqUserTagServiceImpl.java @@ -22,6 +22,35 @@ public class SqUserTagServiceImpl implements ISqUserTagService private SqUserTagMapper sqUserTagMapper; + /** + * 批量减少用戶 标签引用的 数量 -1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + @Override + public int updateCountReduce(Long[] tags,Long userId){ + return sqUserTagMapper.updateCountReduce(tags,userId); + } + + /** + * 批量添加 用戶 标签引用的 数量 +1 + * + * @param tags 标签串 + * @param userId 用户ID + * @return 结果 + */ + @Override + public int updateCountAdd(Long[] tags,Long userId){ + return sqUserTagMapper.updateCountAdd(tags,userId); + } + + + + + + /** *通过用户userID查用户的所有标签 * diff --git a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkTagMapper.xml b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkTagMapper.xml index 010347691..17457ca94 100644 --- a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkTagMapper.xml +++ b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqBookmarkTagMapper.xml @@ -61,4 +61,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqTagMapper.xml b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqTagMapper.xml index 9183e4f54..5f74974af 100644 --- a/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqTagMapper.xml +++ b/ruoyi-yunbookmark/src/main/resources/mapper/bookmark/SqTagMapper.xml @@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + update sq_user_tag set icount=icount-1 WHERE user_id=#{userId} and tag_id = #{tagId} + + + + + update sq_user_tag set icount=icount+1 WHERE user_id=#{userId} and tag_id = #{tagId} + + +