u
This commit is contained in:
1 parent
52b16ed2b0
commit
c26d1b3c81
15 files changed
+315
-42
No files matched your search
+8
@@ -6,8 +6,10 @@ import cn.link56.company.model.dto.AddCompanyUserDTO;
|
||||
import cn.link56.company.model.dto.DeleteCompanyUserDTO;
|
||||
import cn.link56.company.model.dto.QueryCompanyUserDTO;
|
||||
import cn.link56.company.model.dto.UpdateCompanyUserDTO;
|
||||
import cn.link56.company.model.vo.ChatUserVO;
|
||||
import cn.link56.company.model.vo.QueryCompanyUserVO;
|
||||
import cn.link56.company.service.CompanyUserService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -43,4 +45,10 @@ public class CompanyUserController {
|
||||
companyUserService.deleteCompanyUser(deleteCompanyUserDTO);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@GetMapping("/chat/{companyId}")
|
||||
public Result<List<ChatUserVO>> listCompanyChatUsers(@PathVariable("companyId") Long companyId){
|
||||
List<ChatUserVO> data = companyUserService.listCompanyChatUsers(companyId);
|
||||
return Result.success(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package cn.link56.company.model.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ChatUserVO {
|
||||
private Long id;
|
||||
private String name;
|
||||
private String position;
|
||||
private String avatar;
|
||||
private Boolean isOnline;
|
||||
}
|
||||
+23
@@ -12,7 +12,9 @@ import cn.link56.company.model.dto.QueryCompanyUserDTO;
|
||||
import cn.link56.company.model.dto.UpdateCompanyUserDTO;
|
||||
import cn.link56.company.model.po.Company;
|
||||
import cn.link56.company.model.po.CompanyUser;
|
||||
import cn.link56.company.model.vo.ChatUserVO;
|
||||
import cn.link56.company.model.vo.QueryCompanyUserVO;
|
||||
import cn.link56.im.storage.SessionManager;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -24,6 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -304,4 +307,24 @@ public class CompanyUserService extends ServiceImpl<CompanyUserMapper, CompanyUs
|
||||
}
|
||||
|
||||
|
||||
public List<ChatUserVO> listCompanyChatUsers(Long companyId) {
|
||||
LambdaQueryWrapper<CompanyUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CompanyUser::getCompanyId, companyId)
|
||||
.eq(CompanyUser::getCanuse, "1");
|
||||
|
||||
List<CompanyUser> companyUsers = companyUserMapper.selectList(queryWrapper);
|
||||
|
||||
List<ChatUserVO> result = new ArrayList<>(companyUsers.size());
|
||||
|
||||
companyUsers.forEach(item -> {
|
||||
ChatUserVO chatUserVO = new ChatUserVO();
|
||||
BeanUtils.copyProperties(item, chatUserVO);
|
||||
chatUserVO.setIsOnline(SessionManager.isOnline(item.getId()));
|
||||
|
||||
result.add(chatUserVO);
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -216,9 +216,6 @@ public class MessageHandler {
|
||||
groupMessageVO.setSenderName(senderName);
|
||||
groupMessageVO.setSenderAvatar(senderAvatar);
|
||||
|
||||
// 通知建立群组关系
|
||||
|
||||
|
||||
// 查询该群在线的用户
|
||||
List<Long> onlineGroupUsers = imGroupUserService.getGroupOnlineUserIds(groupId);
|
||||
MessageWriter.broadcastToUsers(onlineGroupUsers,MessageResponse.success(MessageTypeEnums.GROUP,groupId).setData(groupMessageVO));
|
||||
|
||||
Reference in new issue
Block a user