|  | @@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.data.redis.core.RedisTemplate;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -49,8 +50,8 @@ public class RoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNetworkRoom
 | 
	
		
			
				|  |  |      private ImNetworkRoomMemberService imNetworkRoomMemberService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private ImService imService;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  | -    private ImGroupService imGroupService;
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private RedisTemplate<String,Object> redisTemplate;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public ImNetworkRoomDao getDao() {
 | 
	
	
		
			
				|  | @@ -119,12 +120,14 @@ public class RoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNetworkRoom
 | 
	
		
			
				|  |  |          int memberNum = imNetworkRoomMemberService.lambdaQuery()
 | 
	
		
			
				|  |  |                  .eq(ImNetworkRoomMember::getRoomId,roomId).count();
 | 
	
		
			
				|  |  |          if (memberNum <= 1) {
 | 
	
		
			
				|  |  | -            imHelper.dismiss(roomMember.getUserId(), roomId);
 | 
	
		
			
				|  |  | +            RTCRoomPluginService pluginService = rtcRoomPluginContext.getPluginService(serviceProvider);
 | 
	
		
			
				|  |  | +            redisTemplate.delete("joinImGroup:" + roomId);
 | 
	
		
			
				|  |  | +            pluginService.chatRoomDestroy(roomId);
 | 
	
		
			
				|  |  | +            //删除房间
 | 
	
		
			
				|  |  | +            this.removeById(room.getId());
 | 
	
		
			
				|  |  |              log.info("leaveRoomSuccess dismiss the room: {},userId: {}", roomId, roomMember.getUserId());
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            ImNetworkRoomMemberChangedMessage msg = new ImNetworkRoomMemberChangedMessage(roomMember, ImNetworkRoomMemberChangedEnum.LEAVE);
 | 
	
		
			
				|  |  | -            imHelper.publishMessage(roomMember.getUserId(), roomId, msg);
 | 
	
		
			
				|  |  | -            imHelper.quit(new String[]{roomMember.getUserId()}, roomId);
 | 
	
		
			
				|  |  | +            imService.sendQuitRoomMsg(roomMember,serviceProvider);
 | 
	
		
			
				|  |  |              log.info("leaveRoomSuccess quit group: roomId={},userId: {}", roomId, roomMember.getUserId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //删房间用户信息
 |