Browse Source

乐团退团,融云退群

zouxuan 5 years ago
parent
commit
e0feb4bd11

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1038,12 +1038,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				//更新班级人数
 				classGroupDao.batchUpdateStudentNumMinusOne(classGroupIdList);
 
-				//删除融云群
-				List<ImGroupModel> imGroupModels = new ArrayList<ImGroupModel>();
-				for (Integer classGroupId : classGroupIdList) {
-					imGroupModels.add(new ImGroupModel(classGroupId + ""));
-				}
-				imFeignService.groupBatchDismiss(imGroupModels);
+                List<ImGroupModel> imGroupModels = new ArrayList<ImGroupModel>();
+                ImGroupMember[] imGroupMember = {new ImGroupMember(userId.toString())};
+                for (Integer classGroupId : classGroupIdList) {
+                    imGroupModels.add(new ImGroupModel(classGroupId + "",imGroupMember,""));
+                }
+                imFeignService.groupBatchQuit(imGroupModels);
 			}
 			
 			List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedulesWithStudent(musicGroupId,GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode(),userId);
@@ -1148,10 +1148,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
 			//删除融云群
 			List<ImGroupModel> imGroupModels = new ArrayList<ImGroupModel>();
+            ImGroupMember[] imGroupMember = {new ImGroupMember(userId.toString())};
 			for (Integer classGroupId : classGroupIdList) {
-				imGroupModels.add(new ImGroupModel(classGroupId + ""));
+				imGroupModels.add(new ImGroupModel(classGroupId + "",imGroupMember,""));
 			}
-			imFeignService.groupBatchDismiss(imGroupModels);
+            imFeignService.groupBatchQuit(imGroupModels);
 		}
 		
 		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedulesWithStudent(musicGroupId,GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode(),userId);

+ 8 - 0
mec-client-api/src/main/java/com/ym/mec/im/ImFeignService.java

@@ -79,4 +79,12 @@ public interface ImFeignService {
 	 */
 	@PostMapping(value = "group/batchDismiss")
 	Object groupBatchDismiss(@RequestBody List<ImGroupModel> groupModels);
+
+	/**
+	 * 批量解散群组
+	 * @param groupModels
+	 * @return
+	 */
+	@PostMapping(value = "group/batchQuit")
+	Object groupBatchQuit(@RequestBody List<ImGroupModel> groupModels);
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/im/fallback/ImFeignServiceFallback.java

@@ -52,4 +52,9 @@ public class ImFeignServiceFallback implements ImFeignService {
     public Object groupBatchDismiss(List<ImGroupModel> groupModels) {
         return null;
     }
+
+    @Override
+    public Object groupBatchQuit(List<ImGroupModel> groupModels) {
+        return null;
+    }
 }

+ 5 - 0
mec-im/src/main/java/com/ym/controller/GroupController.java

@@ -83,6 +83,11 @@ public class GroupController{
         return groupService.groupQuit(groupModel);
     }
 
+    @RequestMapping(value = "/batchQuit", method = RequestMethod.POST)
+    public void batchQuit(@RequestBody List<GroupModel> groupModels) throws Exception {
+        groupService.groupBatchQuit(groupModels);
+    }
+
     @RequestMapping(value = "/dismiss", method = RequestMethod.POST)
     public Object dismiss(@RequestBody GroupModel groupModel) throws Exception {
         GroupMember[] groupMember = {new GroupMember("1",null,null)};

+ 6 - 0
mec-im/src/main/java/com/ym/service/GroupService.java

@@ -68,4 +68,10 @@ public interface GroupService {
      * @param groupModels
      */
     void groupBatchDismiss(List<GroupModel> groupModels);
+
+    /**
+     * 批量退团
+     * @param groupModels
+     */
+    void groupBatchQuit(List<GroupModel> groupModels);
 }

+ 16 - 0
mec-im/src/main/java/com/ym/service/Impl/GroupServiceImpl.java

@@ -174,4 +174,20 @@ public class GroupServiceImpl implements GroupService {
             });
         }
     }
+
+    @Override
+    public void groupBatchQuit(List<GroupModel> groupModels) {
+        if(groupModels != null && groupModels.size() > 0){
+            Group group = getGroup();
+            GroupMember[] groupMember = {new GroupMember("1",null,null)};
+            groupModels.forEach(e->{
+                try {
+                    e.setMembers(groupMember);
+                    group.quit(e);
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            });
+        }
+    }
 }