Browse Source

修复IM群主聊天异常

Eric 2 năm trước cách đây
mục cha
commit
a9d736daec

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

@@ -282,8 +282,13 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
                         // 自动加入该群组
                         imGroupMemberService.join(Lists.newArrayList(new GroupMember(imIdentity, groupId, null)), groupId);
 
+                        Integer numbers = imGroupMemberService.lambdaQuery()
+                                .eq(ImGroupMember::getGroupId, groupId)
+                                .eq(ImGroupMember::getUserId, userId)
+                                .eq(ImGroupMember::getIsAdmin, true)
+                                .count();
                         // 拥有老师身份,且非群主时,需要主动退出群聊
-                        if (count > 0 && !groupMember.getIsAdmin()) {
+                        if (count > 0 && numbers <= 0) {
 
                             GroupModel groupModel = new GroupModel(groupId,0);
                             GroupMember[] groupMembers = new GroupMember[]{new GroupMember(String.valueOf(userId), groupId,null)};

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -174,6 +174,6 @@
         FROM course_schedule_student_payment cssp
         LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
         WHERE cssp.course_id_ = #{scheduleId}
-        AND NOT EXISTS (SELECT rm.user_id_ FROM im_network_room_member rm WHERE rm.room_id_ = #{scheduleId} AND rm.user_id_ = cssp.user_id_)
+        AND NOT EXISTS (SELECT rm.user_id_ FROM im_network_room_member rm WHERE rm.room_id_ = #{scheduleId} AND rm.user_id_ = cssp.user_id_ AND rm.role_ = 0)
     </select>
 </mapper>

+ 3 - 3
service.md

@@ -1,8 +1,8 @@
 - [ ] gateway-server
 - [ ] auth-server
-- [ ] admin-server
-- [ ] teacher-server
-- [ ] student-server
+- [x] admin-server
+- [x] teacher-server
+- [x] student-server
 - [ ] website-server
 - [ ] task-server
 - [ ] websocket-server