Browse Source

'优化会议室-会议室详情接口,新增预约人和参会人详情信息'

james 1 year ago
parent
commit
9d731f354d

+ 39 - 5
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -1,5 +1,6 @@
 package com.usky.meeting.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -19,15 +20,11 @@ import com.usky.meeting.repository.MeetingAttendeeRepository;
 import com.usky.meeting.repository.MeetingDeviceRepository;
 import com.usky.meeting.repository.MeetingInfoRepository;
 import com.usky.meeting.repository.MeetingRoomRepository;
-import com.usky.meeting.service.MeetingDeviceService;
-import com.usky.meeting.service.MeetingFloorService;
-import com.usky.meeting.service.MeetingInfoService;
-import com.usky.meeting.service.MeetingRoomService;
+import com.usky.meeting.service.*;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.meeting.service.dto.DmMeetingRoomDto;
 import com.usky.meeting.service.vo.MeetingRoomRequestVO;
 import com.usky.meeting.service.vo.MeetingRoomReservationVO;
-import com.usky.system.domain.SysUser;
 import lombok.RequiredArgsConstructor;
 import org.apache.tomcat.jni.Local;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +32,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigInteger;
+import java.sql.Timestamp;
 import java.text.ParseException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -64,6 +62,8 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     private MeetingDeviceRepository meetingDeviceRepository;
     @Autowired
     private MeetingInfoRepository meetingInfoRepository;
+    @Autowired
+    private SysUserService sysUserService;
 
     @Override
     public Map<String,Object> FirstPageStatistic(String year){
@@ -273,6 +273,40 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         //查询今天所有的会议
         List<MeetingInfo> meetingList = meetingInfoRepository.queryAllMeetingByRoomId(roomId);
 
+        LambdaQueryWrapper<SysUser> sysUserQuery = Wrappers.lambdaQuery();
+        sysUserQuery.eq(SysUser::getTenantId,SecurityUtils.getTenantId());
+        List<SysUser> userList = sysUserService.list(sysUserQuery);
+        if(userList.size() <= 0){
+            throw new BusinessException("用户信息不能为空");
+        }
+        if(!ObjectUtil.isEmpty(meetingList)){
+            for(MeetingInfo dmMeeting : meetingList){
+                //参会人员信息
+                List<SysUser> attendeeUserList = new ArrayList<>();
+                List<MeetingAttendee> attendeeList = meetingAttendeeRepository.findMeetingAttendeeList(dmMeeting.getMeetingId(),null, SecurityUtils.getTenantId());
+                if(attendeeList.size() > 0){
+                    for (int i = 0; i < attendeeList.size(); i++) {
+                        Long uid = attendeeList.get(i).getUserId();
+                        for (int j = 0; j < userList.size(); j++) {
+                            if(uid.equals(userList.get(j).getUserId())){
+                                attendeeUserList.add(userList.get(j));
+                                break;
+                            }
+                        }
+                    }
+                }
+                dmMeeting.setUsers(attendeeUserList);
+                //发起人信息
+                for (int i = 0; i < userList.size(); i++) {
+                    if(userList.get(i).getUserId().equals(Long.valueOf(dmMeeting.getInitiatorId()))){
+                        dmMeeting.setInitiatorUser(userList.get(i));
+                        break;
+                    }
+                }
+
+            }
+        }
+
         meetingRoom.setMeetingFloor(meetingFloor);
         meetingRoom.setMeetingDevice(deviceList);
         meetingRoom.setMeetingInfo(meetingList);