|
@@ -8,9 +8,13 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.usky.common.core.bean.CommonPage;
|
|
|
+import com.usky.common.core.exception.BusinessException;
|
|
|
+import com.usky.common.security.utils.SecurityUtils;
|
|
|
+import com.usky.meeting.domain.MeetingAttendee;
|
|
|
import com.usky.meeting.domain.MeetingFloor;
|
|
|
import com.usky.meeting.domain.MeetingRoom;
|
|
|
import com.usky.meeting.mapper.MeetingRoomMapper;
|
|
|
+import com.usky.meeting.repository.MeetingAttendeeRepository;
|
|
|
import com.usky.meeting.repository.MeetingRoomRepository;
|
|
|
import com.usky.meeting.service.MeetingFloorService;
|
|
|
import com.usky.meeting.service.MeetingInfoService;
|
|
@@ -18,14 +22,13 @@ import com.usky.meeting.service.MeetingRoomService;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.meeting.service.vo.MeetingRoomRequestVO;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.apache.tomcat.jni.Local;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigInteger;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -42,6 +45,8 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
|
|
|
@Autowired
|
|
|
private MeetingRoomRepository dmMeetingRoomRepository;
|
|
|
@Autowired
|
|
|
+ private MeetingAttendeeRepository meetingAttendeeRepository;
|
|
|
+ @Autowired
|
|
|
private MeetingInfoService dmMeetingService;
|
|
|
@Autowired
|
|
|
private MeetingFloorService dmFloorService;
|
|
@@ -49,11 +54,12 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
|
|
|
@Override
|
|
|
public Map<String,Object> FirstPageStatistic(String year){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
- Map<String,Object> roomSummary = dmMeetingRoomRepository.roomSummary();
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
+ Map<String,Object> roomSummary = dmMeetingRoomRepository.roomSummary(tenantId);
|
|
|
map.put("roomSummary",roomSummary);
|
|
|
- Map<String,Object> meetingSummary = dmMeetingService.meetingSummary();
|
|
|
+ Map<String,Object> meetingSummary = dmMeetingService.meetingSummary(tenantId);
|
|
|
map.put("meetingSummary",meetingSummary);
|
|
|
- Map<String,Object> meetingSummaryByYear = dmMeetingService.meetingSummaryByYear(year);
|
|
|
+ Map<String,Object> meetingSummaryByYear = dmMeetingService.meetingSummaryByYear(year,tenantId);
|
|
|
map.put("meetingSummaryByYear",meetingSummaryByYear);
|
|
|
|
|
|
return map;
|
|
@@ -78,21 +84,17 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
|
|
|
.eq(StringUtils.isNotBlank(floorId),MeetingRoom::getFloorId,floorId)
|
|
|
.eq(StringUtils.isNotBlank(requestVO.getStatus()),MeetingRoom::getStatus,requestVO.getStatus())
|
|
|
.eq(null != requestVO.getRoomStatus(),MeetingRoom::getRoomStatus,requestVO.getRoomStatus())
|
|
|
+ .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId())
|
|
|
.orderByDesc(MeetingRoom::getRoomId);
|
|
|
page = this.page(page,queryWrapper);
|
|
|
if(CollectionUtils.isNotEmpty(page.getRecords())){
|
|
|
//查询楼层信息和本地存储信息
|
|
|
List<BigInteger> floorIdList = new ArrayList<>();
|
|
|
- List<BigInteger> storageIdList = new ArrayList<>();
|
|
|
for (int i = 0; i < page.getRecords().size(); i++) {
|
|
|
BigInteger floorId1 = new BigInteger(page.getRecords().get(i).getFloorId());
|
|
|
- BigInteger storageId = new BigInteger(page.getRecords().get(i).getStorageId());
|
|
|
if(!floorIdList.contains(floorId1)){
|
|
|
floorIdList.add(floorId1);
|
|
|
}
|
|
|
- if(!storageIdList.contains(storageId)){
|
|
|
- storageIdList.add(storageId);
|
|
|
- }
|
|
|
}
|
|
|
LambdaQueryWrapper<MeetingFloor> floorQuery = Wrappers.lambdaQuery();
|
|
|
floorQuery.in(CollectionUtils.isNotEmpty(floorIdList), MeetingFloor::getFloorId,floorIdList);
|
|
@@ -115,4 +117,70 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
|
|
|
|
|
|
return new CommonPage<>(page.getRecords(),page.getTotal(),requestVO.getSize(),requestVO.getCurrent());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<MeetingRoom> MeetingRoomList(){
|
|
|
+ LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
|
|
|
+ List<MeetingRoom> list = this.list(queryWrapper);
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void add(MeetingRoom meetingRoom){
|
|
|
+ if(checkNameUnique(meetingRoom)){
|
|
|
+ throw new BusinessException("新增会议室房间失败,"+meetingRoom.getRoomName()+"已经存在");
|
|
|
+ }
|
|
|
+ meetingRoom.setRoomStatus(0);
|
|
|
+ meetingRoom.setReserveStatus(0);
|
|
|
+ meetingRoom.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ meetingRoom.setCreateTime(LocalDateTime.now());
|
|
|
+ meetingRoom.setIsApprove(0);
|
|
|
+ meetingRoom.setTenantId(SecurityUtils.getTenantId());
|
|
|
+ this.save(meetingRoom);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void edit(MeetingRoom meetingRoom){
|
|
|
+ if(checkNameUnique(meetingRoom)){
|
|
|
+ throw new BusinessException("修改会议室房间失败,"+meetingRoom.getRoomName()+"已经存在");
|
|
|
+ }
|
|
|
+ meetingRoom.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ meetingRoom.setUpdateTime(LocalDateTime.now());
|
|
|
+
|
|
|
+ this.updateById(meetingRoom);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void remove(Long roomId){
|
|
|
+ MeetingRoom one = this.getById(roomId);
|
|
|
+ Optional.ofNullable(one).orElseThrow(() -> new BusinessException("该会议室房间不存在"));
|
|
|
+
|
|
|
+ this.removeById(roomId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String,Object> attendee(Long meetingId, Long userId, String userName){
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
+ map.put("userName",userName);
|
|
|
+ List<MeetingAttendee> list = meetingAttendeeRepository.findMeetingAttendeeList(meetingId,userId,tenantId);
|
|
|
+ if(org.springframework.util.CollectionUtils.isEmpty(list)){
|
|
|
+ map.put("msg","没有会议");
|
|
|
+ }else{
|
|
|
+ map.put("msg","验证成功");
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean checkNameUnique(MeetingRoom meetingRoom){
|
|
|
+ Long id = null == meetingRoom.getRoomId()?-1:meetingRoom.getRoomId();
|
|
|
+ LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(MeetingRoom::getRoomName,meetingRoom.getRoomName())
|
|
|
+ .eq(MeetingRoom::getTenantId, SecurityUtils.getTenantId());
|
|
|
+ MeetingRoom one = this.getOne(queryWrapper);
|
|
|
+ return null != one && !Objects.equals(one.getRoomId(),id);
|
|
|
+
|
|
|
+ }
|
|
|
}
|