Browse Source

'开发会议室-会议室详情接口,优化会议文件-添加会议文件接'

james 1 year ago
parent
commit
64e3bc6e7b

+ 4 - 2
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingFileController.java

@@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.*;
 
 import org.springframework.stereotype.Controller;
 
+import java.util.List;
+
 /**
  * <p>
  * 会议文件 前端控制器
@@ -32,8 +34,8 @@ public class MeetingFileController {
      * @return
      */
     @PostMapping("insertMeetingFile")
-    public ApiResult<Void> insertMeetingFile(@RequestBody MeetingFileRequestVO requestVO){
-        meetingFileService.insertMeetingFile(requestVO);
+    public ApiResult<Void> insertMeetingFile(@RequestBody List<MeetingFileRequestVO> requestVOList){
+        meetingFileService.insertMeetingFile(requestVOList);
         return ApiResult.success();
     }
 

+ 10 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/controller/web/MeetingRoomController.java

@@ -117,6 +117,16 @@ public class MeetingRoomController {
         return ApiResult.success(meetingRoomService.getMeetingRoomReservationList(reservationVO));
 
     }
+
+    /**
+     * 会议室详情
+     * @param roomId
+     * @return
+     */
+    @GetMapping("meetingRoomDetails")
+    public ApiResult<MeetingRoom> meetingRoomDetails(@RequestParam Long roomId){
+        return ApiResult.success(meetingRoomService.meetingRoomDetails(roomId));
+    }
 }
 
 

+ 2 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingDevice.java

@@ -12,6 +12,7 @@ import lombok.EqualsAndHashCode;
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
+import javax.persistence.Transient;
 
 /**
  * <p>
@@ -23,7 +24,6 @@ import javax.persistence.Id;
  */
 @Data
 @Entity
-@TableName("meeting_device")
 @EqualsAndHashCode(callSuper = false)
 public class MeetingDevice implements Serializable {
 
@@ -114,6 +114,7 @@ public class MeetingDevice implements Serializable {
     /**
      * 会议室名称
      */
+    @Transient
     @TableField(exist = false)
     private String roomName;
 

+ 17 - 5
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/domain/MeetingRoom.java

@@ -2,6 +2,7 @@ package com.usky.meeting.domain;
 
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -10,10 +11,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
+import javax.persistence.*;
 
 /**
  * <p>
@@ -136,10 +134,24 @@ public class MeetingRoom implements Serializable {
     /**
      * 楼层信息
      */
-    @ManyToOne
+    @Transient
     @TableField(exist = false)
     private MeetingFloor meetingFloor;
 
+    /**
+     * 设备信息
+     */
+    @Transient
+    @TableField(exist = false)
+    private List<MeetingDevice> meetingDevice;
+
+    /**
+     * 会议信息
+     */
+    @Transient
+    @TableField(exist = false)
+    private List<MeetingInfo> meetingInfo;
+
     /**
      * 组织机构ID
      */

+ 16 - 19
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingDeviceRepository.java

@@ -15,27 +15,24 @@
 */
 package com.usky.meeting.repository;
 
+import com.usky.meeting.domain.MeetingDevice;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+import java.util.Map;
+
 /**
 * @website https://el-admin.vip
 * @author shiguangji
 * @date 2021-03-12
 **/
-//public interface DmDeviceRepository extends JpaRepository<DmDevice, String>, JpaSpecificationExecutor<DmDevice> {
-//
-//    @Modifying
-//    @Query(value = "select device_id as deviceId," +
-//            "device_name as deviceName," +
-//            "storage_id as storageId," +
-//            "img_path as imgPath," +
-//            "nameplate as nameplate," +
-//            "room_id as roomId," +
-//            "register_date as registerDate," +
-//            "maintainer as maintainer," +
-//            "contacts as contacts," +
-//            "remark as remark," +
-//            "create_by as creatBy," +
-//            "update_by as updateBy " +
-//            "from dm_device where room_id = :roomId",nativeQuery = true)
-//    List<Map<String,Object>> getDeviceListByRoomId(@Param("roomId") Long roomId);
-//
-//}
+public interface MeetingDeviceRepository extends JpaRepository<MeetingDevice, Long>, JpaSpecificationExecutor<MeetingDevice> {
+
+    @Query(value = "select * from meeting_device where room_id = :roomId",nativeQuery = true)
+    List<MeetingDevice> getDeviceListByRoomId(@Param("roomId") Long roomId);
+
+}

+ 8 - 8
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/repository/MeetingInfoRepository.java

@@ -289,14 +289,14 @@ public interface MeetingInfoRepository extends JpaRepository<MeetingInfo, Long>,
 //            " and m.is_cancel = 0" +
 //            " and m.start_date BETWEEN DATE_FORMAT(NOW(),'%Y-%m-%d') AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 3 DAY),'%Y-%m-%d')",nativeQuery = true)
 //    List<Map<String,String>> selectRoomThreeDaysReserveList(@Param("roomID") Long roomId);
-//
-//    /**
-//     * 查询会议室当天所有的会议预约记录
-//     * @param roomId
-//     * @return
-//     */
-//    @Query(value = "select * from dm_meeting where TO_DAYS(start_date) = TO_DAYS(NOW()) and room_id = :roomId",nativeQuery = true)
-//    List<DmMeeting> queryAllMeetingByRoomId(@Param("roomId") Long roomId);
+
+    /**
+     * 查询会议室当天所有的会议预约记录
+     * @param roomId
+     * @return
+     */
+    @Query(value = "select * from meeting_info where TO_DAYS(start_date) = TO_DAYS(NOW()) and room_id = :roomId",nativeQuery = true)
+    List<MeetingInfo> queryAllMeetingByRoomId(@Param("roomId") Long roomId);
 //
 //
 //    /**

+ 3 - 1
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingFileService.java

@@ -7,6 +7,8 @@ import com.usky.meeting.service.vo.MeetingFileListVO;
 import com.usky.meeting.service.vo.MeetingFileRequestVO;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+
 /**
  * <p>
  * 会议文件 服务类
@@ -17,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
  */
 public interface MeetingFileService extends CrudService<MeetingFile> {
 
-    void insertMeetingFile(MeetingFileRequestVO requestVO);
+    void insertMeetingFile(List<MeetingFileRequestVO> requestVOList);
 
     CommonPage<MeetingFile> meetingFileList(MeetingFileListVO meetingFileListVO);
 }

+ 3 - 0
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/MeetingRoomService.java

@@ -7,6 +7,7 @@ import com.usky.meeting.service.dto.DmMeetingRoomDto;
 import com.usky.meeting.service.vo.MeetingRoomRequestVO;
 import com.usky.meeting.service.vo.MeetingRoomReservationVO;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.text.ParseException;
 import java.util.List;
@@ -38,4 +39,6 @@ public interface MeetingRoomService extends CrudService<MeetingRoom> {
     Map<String,Object> attendee(Long meetingId, Long userId, String userName);
 
     List<DmMeetingRoomDto> getMeetingRoomReservationList(MeetingRoomReservationVO reservationVO)  throws ParseException;
+
+    MeetingRoom meetingRoomDetails(Long roomId);
 }

+ 19 - 11
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingFileServiceImpl.java

@@ -6,6 +6,7 @@ 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.security.utils.SecurityUtils;
+import com.usky.meeting.domain.MeetingFace;
 import com.usky.meeting.domain.MeetingFile;
 import com.usky.meeting.mapper.MeetingFileMapper;
 import com.usky.meeting.service.MeetingFileService;
@@ -16,6 +17,7 @@ import org.springframework.beans.factory.wiring.BeanWiringInfo;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -29,17 +31,22 @@ import java.time.LocalDateTime;
 public class MeetingFileServiceImpl extends AbstractCrudService<MeetingFileMapper, MeetingFile> implements MeetingFileService {
 
     @Override
-    public void insertMeetingFile(MeetingFileRequestVO requestVO){
-        MeetingFile meetingFile = new MeetingFile();
-        meetingFile.setMeetingId(requestVO.getMeetingId());
-        meetingFile.setFileUrl(requestVO.getFileUrl());
-        meetingFile.setFileType(requestVO.getFileType());
-        meetingFile.setUploadUser(SecurityUtils.getUsername());
-        meetingFile.setUploadTime(LocalDateTime.now());
-        meetingFile.setTenantId(SecurityUtils.getTenantId());
-        meetingFile.setFileName(requestVO.getFileName());
-
-        this.save(meetingFile);
+    public void insertMeetingFile(List<MeetingFileRequestVO> requestVOList){
+        if(requestVOList.size() > 0){
+            for (int i = 0; i < requestVOList.size(); i++) {
+                MeetingFile meetingFile = new MeetingFile();
+                meetingFile.setMeetingId(requestVOList.get(i).getMeetingId());
+                meetingFile.setFileUrl(requestVOList.get(i).getFileUrl());
+                meetingFile.setFileType(requestVOList.get(i).getFileType());
+                meetingFile.setUploadUser(SecurityUtils.getUsername());
+                meetingFile.setUploadTime(LocalDateTime.now());
+                meetingFile.setTenantId(SecurityUtils.getTenantId());
+                meetingFile.setFileName(requestVOList.get(i).getFileName());
+
+                this.save(meetingFile);
+            }
+        }
+
     }
 
     @Override
@@ -52,6 +59,7 @@ public class MeetingFileServiceImpl extends AbstractCrudService<MeetingFileMappe
         LambdaQueryWrapper<MeetingFile> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(null != meetingFileListVO.getMeetingId(),MeetingFile::getMeetingId,meetingFileListVO.getMeetingId())
                 .like(StringUtils.isNotBlank(meetingFileListVO.getFileName()),MeetingFile::getFileName,meetingFileListVO.getFileName())
+                .eq(MeetingFile::getTenantId,SecurityUtils.getTenantId())
                 .orderByDesc(MeetingFile::getFileId);
         page = this.page(page,queryWrapper);
 

+ 29 - 4
service-meeting/service-meeting-biz/src/main/java/com/usky/meeting/service/impl/MeetingRoomServiceImpl.java

@@ -13,13 +13,13 @@ import com.fasterxml.jackson.databind.type.CollectionLikeType;
 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.MeetingInfo;
-import com.usky.meeting.domain.MeetingRoom;
+import com.usky.meeting.domain.*;
 import com.usky.meeting.mapper.MeetingRoomMapper;
 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;
@@ -60,6 +60,10 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
     private MeetingInfoService dmMeetingService;
     @Autowired
     private MeetingFloorService dmFloorService;
+    @Autowired
+    private MeetingDeviceRepository meetingDeviceRepository;
+    @Autowired
+    private MeetingInfoRepository meetingInfoRepository;
 
     @Override
     public Map<String,Object> FirstPageStatistic(String year){
@@ -255,6 +259,27 @@ public class MeetingRoomServiceImpl extends AbstractCrudService<MeetingRoomMappe
         return newDmMeetingRoomDtoList;
     }
 
+    @Override
+    public MeetingRoom meetingRoomDetails(Long roomId){
+        //查询会议室基础信息
+        MeetingRoom meetingRoom = this.getById(roomId);
+
+        //楼层信息
+        Long floorId = meetingRoom.getFloorId();
+        MeetingFloor meetingFloor = dmFloorService.getById(floorId);
+
+        //会议室设备列表
+        List<MeetingDevice> deviceList = meetingDeviceRepository.getDeviceListByRoomId(roomId);
+        //查询今天所有的会议
+        List<MeetingInfo> meetingList = meetingInfoRepository.queryAllMeetingByRoomId(roomId);
+
+        meetingRoom.setMeetingFloor(meetingFloor);
+        meetingRoom.setMeetingDevice(deviceList);
+        meetingRoom.setMeetingInfo(meetingList);
+
+        return meetingRoom;
+    }
+
     public boolean checkNameUnique(MeetingRoom meetingRoom){
         Long id = null == meetingRoom.getRoomId()?-1:meetingRoom.getRoomId();
         LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();