|
|
|
|
@@ -6,6 +6,8 @@ from yj_room_agent import settings
|
|
|
|
|
import requests
|
|
|
|
|
import urllib
|
|
|
|
|
from decouple import config
|
|
|
|
|
import logging
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APPKEY = config('APPKEY', default="")
|
|
|
|
|
@@ -51,24 +53,20 @@ def get_access_token(tenant_id):
|
|
|
|
|
'''
|
|
|
|
|
:param params: keys=>[tenantId, appKey]
|
|
|
|
|
:param app_secret:
|
|
|
|
|
:return:
|
|
|
|
|
:return:dict
|
|
|
|
|
'''
|
|
|
|
|
if not tenant_id:
|
|
|
|
|
raise
|
|
|
|
|
logger.info("Start to get access_token")
|
|
|
|
|
params = {}
|
|
|
|
|
params['timestamp'] = str(int(time.time() * 1000))
|
|
|
|
|
params['appKey'] = APPKEY
|
|
|
|
|
print(params)
|
|
|
|
|
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)
|
|
|
|
|
print("signature is ", signature)
|
|
|
|
|
params["signature"] = signature
|
|
|
|
|
logger.debug("current params => {0}".format(params))
|
|
|
|
|
try:
|
|
|
|
|
gateway_url, token_url = get_domain({'tenantId': tenant_id})
|
|
|
|
|
request_url = token_url + TOKEN_INTF
|
|
|
|
|
print("no error")
|
|
|
|
|
except Exception as ex:
|
|
|
|
|
# request_url = settings.DEFAULT_AUTH_URL + settings.TOKEN_INTF
|
|
|
|
|
raise Exception("该租户无法获取中心域名=>detail error: " + f"{str(ex)}")
|
|
|
|
|
@@ -76,79 +74,76 @@ def get_access_token(tenant_id):
|
|
|
|
|
headers = {'Content-Type': 'application/json'}
|
|
|
|
|
respones = requests.get(url=request_url, params=params, headers=headers)
|
|
|
|
|
result = respones.json()
|
|
|
|
|
print("status_code:{0}".format(respones.status_code))
|
|
|
|
|
logger.info("Get token response => {0}".format(result))
|
|
|
|
|
if respones.status_code == 200:
|
|
|
|
|
access_token = result.get("data", {}).get("access_token")
|
|
|
|
|
print("access_token is {0}".format(result, access_token))
|
|
|
|
|
return access_token
|
|
|
|
|
else:
|
|
|
|
|
raise Exception(f"请求失败 状态码: {respones.status_code}")
|
|
|
|
|
raise Exception(f"请求获取token失败 status_code: {respones.status_code} "
|
|
|
|
|
f"message: {result.get("message", None)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
获取租户所在中心域名
|
|
|
|
|
'''
|
|
|
|
|
def get_domain(params):
|
|
|
|
|
logger.info(f"Start to get domain , params is {params}")
|
|
|
|
|
request_url = DEFAULT_AUTH_URL + GATEWAY_INTF
|
|
|
|
|
print("request_url is {0}".format(request_url))
|
|
|
|
|
logger.debug("request_url => {0}".format(request_url))
|
|
|
|
|
headers = {'Content-Type': 'application/json'}
|
|
|
|
|
respones = requests.get(url=request_url,
|
|
|
|
|
params=params,
|
|
|
|
|
headers=headers)
|
|
|
|
|
result = respones.json()
|
|
|
|
|
|
|
|
|
|
logger.debug("Get domain respones => {0}".format(result))
|
|
|
|
|
if respones.status_code == 200:
|
|
|
|
|
data = result.get("data", {})
|
|
|
|
|
gateway_url = data.get("gatewayUrl", None)
|
|
|
|
|
token_url = data.get("tokenUrl", None)
|
|
|
|
|
print("gateway_url is {0} token_url is {1}"
|
|
|
|
|
"".format(gateway_url, token_url))
|
|
|
|
|
logger.debug("gateway_url => {0}, token_url => {1}"
|
|
|
|
|
"".format(gateway_url,token_url))
|
|
|
|
|
return gateway_url, token_url
|
|
|
|
|
else:
|
|
|
|
|
raise Exception(f"请求失败 状态码: {respones.status_code}")
|
|
|
|
|
raise Exception(f"请求获取domain失败 status_code: {respones.status_code} "
|
|
|
|
|
f"message: {result.get("message", None)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
查询会议室类型
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def query_meetingroom_type(params: dict):
|
|
|
|
|
# ytenantId
|
|
|
|
|
logger.info("Start to query meeting_room type")
|
|
|
|
|
params = params.copy()
|
|
|
|
|
params['ytenantId'] = params.pop('tenantId')
|
|
|
|
|
print("now params ", params)
|
|
|
|
|
tenant_id = params.get("ytenantId", None)
|
|
|
|
|
print("tenant_id : ", tenant_id)
|
|
|
|
|
logger.debug("query_meetingroom_type params => {0}".format(params))
|
|
|
|
|
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
|
|
|
|
request_url = gateway_url + QUERY_MEETING_ROOM_TYPE
|
|
|
|
|
respones = requests.get(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER)
|
|
|
|
|
logger.info("meeting type respones => {0}".format(respones))
|
|
|
|
|
|
|
|
|
|
return respones.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
查询会议室信息
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def query_meetingroom(params: dict):
|
|
|
|
|
# ytenantId
|
|
|
|
|
logger.info("Start to query meeting_room")
|
|
|
|
|
params = params.copy()
|
|
|
|
|
params['ytenantId'] = params.pop('tenantId')
|
|
|
|
|
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 + QUERY_MEETING_ROOM
|
|
|
|
|
print("request url ", request_url)
|
|
|
|
|
logger.debug("request url => {0}".format(request_url))
|
|
|
|
|
params['pageSize'] = page_size
|
|
|
|
|
print("paramas ", params)
|
|
|
|
|
|
|
|
|
|
print("head is {0} type is {1}".format(DEFAULT_HEADER,type(DEFAULT_HEADER)))
|
|
|
|
|
logger.debug("query_meetingroom params => {0}".format(params))
|
|
|
|
|
respones = requests.get(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER)
|
|
|
|
|
print("res is {0}".format(respones))
|
|
|
|
|
logger.info("meeting room respones => {0}".format(respones))
|
|
|
|
|
return respones.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -161,19 +156,18 @@ def query_meetingroom(params: dict):
|
|
|
|
|
|
|
|
|
|
def query_meetingbooking_info(params: dict):
|
|
|
|
|
# ytenantId
|
|
|
|
|
logger.info("Start to query meeting_booking_room")
|
|
|
|
|
params = params.copy()
|
|
|
|
|
params['ytenantId'] = params.pop('tenantId')
|
|
|
|
|
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 + QUERY_MEETINGBOOKING_INFO
|
|
|
|
|
print("request url ", request_url)
|
|
|
|
|
print("paramas ", params)
|
|
|
|
|
logger.debug("request url => {0}".format(request_url))
|
|
|
|
|
params['pageSize'] = 800
|
|
|
|
|
logger.debug("query_meetingbooking_info params => {0}".format(params))
|
|
|
|
|
respones = requests.get(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER)
|
|
|
|
|
|
|
|
|
|
logger.info("meeting room respones => {0}".format(respones))
|
|
|
|
|
return respones.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -186,17 +180,15 @@ def query_meetingbooking_info(params: dict):
|
|
|
|
|
|
|
|
|
|
def book_meeting(params: dict, data: dict):
|
|
|
|
|
# tenantId
|
|
|
|
|
print("now params ", params)
|
|
|
|
|
logger.info("Start to book meeting")
|
|
|
|
|
tenant_id = params.get("tenantId", None)
|
|
|
|
|
print("tenant_id : ", tenant_id)
|
|
|
|
|
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
|
|
|
|
request_url = gateway_url + BOOKMEETING
|
|
|
|
|
print("request url ", request_url)
|
|
|
|
|
print("paramas ", params)
|
|
|
|
|
print("data: ", data)
|
|
|
|
|
logger.debug("request url => {0}".format(request_url))
|
|
|
|
|
logger.debug("book_meeting params => {0}".format(params))
|
|
|
|
|
respones = requests.post(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER, data=json.dumps(data))
|
|
|
|
|
print("respone ", respones)
|
|
|
|
|
logger.info("book meeting respones => {0}".format(respones))
|
|
|
|
|
return respones.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -207,17 +199,16 @@ def book_meeting(params: dict, data: dict):
|
|
|
|
|
|
|
|
|
|
def edit_meeting_info(params: dict, data: dict):
|
|
|
|
|
# tenantId
|
|
|
|
|
print("now params ", params)
|
|
|
|
|
logger.info("Start to edit_meeting_info")
|
|
|
|
|
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)
|
|
|
|
|
logger.debug("request url => {0}".format(request_url))
|
|
|
|
|
logger.debug("edit_meeting_info params => "
|
|
|
|
|
"{0} data => {1}".format(params,data))
|
|
|
|
|
respones = requests.post(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER, data=json.dumps(data))
|
|
|
|
|
print("respone ", respones)
|
|
|
|
|
logger.info("edit meeting respones => {0}".format(respones))
|
|
|
|
|
return respones.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -228,14 +219,13 @@ def edit_meeting_info(params: dict, data: dict):
|
|
|
|
|
'''
|
|
|
|
|
def cancel_meeting(params: dict):
|
|
|
|
|
# tenantId
|
|
|
|
|
logger.info("Start to cancel meeting")
|
|
|
|
|
tenant_id = params.get('tenantId')
|
|
|
|
|
print("now params ", params)
|
|
|
|
|
print("tenant_id : ", tenant_id)
|
|
|
|
|
gateway_url, token_url = get_domain({"tenantId": tenant_id})
|
|
|
|
|
request_url = gateway_url + CANCEL_MEETING
|
|
|
|
|
print("request url ", request_url)
|
|
|
|
|
print("paramas ", params)
|
|
|
|
|
logger.debug("request url => {0}".format(request_url))
|
|
|
|
|
logger.debug("cancel_meeting params => {0}".format(params))
|
|
|
|
|
respones = requests.get(url=request_url, params=params,
|
|
|
|
|
headers=DEFAULT_HEADER)
|
|
|
|
|
print("respone ", respones)
|
|
|
|
|
logger.info("edit meeting respones => {0}".format(respones))
|
|
|
|
|
return respones.json()
|
|
|
|
|
|