Files
yj_room_agent/yj_room_agent/views.py
2025-08-18 16:37:01 +08:00

257 lines
8.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import json
from django.http import StreamingHttpResponse, JsonResponse, FileResponse
from yj_room_agent.LLM.ai_service import process_chat
from django.views.decorators.http import require_POST
import json
import requests
from .tools import getinfo
from .tianyi_ai import knowledge_chat
def hello(request):
return JsonResponse({'msg': 'ok'})
def query_meeting_type(request):
"""
query_params:
tenantId not null
pageNum
pageSize
"""
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
if yht_token:
params['yht_access_token'] = yht_token
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
result = getinfo.query_meetingroom_type(params)
content = json.loads(json.dumps(result))
print("room type :",content)
return JsonResponse(content)
except Exception as ex:
return JsonResponse(str(ex))
def query_meeting(request):
"""
query_params:
tenantId not null
typeIds
pageNum
pageSize
"""
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
print("yht is {0}".format(yht_token))
if yht_token:
params['yht_access_token'] = yht_token
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
result = getinfo.query_meetingroom(params)
content = json.loads(json.dumps(result))
print("content :",content)
return JsonResponse(content)
except Exception as ex:
return JsonResponse(str(ex))
def query_meetingooking_info(request):
"""
query_params:
tenantId (not null)
startTimeStamp
endTimeStamp
meetingRoomIds
meetingRoomTypeIds
pageNum
pageSize
"""
from .tools import params_filter
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
print("yht is {0}".format(yht_token))
if yht_token:
params['yht_access_token'] = yht_token
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
print("params is -----", params)
result = getinfo.query_meetingbooking_info(params)
print("params is -----",params)
result = params_filter.filter_state(result)
content = json.loads(json.dumps(result))
print("content is ------------------ :",content)
return JsonResponse(content)
except Exception as ex:
return JsonResponse(str(ex))
def book_meeting(request):
"""
data{
"subject": "api333",
"meetingRoomId": "1711130269642129413",
"meetingRoomName": "506",
"meetingDateTimeStamp": 1750099200000,
"startDateTimeStamp": 1750099200000,
"endDateTimeStamp": 1750102800000,
"meetingPersonYhtUserIds": [
"ec4326d0-d490-4d5a-9105-260b51fd16d0"
],
"meetingPersonAmount": 12,
"remindArray": [
15
],
"content": "会议内容",
"isSendMail": false,
"isSendMsg": false
}
:params: tenantId (not null)
:return:
"""
if request.method == 'POST':
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
print("yht is {0}".format(yht_token))
if yht_token:
params['yht_access_token'] = yht_token
# data = request.POST.dict()
data = json.loads(request.body)
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
result = getinfo.book_meeting(params, data)
content = json.loads(json.dumps(result))
print("content :", content)
return JsonResponse(content)
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: tenantId (not null)
:return:
"""
if request.method == 'POST':
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
print("yht is {0}".format(yht_token))
if yht_token:
params['yht_access_token'] = yht_token
data = json.loads(request.body)
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
result = getinfo.edit_meeting_info(params,data)
content = json.loads(json.dumps(result))
print("content :", content)
return JsonResponse(content)
except Exception as ex:
return JsonResponse(str(ex))
def cancel_meeting(request):
"""
params{
tenantId
meetingId
}
:return:
"""
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
print("yht is {0}".format(yht_token))
if yht_token:
params['yht_access_token'] = yht_token
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
result = getinfo.cancel_meeting(params)
content = json.loads(json.dumps(result))
print("content :", content)
return JsonResponse(content)
except Exception as ex:
return JsonResponse(str(ex))
@require_POST
def room_chat(request):
params = request.GET.dict()
yht_token = ((request.META.get('HTTP_YHT_ACCESS_TOKEN', None))
or request.headers.get('yht_access_token', None))
if yht_token:
params['yht_access_token'] = yht_token
if not yht_token:
ckk = request.COOKIES
params['yht_access_token'] = ckk.get('yht_access_token', None)
body = json.loads(request.body)
resp = process_chat(body, params)
return JsonResponse(resp)
@require_POST
def tian_yi_chat_bot(request):
data = json.loads(request.body)
user_query = data.get('user_query')
session_id = data.get('session_id')
if not user_query:
return JsonResponse(data={'message':'user_query 不能为空'},status=400)
if not session_id:
return JsonResponse(data={'message': 'session_id 不能为空'},status=400)
return StreamingHttpResponse(knowledge_chat.do_chat_with_bot(user_query,session_id),content_type='text/html; charset=utf-8')