| package com.doumee.service.business; | 
|   | 
| import com.baomidou.mybatisplus.core.metadata.IPage; | 
| import com.doumee.service.business.third.model.LoginUserInfo; | 
| import com.doumee.service.business.third.model.PageData; | 
| import com.doumee.service.business.third.model.PageWrap; | 
| import com.doumee.dao.admin.request.BusinessOverDTO; | 
| import com.doumee.dao.admin.response.DevWgResponseParam; | 
| import com.doumee.dao.business.model.Bookings; | 
| import com.doumee.dao.business.vo.RoomStatisticsVo; | 
| import com.doumee.dao.system.dto.UserStatisticsDTO; | 
| import com.doumee.dao.system.vo.UserResponse; | 
| import com.doumee.dao.system.vo.UserStatisticsVo; | 
| import com.doumee.dao.web.request.BookingsRequest; | 
| import com.doumee.dao.web.request.MeetingPageRequest; | 
| import com.doumee.dao.web.request.UserPageRequest; | 
| import com.doumee.dao.web.response.DateTimeResourceDate; | 
| import com.doumee.dao.web.response.MeetingDetailResponse; | 
| import com.doumee.dao.web.response.MeetingListResponse; | 
| import com.doumee.dao.web.response.RoomDetailResponse; | 
|   | 
| import java.time.LocalDateTime; | 
| import java.util.List; | 
|   | 
| /** | 
|  * 会议室预定信息表Service定义 | 
|  * @author 江蹄蹄 | 
|  * @date 2023/05/04 18:18 | 
|  */ | 
| public interface BookingsService { | 
|   | 
|     /** | 
|      * 创建 | 
|      *  | 
|      * @param bookings 实体对象 | 
|      * @return Integer | 
|      */ | 
|     Integer create(Bookings bookings); | 
|   | 
|     /** | 
|      * 主键删除 | 
|      * | 
|      * @param id 主键 | 
|      */ | 
|     void deleteById(Integer id,LoginUserInfo user); | 
|   | 
|     /** | 
|      * 删除 | 
|      * | 
|      * @param bookings 实体对象 | 
|      */ | 
|     void delete(Bookings bookings,LoginUserInfo user); | 
|   | 
|     /** | 
|      * 批量主键删除 | 
|      * | 
|      * @param ids 主键集 | 
|      */ | 
|     void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user); | 
|   | 
|     /** | 
|      * 主键更新 | 
|      * | 
|      * @param bookings 实体对象 | 
|      */ | 
|     void updateById(Bookings bookings); | 
|   | 
|     void cancelById(Bookings bookings); | 
|   | 
|     /** | 
|      * 批量主键更新 | 
|      * | 
|      * @param bookingss 实体集 | 
|      */ | 
|     void updateByIdInBatch(List<Bookings> bookingss); | 
|   | 
|     /** | 
|      * 主键查询 | 
|      * | 
|      * @param id 主键 | 
|      * @return Bookings | 
|      */ | 
|     Bookings findById(Integer id); | 
|   | 
|     /** | 
|      * 条件查询单条记录 | 
|      * | 
|      * @param bookings 实体对象 | 
|      * @return Bookings | 
|      */ | 
|     Bookings findOne(Bookings bookings); | 
|   | 
|     /** | 
|      * 条件查询 | 
|      * | 
|      * @param bookings 实体对象 | 
|      * @return List<Bookings> | 
|      */ | 
|     List<Bookings> findList(Bookings bookings); | 
|     Bookings  findJoinOne( Bookings  queryParam); | 
|     /** | 
|      * 分页查询 | 
|      * | 
|      * @param pageWrap 分页对象 | 
|      * @return PageData<Bookings> | 
|      */ | 
|     PageData<Bookings> findPage(PageWrap<Bookings> pageWrap); | 
|   | 
|     /** | 
|      * 条件统计 | 
|      * | 
|      * @param bookings 实体对象 | 
|      * @return long | 
|      */ | 
|     long count(Bookings bookings); | 
|     void openRoomDoor(DevWgResponseParam json) throws Exception; | 
|   | 
|   | 
|   | 
|     /****************************************移动端接口开始********************************************************************/ | 
|   | 
|     /** | 
|      * 我的会议日期信息 | 
|      * @param userId | 
|      * @param dateMsg | 
|      * @return | 
|      */ | 
|     List<Bookings> getMyBookings(Integer userId,String dateMsg,Integer queryType); | 
|   | 
|   | 
|     /** | 
|      * 我的预约/我的会议 | 
|      * @param pageWrap | 
|      * @return | 
|      */ | 
|     IPage<MeetingListResponse> getMyMeetingPage(PageWrap<MeetingPageRequest> pageWrap); | 
|   | 
|   | 
|     /** | 
|      * 会议详情 | 
|      * @param id | 
|      * @return | 
|      */ | 
|     MeetingDetailResponse getMeetingDetail(Integer id,Integer sysUserId); | 
|   | 
|     /** | 
|      * 根据日期和会议室主键查询占用信息 | 
|      * @param bean | 
|      * @return | 
|      */ | 
|     MeetingDetailResponse getMeetingDetailByDate(Bookings bean); | 
|     /** | 
|      * 获取会议二维码 | 
|      * @param id | 
|      * @param userId | 
|      * @return | 
|      */ | 
|     String getQrCode(Integer id,Integer userId); | 
|   | 
|     /** | 
|      * 会议室预约记录新增/修改 | 
|      * @param bookingsRequest | 
|      */ | 
|     Integer reservationMeeting(BookingsRequest bookingsRequest); | 
|   | 
|     /** | 
|      * 会议预约记录取消 | 
|      */ | 
|     void reservationCancel(BusinessOverDTO businessOverDTO); | 
|   | 
|   | 
|     /** | 
|      * 参与的预约会议 | 
|      * @param userId | 
|      * @param startTime | 
|      * @param endTime | 
|      * @return | 
|      */ | 
|     List<Bookings> getMyJoinBookingMeet(Integer userId, Integer roomId,LocalDateTime startTime, LocalDateTime endTime); | 
|   | 
|   | 
|     /** | 
|      * 获取用户当当月预约会议情况 | 
|      * @param userId | 
|      * @return | 
|      */ | 
|     List<DateTimeResourceDate> findMothBookingMeet(Integer userId,Integer roomId,String dateMonth); | 
|   | 
|   | 
|     /** | 
|      * 会议室使用时长统计 | 
|      * @param yearNum | 
|      * @return | 
|      */ | 
|     List<RoomStatisticsVo> getRoomStatistics(Integer yearNum); | 
|   | 
|   | 
|     /** | 
|      * 人员参加会议时常 | 
|      * @param pageWrap | 
|      * @return | 
|      */ | 
|     PageData<UserStatisticsVo> getUserStatistics(PageWrap<UserStatisticsDTO> pageWrap); | 
|   | 
|     void sendBookingsNotice(); | 
|   | 
|     IPage<UserResponse> getUserPage(PageWrap<UserPageRequest> pageWrap); | 
|   | 
|     void reservationOver(BusinessOverDTO businessOverDTO); | 
|   | 
|     void start(BusinessOverDTO businessOverDTO); | 
|   | 
|     void startEarly(BusinessOverDTO businessOverDTO); | 
|   | 
|     RoomDetailResponse getRoomDetail(Integer roomId); | 
|   | 
|     void autoStart(); | 
|   | 
| } |