feat:新增取消和另一个预定
This commit is contained in:
@@ -22,8 +22,27 @@ def is_json(myjson):
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
# 查询所有会议室类型
|
||||
def query_room_type(params: dict) ->str:
|
||||
"""
|
||||
query_params:
|
||||
ytenantId not null
|
||||
pageNum
|
||||
pageSize
|
||||
"""
|
||||
print("当前params : {0}".format(params))
|
||||
tenant_id = params.get('ytenantId', None)
|
||||
if not tenant_id:
|
||||
raise Exception("ytenantId 不能为空")
|
||||
access_token = getinfo.get_access_token(tenant_id)
|
||||
params['access_token'] = access_token
|
||||
|
||||
def query_room_info(params) -> str:
|
||||
room_type = getinfo.query_meetingroom_type(params)
|
||||
content = json.loads(json.dumps(room_type))
|
||||
return str(content)
|
||||
|
||||
# 查询会议室信息
|
||||
def query_room_info(params: dict) -> str:
|
||||
# resp = requests.get('http://127.0.0.1:8000/myapi/room/')
|
||||
"""
|
||||
query_params:
|
||||
@@ -46,7 +65,7 @@ def query_room_info(params) -> str:
|
||||
return str(result)
|
||||
|
||||
|
||||
|
||||
# 预定会议室
|
||||
def book_room(data: dict, params: dict) -> str:
|
||||
# resp = requests.post('http://127.0.0.1:8000/myapi/room/', data)
|
||||
"""
|
||||
@@ -78,19 +97,44 @@ def book_room(data: dict, params: dict) -> str:
|
||||
raise Exception("ytenantId 不能为空")
|
||||
access_token = getinfo.get_access_token(tenant_id)
|
||||
params['access_token'] = access_token
|
||||
content = getinfo.book_meeting_room(params, new_data)
|
||||
return content
|
||||
booking_info = getinfo.book_meeting_room(params, new_data)
|
||||
content = json.loads(json.dumps(booking_info))
|
||||
return str(content)
|
||||
|
||||
|
||||
def query_booking_info(params: dict):
|
||||
# 查询预定信息
|
||||
def query_booking_info(params: dict) ->str:
|
||||
tenant_id = params.get('ytenantId', None)
|
||||
access_token = getinfo.get_access_token(tenant_id)
|
||||
params['access_token'] = access_token
|
||||
|
||||
meeting_room = getinfo.query_meetingbooking_info(params)
|
||||
content = json.loads(json.dumps(meeting_room))
|
||||
return str(content)
|
||||
|
||||
# 预定会议
|
||||
def book_meeting(params: dict) ->str:
|
||||
return
|
||||
# 取消会议
|
||||
def cancel_meeting(params: dict):
|
||||
"""
|
||||
params{
|
||||
ytenantId
|
||||
meetingId
|
||||
}
|
||||
:return:
|
||||
"""
|
||||
print("当前params : {0}".format(params))
|
||||
tenant_id = params.get('ytenantId', None)
|
||||
if not tenant_id:
|
||||
raise Exception("ytenantId 不能为空")
|
||||
access_token = getinfo.get_access_token(tenant_id)
|
||||
params['access_token'] = access_token
|
||||
|
||||
book_meeting = getinfo.cancel_meeting_booking(params)
|
||||
content = json.loads(json.dumps(book_meeting))
|
||||
print("content is :", content)
|
||||
return str(content)
|
||||
|
||||
|
||||
|
||||
def check_and_process_think(content: str) -> str:
|
||||
filtered_text = re.sub(r"<think\b[^>]*>.*?</think>", '', content, flags=re.DOTALL)
|
||||
|
||||
@@ -116,20 +116,21 @@ STATIC_URL = 'static/'
|
||||
# https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
DEFAULT_AUTH_URL = 'https://oa-dev.yced.com.cn/iuap-api-auth'
|
||||
DEFAULT_GATEWAY_URL = 'https://oa-dev.yced.com.cn/iuap-api-gateway '
|
||||
TEMP_TENANT_ID = 'pr3rl2oj'
|
||||
APPKEY = 'e5d615eb169944abb3a1db5bd699ca65'
|
||||
APPSECRET = '84bb250c995c6161a97aebc2296abe558f6551ac'
|
||||
DEFAULT_HEADER = {'Content-Type': 'application/json'}
|
||||
|
||||
# General Purpose Interface
|
||||
TOKEN_INTF = '/open-auth/selfAppAuth/getAccessToken'
|
||||
GATEWAY_INTF = '/open-auth/dataCenter/getGatewayAddress'
|
||||
# Service Interface
|
||||
QUERY_MEETING_ROOM_TYPE = ['GET', '/yonbip/uspace/external/access/getMeetingRoomType']
|
||||
QUERY_MEETING_ROOM = ['GET', '/yonbip/uspace/external/access/getMeetingRoom']
|
||||
QUERY_MEETINGBOOKING_INFO = ['GET', '/yonbip/uspace/external/access/getDestineInformation']
|
||||
BOOK_MEETING_ROOM = ['POST', '/yonbip/uspace/destine/Meeting']
|
||||
CANCEL_MEETING = ['POST', '/yonbip/uspace/cancel/Meeting']
|
||||
# DEFAULT_AUTH_URL = 'https://oa-dev.yced.com.cn/iuap-api-auth'
|
||||
# DEFAULT_GATEWAY_URL = 'https://oa-dev.yced.com.cn/iuap-api-gateway '
|
||||
# TEMP_TENANT_ID = 'pr3rl2oj'
|
||||
# APPKEY = 'e5d615eb169944abb3a1db5bd699ca65'
|
||||
# APPSECRET = '84bb250c995c6161a97aebc2296abe558f6551ac'
|
||||
# DEFAULT_HEADER = {'Content-Type': 'application/json'}
|
||||
#
|
||||
# # General Purpose Interface
|
||||
# TOKEN_INTF = '/open-auth/selfAppAuth/getAccessToken'
|
||||
# GATEWAY_INTF = '/open-auth/dataCenter/getGatewayAddress'
|
||||
# # Service Interface
|
||||
# QUERY_MEETING_ROOM_TYPE = ['GET', '/yonbip/uspace/external/access/getMeetingRoomType']
|
||||
# QUERY_MEETING_ROOM = ['GET', '/yonbip/uspace/external/access/getMeetingRoom']
|
||||
# QUERY_MEETINGBOOKING_INFO = ['GET', '/yonbip/uspace/external/access/getDestineInformation']
|
||||
# BOOK_MEETING_ROOM = ['POST', '/yonbip/uspace/destine/Meeting']
|
||||
# CANCEL_MEETING = ['POST', '/yonbip/uspace/cancel/Meeting']
|
||||
# BOOKMEETING = ['POST', '/yonbip/uspace/external/access/book']
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
from yonbip_open_api_sdk import sign_opt, request_opt
|
||||
from yj_room_agent import settings
|
||||
@@ -34,8 +35,8 @@ def get_access_token(tenant_id):
|
||||
raise
|
||||
params = {}
|
||||
params['timestamp'] = str(int(time.time() * 1000))
|
||||
params['appKey'] = settings.APPKEY
|
||||
app_secret = settings.APPSECRET
|
||||
params['appKey'] = os.environ.get('APPKEY')
|
||||
app_secret = os.environ.get('APPSECRET')
|
||||
sort_param = sign_opt.opt_sort_data(params)
|
||||
print("sort_param", sort_param)
|
||||
signature = sign_opt.opt_sha256(app_secret, sort_param)
|
||||
@@ -43,7 +44,7 @@ def get_access_token(tenant_id):
|
||||
params["signature"] = signature
|
||||
try:
|
||||
gateway_url, token_url = get_domain({'tenantId': tenant_id})
|
||||
request_url = token_url + settings.TOKEN_INTF
|
||||
request_url = token_url + os.environ.get('TOKEN_INTF')
|
||||
print("no error")
|
||||
except Exception as ex:
|
||||
# request_url = settings.DEFAULT_AUTH_URL + settings.TOKEN_INTF
|
||||
@@ -63,7 +64,7 @@ def get_access_token(tenant_id):
|
||||
|
||||
# 获取租户所在中心域名
|
||||
def get_domain(params):
|
||||
request_url = settings.DEFAULT_AUTH_URL + settings.GATEWAY_INTF
|
||||
request_url = os.environ.get('DEFAULT_AUTH_URL') +os.environ.get('GATEWAY_INTF')
|
||||
print("request_url is {0}".format(request_url))
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
respones = requests.get(url=request_url,
|
||||
@@ -81,73 +82,83 @@ def get_domain(params):
|
||||
else:
|
||||
raise Exception(f"请求失败 状态码: {respones.status_code}")
|
||||
|
||||
|
||||
#查询会议室类型
|
||||
def query_meetingroom_type(params):
|
||||
print("now params ", params)
|
||||
tenant_id = params.get("ytenantId", None)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + settings.QUERY_MEETING_ROOM_TYPE[1]
|
||||
request_url = gateway_url + os.environ.get('QUERY_MEETING_ROOM_TYPE')[1]
|
||||
respones = requests.get(url=request_url, params=params,
|
||||
headers=settings.DEFAULT_HEADER)
|
||||
result = respones.json()
|
||||
if respones.status_code == 200:
|
||||
return result
|
||||
else:
|
||||
raise Exception(f"请求查询会议室类型失败 状态码: {respones.status_code}")
|
||||
headers=os.environ.get('DEFAULT_HEADER'))
|
||||
return respones.json()
|
||||
|
||||
|
||||
# 查询会议室信息
|
||||
def query_meetingroom(params):
|
||||
print("now params ", params)
|
||||
tenant_id = params.get("ytenantId", None)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + settings.QUERY_MEETING_ROOM[1]
|
||||
request_url = gateway_url + os.environ.get('QUERY_MEETING_ROOM')[1]
|
||||
print("request url ", request_url)
|
||||
print("paramas ", params)
|
||||
respones = requests.get(url=request_url, params=params,
|
||||
headers=settings.DEFAULT_HEADER)
|
||||
headers=os.environ.get('DEFAULT_HEADER'))
|
||||
return respones.json()
|
||||
|
||||
|
||||
|
||||
#查询会议预定信息
|
||||
def query_meetingbooking_info(params):
|
||||
print("now params ", params)
|
||||
tenant_id = params.get("ytenantId", None)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + settings.QUERY_MEETINGBOOKING_INFO[1]
|
||||
request_url = gateway_url + os.environ.get('QUERY_MEETINGBOOKING_INFO')[1]
|
||||
print("request url ", request_url)
|
||||
print("paramas ", params)
|
||||
params['pageSize'] = 800
|
||||
respones = requests.get(url=request_url, params=params,
|
||||
headers=settings.DEFAULT_HEADER)
|
||||
result = respones.json()
|
||||
return result
|
||||
headers=os.environ.get('DEFAULT_HEADER'))
|
||||
return respones.json()
|
||||
|
||||
def book_meeting_room(params, data):
|
||||
print("now params ", params)
|
||||
tenant_id = params.get("ytenantId", None)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + settings.BOOK_MEETING_ROOM[1]
|
||||
request_url = gateway_url + os.environ.get('BOOK_MEETING_ROOM')[1]
|
||||
print("request url ", request_url)
|
||||
print("paramas ", params)
|
||||
print("data: ",data)
|
||||
respones = requests.post(url=request_url, params=params,
|
||||
headers=settings.DEFAULT_HEADER, data=json.dumps(data))
|
||||
headers=os.environ.get('DEFAULT_HEADER'), data=json.dumps(data))
|
||||
print("respone ", respones)
|
||||
return respones
|
||||
return respones.json()
|
||||
|
||||
def book_meeting(params, data):
|
||||
print("now params ", params)
|
||||
tenant_id = params.get("tenantId", None)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + os.environ.get('BOOKMEETING')[1]
|
||||
print("request url ", request_url)
|
||||
print("paramas ", params)
|
||||
print("data: ",data)
|
||||
respones = requests.post(url=request_url, params=params,
|
||||
headers=os.environ.get('DEFAULT_HEADER'), data=json.dumps(data))
|
||||
print("respone ", respones)
|
||||
return respones.json()
|
||||
|
||||
def cancel_meeting_booking(params):
|
||||
tenant_id = params.pop('ytenantId')
|
||||
print("now params ", params)
|
||||
print("tenant_id : ", tenant_id)
|
||||
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
||||
request_url = gateway_url + settings.CANCEL_MEETING[1]
|
||||
request_url = gateway_url + os.environ.get('CANCEL_MEETING')[1]
|
||||
print("request url ", request_url)
|
||||
print("paramas ", params)
|
||||
respones = requests.post(url=request_url, params=params,
|
||||
headers=settings.DEFAULT_HEADER)
|
||||
headers=os.environ.get('DEFAULT_HEADER'))
|
||||
print("respone ", respones)
|
||||
return respones.text
|
||||
return respones.json()
|
||||
@@ -26,5 +26,7 @@ urlpatterns = [
|
||||
path('getMeeting/', views.query_meeting),
|
||||
path('getMeetingBookingDetails/', views.query_meetingooking_info),
|
||||
path('bookMeetingRoom/', views.book_meeting_room),
|
||||
path('cancelmeeting/', views.cancel_meeting_room)
|
||||
path('bookMeeting/', views.book_meeting),
|
||||
path('cancelMeeting/', views.cancel_meeting)
|
||||
|
||||
]
|
||||
|
||||
@@ -117,7 +117,46 @@ def book_meeting_room(request):
|
||||
except Exception as ex:
|
||||
return JsonResponse(str(ex))
|
||||
|
||||
def cancel_meeting_room(request):
|
||||
|
||||
def book_meeting(request):
|
||||
"""
|
||||
:data {
|
||||
subject (not null) string
|
||||
meetingroomId (not null) string
|
||||
meetingRoomName (not null) string
|
||||
meetingDateTimeStamp (==startDateTime ) (not null) number
|
||||
startDateTimeStamp (not null) number
|
||||
endDateTimeStamp (not null) number
|
||||
meetingPersonYhtUserIds (not null) strArray
|
||||
meetingPersonAmount number
|
||||
remindArray 提醒时间(枚举值仅有:5,15,20,30,60,1440,4320)
|
||||
content
|
||||
isSendMail bool
|
||||
isSendMsg bool
|
||||
}
|
||||
:params: ytenantId (not null)
|
||||
:return:
|
||||
"""
|
||||
if request.method == 'POST':
|
||||
params = request.GET.dict()
|
||||
data = request.POST.dict()
|
||||
print("data is {0}".format(data))
|
||||
print("当前params : {0}".format(params))
|
||||
tenant_id = params.get('tenantId', None)
|
||||
if not tenant_id:
|
||||
raise Exception("ytenantId 不能为空")
|
||||
try:
|
||||
access_token = getinfo.get_access_token(tenant_id)
|
||||
params['access_token'] = access_token
|
||||
|
||||
book_meeting = getinfo.book_meeting(params, data)
|
||||
content = json.loads(json.dumps(book_meeting))
|
||||
print("room type :", content)
|
||||
return JsonResponse(content)
|
||||
except Exception as ex:
|
||||
return JsonResponse(str(ex))
|
||||
|
||||
def cancel_meeting(request):
|
||||
"""
|
||||
params{
|
||||
ytenantId
|
||||
@@ -142,6 +181,7 @@ def cancel_meeting_room(request):
|
||||
except Exception as ex:
|
||||
return JsonResponse(str(ex))
|
||||
|
||||
|
||||
@require_POST
|
||||
def room_chat(request):
|
||||
params = request.GET.dict()
|
||||
|
||||
Reference in New Issue
Block a user