编辑书签标签,1.添加书签到总标签库避免重复数据,2.个人用户书签统计,引用统计,3.文章标签修改
This commit is contained in:
@ -121,9 +121,34 @@
|
|||||||
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="书签标签" prop="label">
|
|
||||||
<el-input v-model="form.label" placeholder="请输入标签" />
|
<el-form-item label="书签标签:" prop="label">
|
||||||
</el-form-item>
|
<el-tag
|
||||||
|
class="bookmarktag"
|
||||||
|
v-for="tag in form.sqTags"
|
||||||
|
:key="tag.tagId"
|
||||||
|
closable
|
||||||
|
type="success"
|
||||||
|
:disable-transitions="false"
|
||||||
|
@close="taghandleClose(tag.tagId)"
|
||||||
|
v-if="tag.name!='TAGDELETE'"
|
||||||
|
>
|
||||||
|
{{tag.name}}
|
||||||
|
</el-tag>
|
||||||
|
<el-input
|
||||||
|
class="input-new-tag"
|
||||||
|
v-if="inputVisible"
|
||||||
|
v-model="inputValue"
|
||||||
|
ref="saveTagInput"
|
||||||
|
size="small"
|
||||||
|
@keyup.enter.native="handleInputConfirm"
|
||||||
|
@blur="handleInputConfirm"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ New Tag</el-button>
|
||||||
|
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="所属目录" prop="menuId">
|
<el-form-item label="所属目录" prop="menuId">
|
||||||
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -183,14 +208,19 @@
|
|||||||
zcount: undefined,
|
zcount: undefined,
|
||||||
idelete: undefined,
|
idelete: undefined,
|
||||||
start: undefined,
|
start: undefined,
|
||||||
|
sqTags:[]
|
||||||
},
|
},
|
||||||
|
dynamicTags: ['标签一', '标签二', '标签三'],
|
||||||
|
inputVisible: false, //标签
|
||||||
|
inputValue: '', //标签
|
||||||
bookmarkList:[],
|
bookmarkList:[],
|
||||||
urltext:'?from=yunshuqian.com',//网址域名起推广作用
|
urltext:'?from=yunshuqian.com',//网址域名起推广作用
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
}
|
},
|
||||||
|
tagcount:0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
@ -228,6 +258,57 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
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) {
|
handleUpdate(bookmarkId) {
|
||||||
this.reset();
|
this.reset();
|
||||||
@ -360,6 +441,33 @@
|
|||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
||||||
|
/**编辑标签 开始**/
|
||||||
|
.el-tag + .el-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.button-new-tag {
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 30px;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.input-new-tag {
|
||||||
|
width: 90px;
|
||||||
|
margin-left: 10px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**编辑标签 结束**/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.filler-tag span{
|
.filler-tag span{
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
@ -428,6 +536,9 @@
|
|||||||
align-content: center;
|
align-content: center;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.bookmarktag{
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -5,25 +5,35 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
|||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
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
|
* 书签标签管理对象 sq_bookmark_tag
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
|
@Table(name="sq_bookmark_tag")
|
||||||
public class SqBookmarkTag
|
public class SqBookmarkTag
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** ID */
|
/** ID */
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(generator = "JDBC")//返回自增长主键
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 书签ID */
|
/** 书签ID */
|
||||||
@Excel(name = "书签ID")
|
@Excel(name = "书签ID")
|
||||||
|
@Column(name = "bookmark_id")
|
||||||
private Long bookmarkId;
|
private Long bookmarkId;
|
||||||
|
|
||||||
/** 标签ID */
|
/** 标签ID */
|
||||||
@Excel(name = "标签ID")
|
@Excel(name = "标签ID")
|
||||||
|
@Column(name = "tag_id")
|
||||||
private Long tagId;
|
private Long tagId;
|
||||||
|
|
||||||
public void setId(Long id)
|
public void setId(Long id)
|
||||||
|
@ -6,8 +6,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
|||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.TreeEntity;
|
import com.ruoyi.common.core.domain.TreeEntity;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.*;
|
||||||
import javax.persistence.Transient;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,11 +15,13 @@ import java.util.Date;
|
|||||||
* @author wanghao
|
* @author wanghao
|
||||||
* @date 2020-08-06
|
* @date 2020-08-06
|
||||||
*/
|
*/
|
||||||
|
@Table(name="sq_menu")
|
||||||
public class SqMenu
|
public class SqMenu
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
/** ID */
|
||||||
/** 书签菜单ID */
|
@Id
|
||||||
|
@GeneratedValue(generator = "JDBC")//返回自增长主键
|
||||||
@Column(name = "menu_id")
|
@Column(name = "menu_id")
|
||||||
private Long menuId;
|
private Long menuId;
|
||||||
|
|
||||||
|
@ -6,6 +6,10 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
|||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
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;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -14,39 +18,48 @@ import java.util.Date;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-05
|
* @date 2020-09-05
|
||||||
*/
|
*/
|
||||||
|
@Table(name="sq_tag")
|
||||||
public class SqTag
|
public class SqTag
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 书签标签id */
|
/** 书签标签id */
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(generator = "JDBC")//此处加上注解
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 标签名字 */
|
/** 标签名字 */
|
||||||
@Excel(name = "标签名字")
|
@Excel(name = "标签名字")
|
||||||
|
@Column(name = "name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/** 引用数量 */
|
/** 引用数量 */
|
||||||
@Excel(name = "引用数量")
|
@Excel(name = "引用数量")
|
||||||
|
@Column(name = "icount")
|
||||||
private Integer icount;
|
private Integer icount;
|
||||||
|
|
||||||
/** 谁增加的该标签 */
|
/** 谁增加的该标签 */
|
||||||
@Excel(name = "谁增加的该标签")
|
@Excel(name = "谁增加的该标签")
|
||||||
|
@Column(name = "user_Id")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/** S系统标签,P书签标签,B便签书签 */
|
/** S系统标签,P书签标签,B便签书签 */
|
||||||
@Excel(name = "S系统标签,P书签标签,B便签书签")
|
@Excel(name = "S系统标签,P书签标签,B便签书签")
|
||||||
|
@Column(name = "tag_type")
|
||||||
private String tagType;
|
private String tagType;
|
||||||
|
|
||||||
/** 链接 */
|
/** 链接 */
|
||||||
@Excel(name = "链接")
|
@Excel(name = "链接")
|
||||||
|
@Column(name = "url")
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
/** 状态 */
|
/** 状态 */
|
||||||
@Excel(name = "状态")
|
@Excel(name = "状态")
|
||||||
|
@Column(name = "status")
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/** 创建时间 */
|
/** 创建时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@Column(name = "create_time")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
public void setId(Long id)
|
public void setId(Long id)
|
||||||
|
@ -5,77 +5,89 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
|||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
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
|
* 标签管理对象 sq_user_tag
|
||||||
*
|
*
|
||||||
* @author wang
|
* @author wang
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
|
@Table(name="sq_user_tag")
|
||||||
public class SqUserTag extends BaseEntity
|
public class SqUserTag extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** ID */
|
/** ID */
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(generator = "JDBC")//此处加上注解
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 用户ID */
|
/** 用户ID */
|
||||||
@Excel(name = "用户ID")
|
@Excel(name = "用户ID")
|
||||||
|
@Column(name = "user_id")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/** 书签ID */
|
/** 书签ID */
|
||||||
@Excel(name = "书签ID")
|
@Excel(name = "书签ID")
|
||||||
|
@Column(name = "tag_id")
|
||||||
private Long tagId;
|
private Long tagId;
|
||||||
|
|
||||||
/** 书签引用的数量 */
|
/** 书签引用的数量 */
|
||||||
@Excel(name = "书签引用的数量")
|
@Excel(name = "书签引用的数量")
|
||||||
|
@Column(name = "icount")
|
||||||
private Integer icount;
|
private Integer icount;
|
||||||
|
|
||||||
/** 书签排序 */
|
/** 书签排序 */
|
||||||
@Excel(name = "书签排序")
|
@Excel(name = "书签排序")
|
||||||
|
@Column(name = "iorder")
|
||||||
private Integer iorder;
|
private Integer iorder;
|
||||||
|
|
||||||
public void setId(Long id)
|
public void setId(Long id)
|
||||||
{
|
{
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getId()
|
public Long getId()
|
||||||
{
|
{
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
public void setUserId(Long userId)
|
public void setUserId(Long userId)
|
||||||
{
|
{
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getUserId()
|
public Long getUserId()
|
||||||
{
|
{
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
public void setTagId(Long tagId)
|
public void setTagId(Long tagId)
|
||||||
{
|
{
|
||||||
this.tagId = tagId;
|
this.tagId = tagId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getTagId()
|
public Long getTagId()
|
||||||
{
|
{
|
||||||
return tagId;
|
return tagId;
|
||||||
}
|
}
|
||||||
public void setIcount(Integer icount)
|
public void setIcount(Integer icount)
|
||||||
{
|
{
|
||||||
this.icount = icount;
|
this.icount = icount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getIcount()
|
public Integer getIcount()
|
||||||
{
|
{
|
||||||
return icount;
|
return icount;
|
||||||
}
|
}
|
||||||
public void setIorder(Integer iorder)
|
public void setIorder(Integer iorder)
|
||||||
{
|
{
|
||||||
this.iorder = iorder;
|
this.iorder = iorder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getIorder()
|
public Integer getIorder()
|
||||||
{
|
{
|
||||||
return iorder;
|
return iorder;
|
||||||
}
|
}
|
||||||
@ -90,4 +102,14 @@ public class SqUserTag extends BaseEntity
|
|||||||
.append("iorder", getIorder())
|
.append("iorder", getIorder())
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
public SqUserTag(){
|
||||||
|
|
||||||
|
}
|
||||||
|
public SqUserTag(Long userId, Long tagId){
|
||||||
|
this.userId=userId;
|
||||||
|
this.tagId = tagId;
|
||||||
|
this.icount=1;
|
||||||
|
this.iorder=1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,10 @@ package com.ruoyi.bookmark.mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.ruoyi.bookmark.domain.SqBookmark;
|
||||||
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
||||||
import com.ruoyi.bookmark.domain.SqTag;
|
import com.ruoyi.bookmark.domain.SqTag;
|
||||||
|
import com.ruoyi.common.mybatisMapper.MyMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 书签标签管理Mapper接口
|
* 书签标签管理Mapper接口
|
||||||
@ -12,7 +14,7 @@ import com.ruoyi.bookmark.domain.SqTag;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
public interface SqBookmarkTagMapper
|
public interface SqBookmarkTagMapper extends MyMapper<SqBookmarkTag>
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package com.ruoyi.bookmark.mapper;
|
package com.ruoyi.bookmark.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
||||||
import com.ruoyi.bookmark.domain.SqTag;
|
import com.ruoyi.bookmark.domain.SqTag;
|
||||||
|
import com.ruoyi.common.mybatisMapper.MyMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 书签_标签Mapper接口
|
* 书签_标签Mapper接口
|
||||||
@ -9,7 +12,7 @@ import com.ruoyi.bookmark.domain.SqTag;
|
|||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
public interface SqTagMapper
|
public interface SqTagMapper extends MyMapper<SqTag>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,10 @@ package com.ruoyi.bookmark.mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.ruoyi.bookmark.domain.SqTag;
|
||||||
import com.ruoyi.bookmark.domain.SqUserTag;
|
import com.ruoyi.bookmark.domain.SqUserTag;
|
||||||
|
import com.ruoyi.common.mybatisMapper.MyMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标签管理Mapper接口
|
* 标签管理Mapper接口
|
||||||
@ -11,9 +14,28 @@ import com.ruoyi.bookmark.domain.SqUserTag;
|
|||||||
* @author wang
|
* @author wang
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
public interface SqUserTagMapper
|
public interface SqUserTagMapper extends MyMapper<SqUserTag>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量减少用戶 标签引用的 数量 -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查用户的所有标签
|
*通过用户userID查用户的所有标签
|
||||||
|
@ -1,19 +1,28 @@
|
|||||||
package com.ruoyi.bookmark.service;
|
package com.ruoyi.bookmark.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 书签标签管理Service接口
|
* 书签标签管理Service接口
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
public interface ISqBookmarkTagService
|
public interface ISqBookmarkTagService
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* 查询该篇文章的 所有书签
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @return 书签_标签
|
||||||
|
*/
|
||||||
|
public List<Map<String,Object>> selectSqTaListById(Long bookmarkId);
|
||||||
/**
|
/**
|
||||||
* 查询书签标签管理
|
* 查询书签标签管理
|
||||||
*
|
*
|
||||||
* @param id 书签标签管理ID
|
* @param id 书签标签管理ID
|
||||||
* @return 书签标签管理
|
* @return 书签标签管理
|
||||||
*/
|
*/
|
||||||
@ -21,7 +30,7 @@ public interface ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询书签标签管理列表
|
* 查询书签标签管理列表
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 书签标签管理集合
|
* @return 书签标签管理集合
|
||||||
*/
|
*/
|
||||||
@ -29,7 +38,7 @@ public interface ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增书签标签管理
|
* 新增书签标签管理
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -37,7 +46,7 @@ public interface ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改书签标签管理
|
* 修改书签标签管理
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -45,7 +54,7 @@ public interface ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除书签标签管理
|
* 批量删除书签标签管理
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的书签标签管理ID
|
* @param ids 需要删除的书签标签管理ID
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -53,7 +62,7 @@ public interface ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除书签标签管理信息
|
* 删除书签标签管理信息
|
||||||
*
|
*
|
||||||
* @param id 书签标签管理ID
|
* @param id 书签标签管理ID
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@ -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查用户的所有标签
|
*通过用户userID查用户的所有标签
|
||||||
*
|
*
|
||||||
|
@ -1,14 +1,32 @@
|
|||||||
package com.ruoyi.bookmark.service.impl;
|
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.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.ruoyi.common.utils.DateUtils;
|
||||||
import com.sun.org.apache.bcel.internal.generic.NEW;
|
import com.sun.org.apache.bcel.internal.generic.NEW;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.bookmark.mapper.SqBookmarkMapper;
|
import com.ruoyi.bookmark.mapper.SqBookmarkMapper;
|
||||||
import com.ruoyi.bookmark.domain.SqBookmark;
|
import com.ruoyi.bookmark.domain.SqBookmark;
|
||||||
import com.ruoyi.bookmark.service.ISqBookmarkService;
|
import com.ruoyi.bookmark.service.ISqBookmarkService;
|
||||||
|
import sun.dc.pr.PRError;
|
||||||
|
|
||||||
|
import javax.print.DocFlavor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 书签管理Service业务层处理
|
* 书签管理Service业务层处理
|
||||||
@ -19,9 +37,19 @@ import com.ruoyi.bookmark.service.ISqBookmarkService;
|
|||||||
@Service
|
@Service
|
||||||
public class SqBookmarkServiceImpl implements ISqBookmarkService
|
public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||||
{
|
{
|
||||||
|
public static Logger logger = LoggerFactory.getLogger(SqBookmarkServiceImpl.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private SqBookmarkMapper sqBookmarkMapper;
|
private SqBookmarkMapper sqBookmarkMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SqBookmarkTagMapper sqBookmarkTagMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SqTagMapper sqTagMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SqUserTagMapper sqUserTagMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SqBookmark> selectByID(Long userID) {
|
public List<SqBookmark> selectByID(Long userID) {
|
||||||
|
|
||||||
@ -86,6 +114,114 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
|||||||
@Override
|
@Override
|
||||||
public int updateSqBookmark(SqBookmark sqBookmark)
|
public int updateSqBookmark(SqBookmark sqBookmark)
|
||||||
{
|
{
|
||||||
|
//删除书签 现在的标签
|
||||||
|
SqBookmarkTag sqBookmarkTag=new SqBookmarkTag();
|
||||||
|
sqBookmarkTag.setBookmarkId(sqBookmark.getBookmarkId());
|
||||||
|
sqBookmarkTagMapper.delete(sqBookmarkTag);
|
||||||
|
//删除的书签ID
|
||||||
|
String deletetag="";
|
||||||
|
//新增的书签ID
|
||||||
|
String addtag="";
|
||||||
|
//传入的标签
|
||||||
|
List<Map<String,Object>> listmap=sqBookmark.getSqTags();
|
||||||
|
//给文章添加标签
|
||||||
|
Long[] tags= new Long[listmap.size()];
|
||||||
|
|
||||||
|
//文章添加书签
|
||||||
|
SqBookmarkTag bookamrktag=new SqBookmarkTag();
|
||||||
|
int i=0;
|
||||||
|
for (Map<String,Object> map:listmap) {
|
||||||
|
for (Map.Entry<String, Object> 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<SqTag> 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<SqUserTag> 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);
|
return sqBookmarkMapper.updateSqBookmark(sqBookmark);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.ruoyi.bookmark.service.impl;
|
package com.ruoyi.bookmark.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.bookmark.mapper.SqBookmarkTagMapper;
|
import com.ruoyi.bookmark.mapper.SqBookmarkTagMapper;
|
||||||
@ -9,19 +11,32 @@ import com.ruoyi.bookmark.service.ISqBookmarkTagService;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 书签标签管理Service业务层处理
|
* 书签标签管理Service业务层处理
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2020-09-04
|
* @date 2020-09-04
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SqBookmarkTagMapper sqBookmarkTagMapper;
|
private SqBookmarkTagMapper sqBookmarkTagMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询该篇文章的 所有书签
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @return 书签_标签
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Map<String,Object>> selectSqTaListById(Long bookmarkId){
|
||||||
|
return sqBookmarkTagMapper.selectSqTaListById(bookmarkId);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 查询书签标签管理
|
* 查询书签标签管理
|
||||||
*
|
*
|
||||||
* @param id 书签标签管理ID
|
* @param id 书签标签管理ID
|
||||||
* @return 书签标签管理
|
* @return 书签标签管理
|
||||||
*/
|
*/
|
||||||
@ -33,7 +48,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询书签标签管理列表
|
* 查询书签标签管理列表
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 书签标签管理
|
* @return 书签标签管理
|
||||||
*/
|
*/
|
||||||
@ -45,7 +60,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增书签标签管理
|
* 新增书签标签管理
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -57,7 +72,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改书签标签管理
|
* 修改书签标签管理
|
||||||
*
|
*
|
||||||
* @param sqBookmarkTag 书签标签管理
|
* @param sqBookmarkTag 书签标签管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -69,7 +84,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除书签标签管理
|
* 批量删除书签标签管理
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的书签标签管理ID
|
* @param ids 需要删除的书签标签管理ID
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@ -81,7 +96,7 @@ public class SqBookmarkTagServiceImpl implements ISqBookmarkTagService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除书签标签管理信息
|
* 删除书签标签管理信息
|
||||||
*
|
*
|
||||||
* @param id 书签标签管理ID
|
* @param id 书签标签管理ID
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
@ -22,6 +22,35 @@ public class SqUserTagServiceImpl implements ISqUserTagService
|
|||||||
private SqUserTagMapper sqUserTagMapper;
|
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查用户的所有标签
|
*通过用户userID查用户的所有标签
|
||||||
*
|
*
|
||||||
|
@ -61,4 +61,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<select id="selectSqTagList" parameterType="SqTag" resultMap="SqTagResult">
|
<select id="selectSqTagList" parameterType="SqTag" resultMap="SqTagResult">
|
||||||
<include refid="selectSqTagVo"/>
|
<include refid="selectSqTagVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
<if test="name != null and name != ''"> and name = #{name}</if>
|
||||||
<if test="icount != null "> and icount = #{icount}</if>
|
<if test="icount != null "> and icount = #{icount}</if>
|
||||||
<if test="userId != null "> and user_Id = #{userId}</if>
|
<if test="userId != null "> and user_Id = #{userId}</if>
|
||||||
<if test="tagType != null and tagType != ''"> and tag_type = #{tagType}</if>
|
<if test="tagType != null and tagType != ''"> and tag_type = #{tagType}</if>
|
||||||
@ -45,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="tagType != null">tag_type,</if>
|
<if test="tagType != null">tag_type,</if>
|
||||||
<if test="url != null">url,</if>
|
<if test="url != null">url,</if>
|
||||||
<if test="status != null">status,</if>
|
<if test="status != null">status,</if>
|
||||||
<if test="createTime != null">create_time,</if>
|
create_time
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="name != null">#{name},</if>
|
<if test="name != null">#{name},</if>
|
||||||
@ -54,7 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="tagType != null">#{tagType},</if>
|
<if test="tagType != null">#{tagType},</if>
|
||||||
<if test="url != null">#{url},</if>
|
<if test="url != null">#{url},</if>
|
||||||
<if test="status != null">#{status},</if>
|
<if test="status != null">#{status},</if>
|
||||||
<if test="createTime != null">#{createTime},</if>
|
now()
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
@ -81,7 +81,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
ORDER BY u.iorder
|
ORDER BY u.iorder
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="updateCountReduce" >
|
||||||
|
<foreach item="tagId" collection="tags" separator=";" >
|
||||||
|
update sq_user_tag set icount=icount-1 WHERE user_id=#{userId} and tag_id = #{tagId}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<update id="updateCountAdd" >
|
||||||
|
<foreach item="tagId" collection="tags" separator=";" >
|
||||||
|
update sq_user_tag set icount=icount+1 WHERE user_id=#{userId} and tag_id = #{tagId}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Reference in New Issue
Block a user