diff --git a/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java b/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java index 5674812..1c53100 100644 --- a/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java +++ b/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java @@ -73,6 +73,11 @@ public class NewsService { public void createNews(NewsRequest request) { + String username = JwtUtil.extractUsername(request.getToken()); + UserHS user = userService.getUserByUsername(username); + if (!user.getSuperAdmin() && !user.getTenant().equals(request.getTenant())){ + throw new IllegalArgumentException("只能在自己的租户的名下新增新闻!"); + } News news = new News(); news.setTitle(request.getTitle()); news.setSummary(request.getSummary()); @@ -91,7 +96,9 @@ public class NewsService { news.setContent(request.getContent()); news.setAuthor(request.getAuthor()); news.setImagePath(request.getImagePath()); - news.setTenant(request.getTenant()); + if (userService.getUserByUsername(JwtUtil.extractUsername(request.getToken())).getSuperAdmin()) { + news.setTenant(request.getTenant()); + } newsRepository.save(news); } } @@ -114,26 +121,6 @@ public class NewsService { return newsRepository.count(); } - // TODO:完善用户权限 -// public List searchNews(SearchNewsRequest request) { -// String username = JwtUtil.extractUsername(request.getToken()); -// UserHS user = userService.getUserByUsername(username); -// if (user.getSuperAdmin()) { -// return newsRepository.findByTitleContainingOrSummaryContainingOrAuthorContainingOrImagePathContaining( -// request.getTitle(), -// request.getSummary(), -// request.getAuthor(), -// request.getImagePath() -// ); -// } -// return newsRepository.findByTitleContainingOrSummaryContainingOrAuthorContainingOrImagePathContainingAndTenantEquals( -// request.getTitle(), -// request.getSummary(), -// request.getAuthor(), -// request.getImagePath(), -// user.getUsername() -// ); -// } public List searchNews(SearchNewsRequest request) { String username = JwtUtil.extractUsername(request.getToken()); UserHS user = userService.getUserByUsername(username);