feat:提交时间戳整改

This commit is contained in:
雷雨
2025-06-10 19:10:46 +08:00
parent 3311cef8b0
commit 64ed2cf816
4 changed files with 50 additions and 11 deletions

3
.env
View File

@@ -26,8 +26,7 @@ QUERY_MEETING_ROOM_TYPE = '/yonbip/uspace/external/access/getMeetingRoomType'
QUERY_MEETING_ROOM = '/yonbip/uspace/external/access/getMeetingRoom'
QUERY_MEETINGBOOKING_INFO = '/yonbip/uspace/external/access/getDestineInformation'
BOOK_MEETING_ROOM = '/yonbip/uspace/destine/Meeting'
CANCEL_MEETING = '/yonbip/uspace/cancel/Meeting'
CANCEL_MEETING2 = '/yonbip/uspace/external/access/cancel'
CANCEL_MEETING = '/yonbip/uspace/external/access/cancel'
BOOKMEETING = '/yonbip/uspace/external/access/book'
EDIT_MEETING = '/yonbip/uspace/external/access/edit'

View File

@@ -1,5 +1,5 @@
from threading import Lock
from datetime import datetime
from datetime import datetime, timedelta
import requests, json
from django.db.models.expressions import result
@@ -20,10 +20,10 @@ BASE_URL = config('MODEL_BASE_URL', default="")
def parse_time(time_str: str) -> int:
try:
timestamp = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S").timestamp()
return int(timestamp)
return int(timestamp * 1000)
except Exception as ee:
print("解析时间错误:" + str(ee.with_traceback()))
return int(datetime.now().timestamp())
return int(datetime.now().timestamp() * 1000)
'''
@@ -39,6 +39,14 @@ def is_json(myjson):
return False
def get_time_info(offset: int) -> int:
now = datetime.now()
if offset > 0:
now = now + timedelta(days=offset)
midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
return int(midnight.timestamp() * 1000)
'''
查询租户下所有会议室类型
'''
@@ -135,12 +143,16 @@ def book_room(data: dict, params: dict) -> str:
'''
查询租户下预定信息
'''
def query_booking_info(params: dict) -> str:
tenant_id = params.get('tenantId', None)
if not tenant_id:
raise Exception("tenantId 不能为空")
access_token = getinfo.get_access_token(tenant_id)
params['access_token'] = access_token
params['startTimeStamp'] = get_time_info(0)
params['endTimeStamp'] = get_time_info(10)
meeting_room = getinfo.query_meetingbooking_info(params)
result = params_filter.filter_state(meeting_room)
content = json.loads(json.dumps(result))
@@ -175,20 +187,41 @@ def book_meeting(params: dict, data: dict) -> str:
}
params: tenantId (not null)
"""
new_data = {
"subject": "会议主题",
"meetingRoomId": data["room_id"],
"meetingRoomName": "会议室名称",
"meetingDateTimeStamp": int(datetime.now().timestamp() * 1000),
"startDateTimeStamp": parse_time(data["start_time"]),
"endDateTimeStamp": parse_time(data["end_time"]),
"meetingPersonYhtUserIds": [
],
"meetingPersonAmount": data["capacity"],
"remindArray": [
15
],
"content": "会议内容",
"isSendMail": True,
"isSendMsg": True
}
tenant_id = params.get('tenantId', None)
if not tenant_id:
raise Exception("tenantId 不能为空")
access_token = getinfo.get_access_token(tenant_id)
params['access_token'] = access_token
book_meeting = getinfo.book_meeting(params, data)
book_meeting = getinfo.book_meeting(params, new_data)
content = json.loads(json.dumps(book_meeting))
return str(content)
'''
会议编辑
'''
def edit_meeting(params: dict, data: dict):
"""
:params: {tenant_id}
@@ -214,9 +247,12 @@ def edit_meeting(params: dict, data: dict):
print("content is :", content)
return str(content)
'''
第二个会议取消接口
'''
def cancel_meeting(params: dict) -> str:
"""
params{
@@ -387,7 +423,7 @@ def add_message_async(manager: DialogManager, session_id: str, role: str, conten
def process_book_room(data, params) -> str:
result = book_room(data=data, params=params)
result = book_meeting(data=data, params=params)
book_promot = f'''
系统调用API预订该会议室的结果如下:
{result}
@@ -414,6 +450,8 @@ def process_query_book_room(**kwargs) -> str:
'''
函数调用,取消会议室
'''
def process_cancel_room_meeting(data, params) -> str:
meetingId = data.get("meetingId", None)
if meetingId:

View File

@@ -235,6 +235,8 @@ def cancel_meeting(params: dict):
request_url = gateway_url + CANCEL_MEETING
print("request url ", request_url)
print("paramas ", params)
params['isSendMail']=True
params['isSendMsg']=True
respones = requests.get(url=request_url, params=params,
headers=DEFAULT_HEADER)
print("respone ", respones)

View File

@@ -23,7 +23,7 @@ def filter_params(data, endpoint_name):
def filter_state(content:dict):
filtered_data = []
for room in content['data']:
filtered_meetings = [meeting for meeting in room['meetingDTOList'] if meeting['state'] != 3]
filtered_meetings = [meeting for meeting in room['meetingDTOList'] if meeting['state'] in [0,1]]
if filtered_meetings: # 只保留有会议的会议室
filtered_room = room.copy()
filtered_room['meetingDTOList'] = filtered_meetings