编辑书签标签代码优化
This commit is contained in:
parent
8482e7bc9b
commit
29e4c15276
@ -143,6 +143,12 @@
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.4.1</version>
|
||||
</dependency>
|
||||
<!--beanutils JAVA工具类工具包-->
|
||||
<dependency>
|
||||
<groupId>commons-beanutils</groupId>
|
||||
<artifactId>commons-beanutils</artifactId>
|
||||
<version>1.9.4</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
@ -132,6 +132,8 @@
|
||||
:disable-transitions="false"
|
||||
@close="taghandleClose(tag.tagId)"
|
||||
v-if="tag.name!='TAGDELETE'"
|
||||
|
||||
|
||||
>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
|
@ -1,19 +1,21 @@
|
||||
package com.ruoyi.bookmark.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.bookmark.domain.SqTag;
|
||||
|
||||
/**
|
||||
* 书签_标签Service接口
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-04
|
||||
*/
|
||||
public interface ISqTagService
|
||||
public interface ISqTagService
|
||||
{
|
||||
/**
|
||||
* 查询书签_标签
|
||||
*
|
||||
*
|
||||
* @param id 书签_标签ID
|
||||
* @return 书签_标签
|
||||
*/
|
||||
@ -21,7 +23,7 @@ public interface ISqTagService
|
||||
|
||||
/**
|
||||
* 查询书签_标签列表
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 书签_标签集合
|
||||
*/
|
||||
@ -29,7 +31,7 @@ public interface ISqTagService
|
||||
|
||||
/**
|
||||
* 新增书签_标签
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 结果
|
||||
*/
|
||||
@ -37,7 +39,7 @@ public interface ISqTagService
|
||||
|
||||
/**
|
||||
* 修改书签_标签
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 结果
|
||||
*/
|
||||
@ -45,7 +47,7 @@ public interface ISqTagService
|
||||
|
||||
/**
|
||||
* 批量删除书签_标签
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的书签_标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -53,9 +55,16 @@ public interface ISqTagService
|
||||
|
||||
/**
|
||||
* 删除书签_标签信息
|
||||
*
|
||||
*
|
||||
* @param id 书签_标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSqTagById(Long id);
|
||||
|
||||
/**
|
||||
* @auther: Wang
|
||||
* @date: 2020/09/06 15:06
|
||||
* 功能描述:修改书签 标签检测传入的标签是否 需要添加
|
||||
*/
|
||||
public Map<String,Object> addtag(String tagName, Long userId);
|
||||
}
|
||||
|
@ -2,9 +2,7 @@ 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 java.util.*;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ruoyi.bookmark.domain.SqBookmarkTag;
|
||||
@ -13,9 +11,11 @@ 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.bookmark.service.ISqTagService;
|
||||
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.commons.beanutils.ConvertUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -49,6 +49,8 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
|
||||
@Autowired
|
||||
private SqUserTagMapper sqUserTagMapper;
|
||||
@Autowired
|
||||
private ISqTagService iSqTagService;
|
||||
|
||||
@Override
|
||||
public List<SqBookmark> selectByID(Long userID) {
|
||||
@ -101,6 +103,13 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
@Override
|
||||
public int insertSqBookmark(SqBookmark sqBookmark)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sqBookmark.setCreateTime(DateUtils.getNowDate());
|
||||
return sqBookmarkMapper.insertSqBookmark(sqBookmark);
|
||||
}
|
||||
@ -112,116 +121,64 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateSqBookmark(SqBookmark sqBookmark)
|
||||
{
|
||||
//删除书签 现在的标签
|
||||
SqBookmarkTag sqBookmarkTag=new SqBookmarkTag();
|
||||
sqBookmarkTag.setBookmarkId(sqBookmark.getBookmarkId());
|
||||
sqBookmarkTagMapper.delete(sqBookmarkTag);
|
||||
public int updateSqBookmark(SqBookmark sqBookmark) {
|
||||
//删除的书签ID
|
||||
String deletetag="";
|
||||
String deletetag = "";
|
||||
//新增的书签ID
|
||||
String addtag="";
|
||||
String addtag = "";
|
||||
//传入的标签
|
||||
List<Map<String,Object>> listmap=sqBookmark.getSqTags();
|
||||
List<Map<String, Object>> listmap = sqBookmark.getSqTags();
|
||||
//给文章添加标签
|
||||
Long[] tags= new Long[listmap.size()];
|
||||
|
||||
HashMap<Long,Long> bookmarkTag=new HashMap<Long,Long>();
|
||||
//文章添加书签
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
Map<String, Object> tagmap = iSqTagService.addtag(String.valueOf(map.get("name")), sqBookmark.getUserid());
|
||||
for (Map.Entry<String, Object> tag : tagmap.entrySet()) {
|
||||
addtag += tagmap.get("tagId").toString();
|
||||
map.put("tagId", tagmap.get("tagId"));
|
||||
}
|
||||
}
|
||||
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()+",";
|
||||
//删除书签
|
||||
if (!String.valueOf(map.get("name")).equals("TAGDELETE")) {
|
||||
bookmarkTag.put(Long.valueOf(map.get("tagId").toString()),sqBookmark.getBookmarkId());
|
||||
} else {
|
||||
deletetag += map.get("tagId").toString() + ",";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
//删除书签 现在的所有标签
|
||||
SqBookmarkTag sqBookmarkTag = new SqBookmarkTag();
|
||||
sqBookmarkTag.setBookmarkId(sqBookmark.getBookmarkId());
|
||||
sqBookmarkTagMapper.delete(sqBookmarkTag);
|
||||
|
||||
//给文章添加书签
|
||||
for (Map.Entry<Long,Long> tag:bookmarkTag.entrySet()){
|
||||
bookamrktag.setBookmarkId(tag.getValue());
|
||||
bookamrktag.setTagId(tag.getKey());
|
||||
sqBookmarkTagMapper.insertSqBookmarkTag(bookamrktag);
|
||||
}
|
||||
|
||||
//个人标签引用数量 批量-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]);
|
||||
}
|
||||
if (!deletetag.equals("") && deletetag.length()>0) {
|
||||
deletetag=deletetag.substring(0,deletetag.length()-1);
|
||||
String[] tagreduce = deletetag.split(",");
|
||||
Long[] num = (Long[]) ConvertUtils.convert(tagreduce,Long.class);
|
||||
sqUserTagMapper.updateCountReduce(num, sqBookmark.getUserid());
|
||||
}
|
||||
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());
|
||||
if (!addtag.equals("") && addtag.length()>0) {
|
||||
addtag=addtag.substring(0,addtag.length()-1);
|
||||
String[] add = addtag.split(",");
|
||||
Long[] num = (Long[]) ConvertUtils.convert(add,Long.class);
|
||||
sqUserTagMapper.updateCountReduce(num, sqBookmark.getUserid());
|
||||
}
|
||||
|
||||
return sqBookmarkMapper.updateSqBookmark(sqBookmark);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,17 @@
|
||||
package com.ruoyi.bookmark.service.impl;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.bookmark.domain.SqUserTag;
|
||||
import com.ruoyi.bookmark.mapper.SqUserTagMapper;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
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.SqTagMapper;
|
||||
@ -10,19 +20,22 @@ import com.ruoyi.bookmark.service.ISqTagService;
|
||||
|
||||
/**
|
||||
* 书签_标签Service业务层处理
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-04
|
||||
*/
|
||||
@Service
|
||||
public class SqTagServiceImpl implements ISqTagService
|
||||
public class SqTagServiceImpl implements ISqTagService
|
||||
{
|
||||
public static Logger logger = LoggerFactory.getLogger(SqTagServiceImpl.class);
|
||||
@Autowired
|
||||
private SqTagMapper sqTagMapper;
|
||||
@Autowired
|
||||
private SqUserTagMapper sqUserTagMapper;
|
||||
|
||||
/**
|
||||
* 查询书签_标签
|
||||
*
|
||||
*
|
||||
* @param id 书签_标签ID
|
||||
* @return 书签_标签
|
||||
*/
|
||||
@ -34,7 +47,7 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
|
||||
/**
|
||||
* 查询书签_标签列表
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 书签_标签
|
||||
*/
|
||||
@ -46,7 +59,7 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
|
||||
/**
|
||||
* 新增书签_标签
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 结果
|
||||
*/
|
||||
@ -59,7 +72,7 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
|
||||
/**
|
||||
* 修改书签_标签
|
||||
*
|
||||
*
|
||||
* @param sqTag 书签_标签
|
||||
* @return 结果
|
||||
*/
|
||||
@ -71,7 +84,7 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
|
||||
/**
|
||||
* 批量删除书签_标签
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的书签_标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -83,7 +96,7 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
|
||||
/**
|
||||
* 删除书签_标签信息
|
||||
*
|
||||
*
|
||||
* @param id 书签_标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -92,4 +105,66 @@ public class SqTagServiceImpl implements ISqTagService
|
||||
{
|
||||
return sqTagMapper.deleteSqTagById(id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @auther: Wang
|
||||
* @date: 2020/09/06 15:06
|
||||
* 功能描述:修改书签 标签 检测传入的标签是否 需要添加
|
||||
*/
|
||||
|
||||
@Override
|
||||
public Map<String,Object> addtag(String tagName,Long userId){
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
|
||||
//创建新的标签 返回id给map 并且添加用户的个人书签记录
|
||||
//1.新增标签
|
||||
//1.1查询书签是否存在
|
||||
SqTag sqTag=new SqTag();
|
||||
SqUserTag sqUserTag =new SqUserTag();
|
||||
sqTag.setName(tagName);
|
||||
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(userId);
|
||||
sqUserTag.setTagId(taglist.get(0).getId());
|
||||
|
||||
List<SqUserTag> sqUserTags = sqUserTagMapper.selectSqUserTagList(sqUserTag);
|
||||
|
||||
if (sqUserTags!=null&&!sqUserTags.isEmpty()){
|
||||
map.put("tagId",sqUserTags.get(0).getTagId().toString());
|
||||
}else {
|
||||
sqUserTag.setIcount(1);
|
||||
sqUserTag.setIorder(1);
|
||||
sqUserTagMapper.insertSqUserTag(sqUserTag);
|
||||
}
|
||||
|
||||
}else {
|
||||
//不存在 >>创建 返回ID
|
||||
sqTag.setUserId(userId);
|
||||
sqTag.setTagType("P");
|
||||
sqTag.setIcount(1);
|
||||
sqTag.setStatus(0);
|
||||
sqTag.setCreateTime(DateUtils.getNowDate());
|
||||
sqTagMapper.insertUseGeneratedKeys(sqTag);
|
||||
logger.debug("传入的新标签 tagid="+sqTag.getId());
|
||||
map.put("tagId",sqTag.getId());
|
||||
//添加到用戶个人书签里面去
|
||||
sqUserTag.setUserId(userId);
|
||||
sqUserTag.setTagId(Long.valueOf(sqTag.getId()));
|
||||
sqUserTag.setIcount(1);
|
||||
sqUserTag.setIorder(1);
|
||||
sqUserTagMapper.insertSqUserTag(sqUserTag);
|
||||
}
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user