提交 de77b5ff 作者: duanxincheng

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

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