提交 de77b5ff 作者: duanxincheng

查询个人的邮件推送许可优化

父级 c02ea56d
...@@ -5,6 +5,7 @@ import com.cmeeting.dto.UserDTO; ...@@ -5,6 +5,7 @@ import com.cmeeting.dto.UserDTO;
import com.cmeeting.mapper.primary.UserIdMapper; import com.cmeeting.mapper.primary.UserIdMapper;
import com.cmeeting.pojo.MeetingInfo; import com.cmeeting.pojo.MeetingInfo;
import com.cmeeting.pojo.UserId; import com.cmeeting.pojo.UserId;
import com.cmeeting.pojo.WeComUser;
import com.cmeeting.service.*; import com.cmeeting.service.*;
import com.cmeeting.vo.TencentMeetingVO; import com.cmeeting.vo.TencentMeetingVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -20,6 +21,7 @@ import java.time.LocalDateTime; ...@@ -20,6 +21,7 @@ import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
...@@ -103,6 +105,10 @@ public class CmeetingJob { ...@@ -103,6 +105,10 @@ public class CmeetingJob {
List<UserId> userIdRelations = userIdMapper.selectList(null); List<UserId> userIdRelations = userIdMapper.selectList(null);
Map<String,String> widTidRelations = userIdRelations.stream().collect(Collectors.toMap(UserId::getWid,UserId::getTid)); Map<String,String> widTidRelations = userIdRelations.stream().collect(Collectors.toMap(UserId::getWid,UserId::getTid));
Map<String,String> tidWidRelations = userIdRelations.stream().collect(Collectors.toMap(UserId::getTid,UserId::getWid)); Map<String,String> tidWidRelations = userIdRelations.stream().collect(Collectors.toMap(UserId::getTid,UserId::getWid));
//查出企微的人员信息
List<WeComUser> weComUserList = weComService.list();
Map<String,WeComUser> weComUserMap = weComUserList.stream().collect(Collectors.toMap(WeComUser::getUserId, Function.identity()));
//智能体授权人员 //智能体授权人员
List<UserDTO> accessUserIds = tencentMeetingService.getAccessUserIds(widTidRelations); List<UserDTO> accessUserIds = tencentMeetingService.getAccessUserIds(widTidRelations);
if (CollectionUtils.isEmpty(accessUserIds)) { if (CollectionUtils.isEmpty(accessUserIds)) {
...@@ -111,7 +117,7 @@ public class CmeetingJob { ...@@ -111,7 +117,7 @@ public class CmeetingJob {
}else{ }else{
log.info("生成纪要权限人员:->{}",accessUserIds.toString()); log.info("生成纪要权限人员:->{}",accessUserIds.toString());
} }
List<TencentMeetingVO.RecordFile> meetingFiles = tencentMeetingService.getMeetingFiles(accessUserIds); List<TencentMeetingVO.RecordFile> meetingFiles = tencentMeetingService.getMeetingFiles(accessUserIds,weComUserMap);
if (meetingFiles == null || meetingFiles.isEmpty()) { if (meetingFiles == null || meetingFiles.isEmpty()) {
log.info("没有录制文件需要处理"); log.info("没有录制文件需要处理");
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.cmeeting.dto.UserDTO; import com.cmeeting.dto.UserDTO;
import com.cmeeting.pojo.TencentMeetingUser; import com.cmeeting.pojo.TencentMeetingUser;
import com.cmeeting.pojo.UserId; import com.cmeeting.pojo.UserId;
import com.cmeeting.pojo.WeComUser;
import com.cmeeting.vo.TencentMeetingVO; import com.cmeeting.vo.TencentMeetingVO;
import java.util.List; import java.util.List;
...@@ -14,7 +15,7 @@ public interface TencentMeetingService extends IService<TencentMeetingUser> { ...@@ -14,7 +15,7 @@ public interface TencentMeetingService extends IService<TencentMeetingUser> {
void doUsers(); void doUsers();
List<TencentMeetingVO.RecordFile> getMeetingFiles(List<UserDTO> accessUserIds); List<TencentMeetingVO.RecordFile> getMeetingFiles(List<UserDTO> accessUserIds,Map<String, WeComUser> weComUserMap);
List<UserDTO> getAccessUserIds(Map<String,String> userIdRelations); List<UserDTO> getAccessUserIds(Map<String,String> userIdRelations);
......
...@@ -10,6 +10,7 @@ import com.cmeeting.mapper.secondary.SysUserSysMapper; ...@@ -10,6 +10,7 @@ import com.cmeeting.mapper.secondary.SysUserSysMapper;
import com.cmeeting.pojo.CoreModulePermissions; import com.cmeeting.pojo.CoreModulePermissions;
import com.cmeeting.pojo.MeetingInfo; import com.cmeeting.pojo.MeetingInfo;
import com.cmeeting.pojo.TencentMeetingUser; import com.cmeeting.pojo.TencentMeetingUser;
import com.cmeeting.pojo.WeComUser;
import com.cmeeting.service.TencentMeetingService; import com.cmeeting.service.TencentMeetingService;
import com.cmeeting.util.RedisUtils; import com.cmeeting.util.RedisUtils;
import com.cmeeting.util.SignatureUtil; import com.cmeeting.util.SignatureUtil;
...@@ -104,8 +105,14 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T ...@@ -104,8 +105,14 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
} }
/**
* 获取会议信息以及会议对应的转录文件信息
* @param accessUserIds 允许生成会议纪要的人员
* @param weComUserMap 企微可见范围内现有的人员
* @return
*/
@Override @Override
public List<TencentMeetingVO.RecordFile> getMeetingFiles(List<UserDTO> accessUserIds) { public List<TencentMeetingVO.RecordFile> getMeetingFiles(List<UserDTO> accessUserIds,Map<String, WeComUser> weComUserMap) {
Client client = new Client.Builder() Client client = new Client.Builder()
.withAppId(tencentAppId).withSdkId(tencentSdkId) .withAppId(tencentAppId).withSdkId(tencentSdkId)
.withSecret(tencentSecretId,tencentSecretKey) .withSecret(tencentSecretId,tencentSecretKey)
...@@ -272,7 +279,8 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T ...@@ -272,7 +279,8 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
UserDTO userDTO = accessUserIds.stream().filter(item -> item.getTid().equals(hostId)).findFirst().get(); UserDTO userDTO = accessUserIds.stream().filter(item -> item.getTid().equals(hostId)).findFirst().get();
String email = userDTO.getEmail(); String email = userDTO.getEmail();
Boolean emailPushAccess = userDTO.getEmailPushAccess(); Boolean emailPushAccess = weComUserMap.containsKey(userDTO.getWid())
? weComUserMap.get(userDTO.getWid()).getEmailPushAccess() : Boolean.FALSE;
//会议基本信息保存 //会议基本信息保存
MeetingInfo meetingItem = MeetingInfo.builder().meetingId(meetingId).meetingCode(meeting.getMeetingCode()) MeetingInfo meetingItem = MeetingInfo.builder().meetingId(meetingId).meetingCode(meeting.getMeetingCode())
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论