💩 修改文章标签进行鉴权

This commit is contained in:
ronger 2022-01-04 10:32:56 +08:00
parent 8795621531
commit e7e672a7b7

View File

@ -1,7 +1,6 @@
package com.rymcu.forest.service.impl; package com.rymcu.forest.service.impl;
import com.rymcu.forest.core.constant.NotificationConstant; import com.rymcu.forest.core.constant.NotificationConstant;
import com.rymcu.forest.core.constant.ProjectConstant;
import com.rymcu.forest.core.service.AbstractService; import com.rymcu.forest.core.service.AbstractService;
import com.rymcu.forest.dto.*; import com.rymcu.forest.dto.*;
import com.rymcu.forest.entity.Article; import com.rymcu.forest.entity.Article;
@ -323,7 +322,7 @@ public class ArticleServiceImpl extends AbstractService<Article> implements Arti
Map map = new HashMap(2); Map map = new HashMap(2);
Article article = articleMapper.selectByPrimaryKey(idArticle); Article article = articleMapper.selectByPrimaryKey(idArticle);
if (Objects.nonNull(article)) { if (Objects.nonNull(article)) {
if (isAuthor(article.getArticleAuthorId())) { if (isAuthor(article.getArticleAuthorId()) || hasAdminPermission()) {
article.setArticleTags(tags); article.setArticleTags(tags);
articleMapper.updateArticleTags(idArticle, tags); articleMapper.updateArticleTags(idArticle, tags);
tagService.saveTagArticle(article, ""); tagService.saveTagArticle(article, "");
@ -339,6 +338,15 @@ public class ArticleServiceImpl extends AbstractService<Article> implements Arti
return map; return map;
} }
private boolean hasAdminPermission() throws BaseApiException {
User user = UserUtils.getCurrentUserByToken();
if (Objects.nonNull(user)) {
Integer userRoleWeight = userService.findRoleWeightsByUser(user.getIdUser());
return userRoleWeight <= ADMIN_ROLE_WEIGHTS;
}
return false;
}
private boolean isAuthor(Integer idUser) throws BaseApiException { private boolean isAuthor(Integer idUser) throws BaseApiException {
User user = UserUtils.getCurrentUserByToken(); User user = UserUtils.getCurrentUserByToken();
if (Objects.nonNull(user)) { if (Objects.nonNull(user)) {