feat:新增会议编辑

This commit is contained in:
yujj128
2025-06-09 16:08:27 +08:00
parent bce8c36505
commit afff752695
4 changed files with 137 additions and 33 deletions

View File

@@ -29,8 +29,6 @@ def parse_time(time_str: str) -> int:
'''
判断是否为json格式
'''
def is_json(myjson):
try:
json_object = json.loads(myjson)
@@ -38,7 +36,9 @@ def is_json(myjson):
except ValueError:
return False
# 查询所有会议室类型
'''
查询租户下所有会议室类型
'''
def query_room_type(params: dict) ->str:
"""
query_params:
@@ -58,7 +58,7 @@ def query_room_type(params: dict) ->str:
return str(content)
'''
查询会议室信息
查询租户下会议室信息
'''
def query_room_info(params: dict) -> str:
# resp = requests.get('http://127.0.0.1:8000/myapi/room/')
@@ -83,7 +83,9 @@ def query_room_info(params: dict) -> str:
return str(result)
# 预定会议室
'''
预定会议室
'''
def book_room(data: dict, params: dict) -> str:
# resp = requests.post('http://127.0.0.1:8000/myapi/room/', data)
"""
@@ -119,7 +121,9 @@ def book_room(data: dict, params: dict) -> str:
content = json.loads(json.dumps(booking_info))
return str(content)
# 查询预定信息
'''
查询租户下预定信息
'''
def query_booking_info(params: dict) ->str:
tenant_id = params.get('ytenantId', None)
access_token = getinfo.get_access_token(tenant_id)
@@ -128,10 +132,40 @@ def query_booking_info(params: dict) ->str:
content = json.loads(json.dumps(meeting_room))
return str(content)
# 预定会议
def book_meeting(params: dict) ->str:
return
# 取消会议
'''
预定会议
'''
def book_meeting(params: dict, data: dict) ->str:
"""
: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 提醒时间枚举值仅有51520306014404320
content
isSendMail bool
isSendMsg bool
}
:params: ytenantId (not null)
:return:
"""
tenant_id = params.get('tenantId', None)
if not tenant_id:
raise Exception("ytenantId 不能为空")
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))
return str(content)
'''
取消会议
'''
def cancel_meeting(params: dict):
"""
params{

View File

@@ -5,7 +5,23 @@ from yonbip_open_api_sdk import sign_opt, request_opt
from yj_room_agent import settings
import requests
import urllib
from decouple import config
APPKEY = config('APPKEY', default="")
APPSECRET = config('APPSECRET', default="")
DEFAULT_AUTH_URL = config('DEFAULT_AUTH_URL', default="")
DEFAULT_GATEWAY_URL = config('DEFAULT_GATEWAY_URL', default="")
TOKEN_INTF = config('TOKEN_INTF', default="")
GATEWAY_INTF = config('GATEWAY_INTF', default="")
QUERY_MEETING_ROOM_TYPE = config('QUERY_MEETING_ROOM_TYPE', default="")
QUERY_MEETING_ROOM = config('QUERY_MEETING_ROOM', default="")
QUERY_MEETINGBOOKING_INFO = config('QUERY_MEETINGBOOKING_INFO', default="")
BOOK_MEETING_ROOM = config('BOOK_MEETING_ROOM', default="")
BOOKMEETING = config('BOOKMEETING', default="")
CANCEL_MEETING = config('CANCEL_MEETING', default="")
EDIT_MEETING = config('EDIT_MEETING', default="")
DEFAULT_HEADER = {'Content-Type': 'application/json'}
def check_required_params(required_fields, params):
"""
@@ -35,8 +51,9 @@ def get_access_token(tenant_id):
raise
params = {}
params['timestamp'] = str(int(time.time() * 1000))
params['appKey'] = os.environ.get('APPKEY')
app_secret = os.environ.get('APPSECRET')
params['appKey'] = APPKEY
print()
app_secret = APPSECRET
sort_param = sign_opt.opt_sort_data(params)
print("sort_param", sort_param)
signature = sign_opt.opt_sha256(app_secret, sort_param)
@@ -44,7 +61,7 @@ def get_access_token(tenant_id):
params["signature"] = signature
try:
gateway_url, token_url = get_domain({'tenantId': tenant_id})
request_url = token_url + os.environ.get('TOKEN_INTF')
request_url = token_url + TOKEN_INTF
print("no error")
except Exception as ex:
# request_url = settings.DEFAULT_AUTH_URL + settings.TOKEN_INTF
@@ -64,7 +81,7 @@ def get_access_token(tenant_id):
# 获取租户所在中心域名
def get_domain(params):
request_url = os.environ.get('DEFAULT_AUTH_URL') +os.environ.get('GATEWAY_INTF')
request_url = DEFAULT_AUTH_URL + GATEWAY_INTF
print("request_url is {0}".format(request_url))
headers = {'Content-Type': 'application/json'}
respones = requests.get(url=request_url,
@@ -83,82 +100,97 @@ def get_domain(params):
raise Exception(f"请求失败 状态码: {respones.status_code}")
#查询会议室类型
def query_meetingroom_type(params):
def query_meetingroom_type(params:dict):
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 + os.environ.get('QUERY_MEETING_ROOM_TYPE')[1]
request_url = gateway_url + QUERY_MEETING_ROOM_TYPE
respones = requests.get(url=request_url, params=params,
headers=os.environ.get('DEFAULT_HEADER'))
headers=DEFAULT_HEADER)
return respones.json()
# 查询会议室信息
def query_meetingroom(params):
def query_meetingroom(params:dict):
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 + os.environ.get('QUERY_MEETING_ROOM')[1]
request_url = gateway_url + QUERY_MEETING_ROOM
print("request url ", request_url)
print("paramas ", params)
print("head is {0} type is {1}".format(DEFAULT_HEADER,type(DEFAULT_HEADER)))
respones = requests.get(url=request_url, params=params,
headers=os.environ.get('DEFAULT_HEADER'))
headers=DEFAULT_HEADER)
print("res is {0}".format(respones))
return respones.json()
#查询会议预定信息
def query_meetingbooking_info(params):
def query_meetingbooking_info(params:dict):
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 + os.environ.get('QUERY_MEETINGBOOKING_INFO')[1]
request_url = gateway_url + QUERY_MEETINGBOOKING_INFO
print("request url ", request_url)
print("paramas ", params)
params['pageSize'] = 800
respones = requests.get(url=request_url, params=params,
headers=os.environ.get('DEFAULT_HEADER'))
headers=DEFAULT_HEADER)
return respones.json()
def book_meeting_room(params, data):
def book_meeting_room(params:dict, data:dict):
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 + os.environ.get('BOOK_MEETING_ROOM')[1]
request_url = gateway_url + BOOK_MEETING_ROOM
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))
headers=DEFAULT_HEADER, data=json.dumps(data))
print("respone ", respones)
return respones.json()
def book_meeting(params, data):
def book_meeting(params:dict, data:dict):
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]
request_url = gateway_url + BOOKMEETING
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))
headers=DEFAULT_HEADER, data=json.dumps(data))
print("respone ", respones)
return respones.json()
def cancel_meeting_booking(params):
def edit_meeting_info(params:dict, data:dict):
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 + EDIT_MEETING
print("request url ", request_url)
print("paramas ", params)
print("data: ", data)
respones = requests.post(url=request_url, params=params,
headers=DEFAULT_HEADER, data=json.dumps(data))
print("respone ", respones)
return respones.json()
def cancel_meeting_booking(params:dict):
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 + os.environ.get('CANCEL_MEETING')[1]
request_url = gateway_url + CANCEL_MEETING
print("request url ", request_url)
print("paramas ", params)
respones = requests.post(url=request_url, params=params,
headers=os.environ.get('DEFAULT_HEADER'))
headers=DEFAULT_HEADER)
print("respone ", respones)
return respones.json()

View File

@@ -27,6 +27,7 @@ urlpatterns = [
path('getMeetingBookingDetails/', views.query_meetingooking_info),
path('bookMeetingRoom/', views.book_meeting_room),
path('bookMeeting/', views.book_meeting),
path('cancelMeeting/', views.cancel_meeting)
path('cancelMeeting/', views.cancel_meeting),
path('editMeeting/',views.edit_meeting)
]

View File

@@ -156,6 +156,43 @@ def book_meeting(request):
except Exception as ex:
return JsonResponse(str(ex))
def edit_meeting(request):
"""
:params:
{tenant_id}
:data {
id (nor null) string
subject string
meetingRoomName string
meetingDateTimeStamp (==startDateTime ) number
startDateTimeStamp number
endDateTimeStamp number
meetingPersonYhtUserIds strArray
meetingPersonAmount number
remindArray 提醒时间枚举值仅有51520306014404320
content
}
: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("tenantId 不能为空")
try:
access_token = getinfo.get_access_token(tenant_id)
params['access_token'] = access_token
book_meeting = getinfo.edit_meeting_info(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{