jiangping
2024-05-10 8b379c762a24ca1a6744cd594266ab598180d62e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
package com.doumee.service.business;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
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.UserStatisticsVo;
import com.doumee.dao.web.request.BookingsRequest;
import com.doumee.dao.web.request.MeetingPageRequest;
import com.doumee.dao.web.response.DateTimeResourceDate;
import com.doumee.dao.web.response.MeetingDetailResponse;
import com.doumee.dao.web.response.MeetingListResponse;
import org.apache.ibatis.annotations.Param;
 
import java.time.LocalDateTime;
import java.util.Date;
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);
 
 
    /**
     * 我的预约/我的会议
     * @param pageWrap
     * @return
     */
    IPage<MeetingListResponse> getMyMeetingPage(PageWrap<MeetingPageRequest> pageWrap);
 
 
    /**
     * 会议详情
     * @param id
     * @return
     */
    MeetingDetailResponse getMeetingDetail(Integer id);
 
    /**
     * 获取会议二维码
     * @param id
     * @param userId
     * @return
     */
    String getQrCode(Integer id,Integer userId);
 
    /**
     * 会议室预约记录新增/修改
     * @param bookingsRequest
     */
    Integer reservationMeeting(BookingsRequest bookingsRequest);
 
    /**
     * 会议预约记录取消
     * @param id
     * @param userId
     */
    void reservationCancel(Integer id,Integer userId);
 
 
    /**
     * 参与的预约会议
     * @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();
}