feat:查询会议室流程打通
This commit is contained in:
8
.env
8
.env
@@ -1,19 +1,19 @@
|
||||
#api key
|
||||
MODEL_API_KEY=sk-jixyuwdltfawojgwywogkkdoqwpxblabprxybltlacbpqnip
|
||||
MODEL_API_KEY=sk-trjqfqhisfwuooakphcqbacotdrfqxnohmmtxzakfpjpinrq
|
||||
#模型地址
|
||||
MODEL_BASE_URL=https://api.siliconflow.cn/v1
|
||||
#模型名称
|
||||
MODEL_NAME=Qwen/Qwen3-Next-80B-A3B-Instruct
|
||||
#模型活跃度
|
||||
MODEL_TEMPERATURE=0.4
|
||||
MODEL_TEMPERATURE=0.5
|
||||
#放行host地址
|
||||
DJANGO_ALLOWED_HOSTS=192.168.237.130,127.0.0.1,10.212.26.130,192.168.31.115
|
||||
#是否开启debug模式
|
||||
DJANGO_DEBUG_ENABLE=True
|
||||
DJANGO_LOG_LEVEL=INFO
|
||||
|
||||
DEFAULT_AUTH_URL = 'https://oa-pre.cyj.cn/iuap-api-auth'
|
||||
DEFAULT_GATEWAY_URL = 'https://oa-pre.cyj.cn/iuap-api-gateway '
|
||||
DEFAULT_AUTH_URL = 'https://fmis-pre.cyj.cn/iuap-api-auth'
|
||||
DEFAULT_GATEWAY_URL = 'https://fmis-pre.cyj.cn/iuap-api-gateway'
|
||||
TEMP_TENANT_ID = 'pr3rl2oj'
|
||||
#APPKEY = 'e5d615eb169944abb3a1db5bd699ca65'
|
||||
#APPSECRET = '84bb250c995c6161a97aebc2296abe558f6551ac'
|
||||
|
||||
@@ -3,10 +3,10 @@ from decouple import config
|
||||
from datetime import datetime
|
||||
from langchain_openai import ChatOpenAI
|
||||
from typing import TypedDict, Annotated, List, Optional, Union
|
||||
import logging
|
||||
import logging,json
|
||||
from yj_room_agent.db import snow_id, db_main
|
||||
from yj_room_agent.template import template
|
||||
from yj_room_agent.tools import json_tools
|
||||
from yj_room_agent.tools import json_tools, getinfo, params_filter
|
||||
from langgraph.graph import StateGraph, END, START
|
||||
from langgraph.checkpoint.memory import MemorySaver
|
||||
from yj_room_agent.temp_history import msg_history
|
||||
@@ -117,26 +117,44 @@ def pre_book_meeting_node_handler(state: RoomChatAgentState) -> str:
|
||||
|
||||
# 查询空闲会议室,需要判断历史消息或者用户输入,查询空闲会议室,返回结果
|
||||
def query_avliable_meeting_room_node(state: RoomChatAgentState) -> dict:
|
||||
simple_data = [{
|
||||
'room_id': "17592186050581",
|
||||
'room_name': "成都527"
|
||||
}, {
|
||||
'room_id': "17592186050582",
|
||||
'room_name': "成都528"
|
||||
}]
|
||||
return {'last_node': 'query_avali_room', 'avli_room_data': simple_data}
|
||||
param = state.get('params', {})
|
||||
pre_data = state.get('pre_book_meeting_data', {})
|
||||
|
||||
content = getinfo.query_meetingroom(param)
|
||||
result = params_filter.filter_meetingroom(content['data'])
|
||||
logger.info(" filter data: {0}".format(result))
|
||||
result = params_filter.filter_params(result, "query_meeting_room")
|
||||
|
||||
logger.debug("query_room_info result => {0}".format(result))
|
||||
# 字典中只要key存在,哪怕对应的value是'',也能取出来空字符串 data.get('capacity', 0)可能是空字符串
|
||||
capacity = pre_data.get('capacity', 0)
|
||||
capacity_limit = int(capacity) if capacity not in [None, ''] else 0
|
||||
logger.info("capacity limit {0} {1}".format(capacity_limit, type(capacity_limit)))
|
||||
new_list = []
|
||||
if pre_data.get('Region') and pre_data.get('Region') != 'None':
|
||||
region = pre_data.get('Region')
|
||||
for b in result:
|
||||
logger.info("b.capacity {0} {1}".format(b.get('capacity', 0), type(b.get('capacity', 0))))
|
||||
if ((region in b.get('name', 'default') or region in b.get('typeName', 'default')) and b.get('capacity',
|
||||
0) >= capacity_limit):
|
||||
new_list.append(b)
|
||||
else:
|
||||
for b in result:
|
||||
if b.get('capacity', 0) >= capacity_limit:
|
||||
new_list.append(b)
|
||||
return {'avli_room_data': new_list, 'last_node': 'query_avali_room'}
|
||||
|
||||
|
||||
def book_meeting_node(state: RoomChatAgentState) -> dict:
|
||||
logger.info(f"user:{state.get('user_id', '1')} ---------------进入 pre_book_meeting_node(预约会议) 节点-")
|
||||
data={
|
||||
'code':200,
|
||||
'message':'预约会议成功',
|
||||
'data':{
|
||||
'meeting_id': '17592186050585',
|
||||
data = {
|
||||
'code': 200,
|
||||
'message': '预约会议成功',
|
||||
'data': {
|
||||
'meeting_id': '17592186050585',
|
||||
}
|
||||
}
|
||||
return {'last_node': 'book_meeting','book_meeting_data':data}
|
||||
return {'last_node': 'book_meeting', 'book_meeting_data': data}
|
||||
|
||||
|
||||
# 取消会议室,需要判断历史消息或者用户输入,判断是否有会议室号,如果有,则取消会议,如果没有,触发查询已预订会议
|
||||
|
||||
@@ -210,6 +210,8 @@ def query_meetingroom(params: dict):
|
||||
logger.info("request url => {0}".format(request_url))
|
||||
if not params.get("pageSize", None):
|
||||
params['pageSize'] = page_size
|
||||
token=get_access_token(tenant_id)
|
||||
params['access_token'] = token
|
||||
logger.debug("query_meetingroom params => {0}".format(params))
|
||||
respones = requests.get(url=request_url, params=params,
|
||||
headers=header,verify=False)
|
||||
|
||||
Reference in New Issue
Block a user