fix:query_avali_room优化

This commit is contained in:
yujj128
2025-07-14 15:07:28 +08:00
parent b82ed13f4c
commit 5815dac235

View File

@@ -153,23 +153,30 @@ def query_avali_room(data: dict,params: dict,start_time=None,end_time=None) -> s
unavali_room = []
avali_room = []
if time_exist:
tmp_params = params.copy()
tmp_params['pageSize'] = pageSize
id_coll = ""
room_ids = []
for room in meeting_room:
tmp_params = params.copy()
tmp_params['pageSize'] = pageSize
tmp_params['meetingRoomIds'] = room['id']
room_ids.append(room['id'])
if room_ids:
tmp_params['meetingRoomIds'] = ",".join(room_ids)
booking_info = query_booking_info(tmp_params)
logger.info("会议室{0}下的会议详情:{1}".format(room['id'], booking_info))
if not isinstance(booking_info, dict):
raise Exception(f"query_avali_room: 已预定会议信息获取不符合预期 => {booking_info}")
booking_meeting = booking_info['data']
for meetings in booking_meeting:
logger.info("current meetings {0}".format(meetings))
for m in meetings['meetingDTOList']:
m_start_time = getinfo.standard_format(m['startTimeStamp'])
m_end_time = getinfo.standard_format(m['endTimeStamp'])
logger.info("m_start_time:{0},m_end_time:{1}".format(m_start_time, m_end_time))
if getinfo.is_time_overlap([start_time, end_time], [m_start_time, m_end_time]):
logger.info("会议{0}发生时间冲突".format(m))
unavali_room.append(room['id'])
unavali_room.append(meetings['meetingRoomId'])
break
logger.info("所有发生时间冲突的会议室 => {0}".format(unavali_room))
avali_room = [room for room in meeting_room if room['id'] not in unavali_room]
avali_room = params_filter.filter_params(avali_room, "query_meeting_room")