Explorar o código

Merge remote-tracking branch 'origin/develop' into develop

Eric hai 1 ano
pai
achega
3be890850f
Modificáronse 15 ficheiros con 54 adicións e 64 borrados
  1. 1 0
      .gitignore
  2. 5 8
      cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java
  3. 5 8
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java
  4. 5 8
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java
  5. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java
  6. 5 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java
  7. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java
  8. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/ImGroupCoreService.java
  9. 6 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/impl/ImGroupCoreServiceImpl.java
  10. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java
  11. 8 8
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  12. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  13. 5 8
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java
  14. 5 8
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java
  15. 1 1
      cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

+ 1 - 0
.gitignore

@@ -63,3 +63,4 @@ target
 **/AuditLogInterceptor.java
 /toolset/audit-log/src/main/java/com/yonge/toolset/log/interceptor/AuditLogInterceptor.java
 /log/
+cooleshow-cms/src/main/resources/bootstrap-local.yaml

+ 5 - 8
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java

@@ -19,12 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.text.SimpleDateFormat;
@@ -77,8 +72,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false,defaultValue = "true") boolean quit
+    ) throws Exception {
+        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT,quit);
         return succeed();
     }
 

+ 5 - 8
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java

@@ -25,12 +25,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -104,8 +99,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false,defaultValue = "true") boolean quit
+    ) throws Exception {
+        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT,quit);
         return succeed();
     }
 

+ 5 - 8
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -24,12 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.HashSet;
@@ -119,8 +114,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false,defaultValue = "true") boolean quit
+    ) throws Exception {
+        imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER,quit);
         return succeed();
     }
 

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -125,7 +125,7 @@ public class OpenStudentController extends BaseController {
                                 .distinct().collect(Collectors.toList());
                         groupIdList.forEach(groupId -> {
                             try {
-                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
+                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT, true);
                             } catch (Exception e) {
                                 log.error("学生注册,切换机构退群失败:{}", e.getMessage());
                             }

+ 5 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java

@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
@@ -78,8 +79,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false, defaultValue = "true") boolean quit
+                                   ) throws Exception {
+        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT, quit);
         return succeed();
     }
 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java

@@ -127,7 +127,7 @@ public interface ImGroupService extends IService<ImGroup> {
     ImGroup getByCourseGroupId(Long courseGroupId);
 
     //退群
-    void quit(String groupId, Long userId, ClientEnum clientType) throws Exception;
+    void quit(String groupId, Long userId, ClientEnum clientType,Boolean quit) throws Exception;
 
     /**
      * 用户群组信息

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/ImGroupCoreService.java

@@ -86,7 +86,7 @@ public interface ImGroupCoreService {
      * @param groupId 群组ID
      * @throws Exception Exception
      */
-    void groupQuit(GroupMemberWrapper.ImGroupMember groupMember, String groupId) throws Exception;
+    void groupQuit(GroupMemberWrapper.ImGroupMember groupMember, String groupId,Boolean quit) throws Exception;
 
     /**
      * 用户主动退出群聊
@@ -95,7 +95,7 @@ public interface ImGroupCoreService {
      * @param imGroupId 群组ID
      * @throws Exception Exception
      */
-    void groupQuit(Long userId, String clientType, String imGroupId) throws Exception;
+    void groupQuit(Long userId, String clientType, String imGroupId,Boolean quit) throws Exception;
 
     /**
      * 入群申请消息

+ 6 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/im/impl/ImGroupCoreServiceImpl.java

@@ -333,7 +333,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
      * @throws Exception Exception
      */
     @Override
-    public void groupQuit(GroupMemberWrapper.ImGroupMember imGroupMember, String groupId) throws Exception {
+    public void groupQuit(GroupMemberWrapper.ImGroupMember imGroupMember, String groupId,Boolean quit) throws Exception {
 
         // 判定登录用户是否为群主
         ImGroup imGroup = imGroupService.lambdaQuery().eq(ImGroup::getId, groupId).last("LIMIT 1").one();
@@ -369,8 +369,9 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
                 .clientType(imGroupMember.getClientType())
                 .build());
 
-        // 删除主动退群操作,由移动端或前端自己主动发起退群操作
-        //imPluginContext.getPluginService().groupQuit(imGroup.getId(), getImGroupMembers(groupMembers));
+        if (Optional.ofNullable(quit).orElse(true)) {
+            imPluginContext.getPluginService().groupQuit(imGroup.getId(), getImGroupMembers(groupMembers));
+        }
     }
 
     /**
@@ -382,7 +383,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
      * @throws Exception Exception
      */
     @Override
-    public void groupQuit(Long userId, String clientType, String imGroupId) throws Exception {
+    public void groupQuit(Long userId, String clientType, String imGroupId ,Boolean quit) throws Exception {
 
         ImGroup imGroup = imGroupService.getById(imGroupId);
         if (Objects.isNull(imGroup)) {
@@ -395,7 +396,7 @@ public class ImGroupCoreServiceImpl implements ImGroupCoreService {
                 .clientType(clientType)
                 .build();
         // 退出群聊
-        groupQuit(groupMember, imGroup.getId());
+        groupQuit(groupMember, imGroup.getId(), quit);
     }
 
     /**

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -499,9 +499,9 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void quit(String groupId, Long userId, ClientEnum clientType) throws Exception {
+    public void quit(String groupId, Long userId, ClientEnum clientType,Boolean quit) throws Exception {
         try {
-            imGroupCoreService.groupQuit(userId, clientType.name(), groupId);
+            imGroupCoreService.groupQuit(userId, clientType.name(), groupId, quit);
         } catch (Exception e) {
             log.error("退出群聊失败",e);
         }
@@ -635,7 +635,7 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                                 .count();
                         // 拥有老师身份,且非群主时,需要主动退出群聊
                         if (count > 0 && numbers <= 0) {
-                            quit(groupId, userId, ClientEnum.TEACHER);
+                            quit(groupId, userId, ClientEnum.TEACHER,true);
                         }
 
                         // 缓存重新入群标识, 默认有效期为120天

+ 8 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -1055,10 +1055,10 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
                 .value(value)
                 .build());
 
-        appDefinedData.add(TencentRequest.ChatRoomGroupDefinedData.builder()
-                .key(EGroupDefinedDataType.UPDATE_INFO.getCode())
-                .value(type.getCode())
-                .build());
+//        appDefinedData.add(TencentRequest.ChatRoomGroupDefinedData.builder()
+//                .key(EGroupDefinedDataType.UPDATE_INFO.getCode())
+//                .value(type.getCode())
+//                .build());
         try {
             livePluginContext.getPluginService(roomVo.getServiceProvider())
                     .chatRoomGroupDefinedData(TencentRequest.ChatRoomGroup.builder()
@@ -1110,10 +1110,10 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
                 .value(totalUser.toString())
                 .build());
 
-        appDefinedData.add(TencentRequest.ChatRoomGroupDefinedData.builder()
-                .key(EGroupDefinedDataType.UPDATE_INFO.getCode())
-                .value(StringUtils.join(EGroupDefinedDataType.MEMBER_ONLINE.getCode(),",",EGroupDefinedDataType.MEMBER_TOTAL.getCode()))
-                .build());
+//        appDefinedData.add(TencentRequest.ChatRoomGroupDefinedData.builder()
+//                .key(EGroupDefinedDataType.UPDATE_INFO.getCode())
+//                .value(StringUtils.join(EGroupDefinedDataType.MEMBER_ONLINE.getCode(),",",EGroupDefinedDataType.MEMBER_TOTAL.getCode()))
+//                .build());
         try {
             livePluginContext.getPluginService(roomVo.getServiceProvider())
                     .chatRoomGroupDefinedData(TencentRequest.ChatRoomGroup.builder()

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -539,7 +539,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                     .collect(Collectors.toList());
             for (String groupId : groupIdList) {
                 try {
-                    imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT);
+                    imGroupService.quit(groupId, student.getUserId(), ClientEnum.STUDENT, true);
                 } catch (Exception e) {
                     log.error("退出群聊失败", e);
                 }

+ 5 - 8
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/ImGroupController.java

@@ -25,12 +25,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -104,8 +99,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false,defaultValue = "true") boolean quit
+                                   ) throws Exception {
+        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.STUDENT,quit);
         return succeed();
     }
 

+ 5 - 8
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -24,12 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.*;
@@ -116,8 +111,10 @@ public class ImGroupController extends BaseController {
 
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
-    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER);
+    public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId,
+                                   @RequestParam(value = "quit",required = false,defaultValue = "true") boolean quit
+                                   ) throws Exception {
+        imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER, quit);
         return succeed();
     }
 

+ 1 - 1
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenStudentController.java

@@ -125,7 +125,7 @@ public class OpenStudentController extends BaseController {
                                 .distinct().collect(Collectors.toList());
                         groupIdList.forEach(groupId -> {
                             try {
-                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT);
+                                imGroupService.quit(groupId, one.getUserId(), ClientEnum.STUDENT, true);
                             } catch (Exception e) {
                                 log.error("学生注册,切换机构退群失败:{}", e.getMessage());
                             }