|
@@ -0,0 +1,44 @@
|
|
|
+package com.sky.ioc.service.meeting.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.sky.ioc.entity.domain.meeting.MeetingRecord;
|
|
|
+import com.sky.ioc.entity.params.IocParam;
|
|
|
+import com.sky.ioc.mapper.meeting.MeetingRecordMapper;
|
|
|
+import com.sky.ioc.service.meeting.MeetingRecordService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class MeetingRecordServiceImpl implements MeetingRecordService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private MeetingRecordMapper meetingRecordMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map queryMeetingTreeList(IocParam iocParam) {
|
|
|
+ LambdaQueryWrapper<MeetingRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.ge(MeetingRecord::getStartTime, iocParam.getTimeRange().getStartDate());
|
|
|
+ queryWrapper.le(MeetingRecord::getEndTime, iocParam.getTimeRange().getEndDate());
|
|
|
+ List<MeetingRecord> meetingRecords = meetingRecordMapper.selectList(queryWrapper);
|
|
|
+ Map collect = meetingRecords.stream().collect(Collectors.groupingBy(MeetingRecord::getFloor));
|
|
|
+ for (Object key : collect.keySet()) {
|
|
|
+ List<MeetingRecord> records = (List<MeetingRecord>) collect.get(key);
|
|
|
+ Map<Integer, List<MeetingRecord>> map = records.stream().collect(Collectors.groupingBy(MeetingRecord::getRoom));
|
|
|
+ collect.put(key, map);
|
|
|
+ }
|
|
|
+ return collect;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<MeetingRecord> queryMeetingList(IocParam iocParam) {
|
|
|
+ LambdaQueryWrapper<MeetingRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.ge(MeetingRecord::getStartTime, iocParam.getTimeRange().getStartDate());
|
|
|
+ queryWrapper.le(MeetingRecord::getEndTime, iocParam.getTimeRange().getEndDate());
|
|
|
+ List<MeetingRecord> meetingRecords = meetingRecordMapper.selectList(queryWrapper);
|
|
|
+ return meetingRecords;
|
|
|
+ }
|
|
|
+}
|