wangqifan 3 лет назад
Родитель
Сommit
7435c70373

+ 4 - 1
src/main/java/com/izouma/nineth/service/netease/TeamService.java

@@ -189,6 +189,10 @@ public class TeamService {
         List<String> ids = new ArrayList<>();
         ids.add(id);
         Team team = teamRepo.findById(Long.valueOf(tid)).orElseThrow(new BusinessException("未找到群聊"));
+        List<String> members = new ArrayList<>(team.getMembers());
+        if (members.size() > 199) {
+            throw new BusinessException("群成员已满");
+        }
         List<String> kicked = team.getKicked();
         if (kicked.stream().anyMatch(member -> StringUtils.equals(member, id))) {
             throw new BusinessException("用户被踢出,无法加入");
@@ -207,7 +211,6 @@ public class TeamService {
         if (code != 200) {
             throw new BusinessException("群成员已满,无法加入");
         }
-        List<String> members = new ArrayList<>(team.getMembers());
         members.add(id);
         team.setMembers(members);
         return teamRepo.save(team);

+ 4 - 4
src/main/java/com/izouma/nineth/web/netease/TeamController.java

@@ -39,25 +39,25 @@ public class TeamController extends BaseController {
         return teamService.create(record);
     }
 
-    @PreAuthorize("hasRole('ADMIN')")
+    @PreAuthorize("hasAnyRole('ADMIN','ROLE_GROUP')")
     @PostMapping("/mute/{id}")
     public void mute(@PathVariable Long id) {
         teamService.mute(id);
     }
 
-    @PreAuthorize("hasRole('ADMIN')")
+    @PreAuthorize("hasAnyRole('ADMIN','ROLE_GROUP')")
     @PostMapping("/muteSolo")
     public void muteSolo(Long tid, String accid) {
         teamService.muteMember(tid, accid);
     }
 
-    @PreAuthorize("hasRole('ADMIN')")
+    @PreAuthorize("hasAnyRole('ADMIN','ROLE_GROUP')")
     @PostMapping("/cancelMuteSolo")
     public void cancelMuteSolo(Long tid, String accid) {
         teamService.cancelMuteMember(tid, accid);
     }
 
-    @PreAuthorize("hasRole('ADMIN')")
+    @PreAuthorize("hasAnyRole('ADMIN','ROLE_GROUP')")
     @PostMapping("/cancelMute/{id}")
     public void cancelMute(@PathVariable Long id) {
         teamService.cancelMute(id);