增加了节假日停车场的查询

main
zc 2 months ago
parent 8f18d2674a
commit 8364847a2f
  1. 26
      app/api/chat/ai/chat_service.py

@ -9,6 +9,8 @@ import json
import re
from typing import List
import requests
from chinese_calendar import is_holiday
from datetime import datetime
load_dotenv()
@ -342,14 +344,28 @@ async def query_flow(request: Request, spot: str) -> str:
# 查询停车场信息
park_query = """SELECT t3.park_name AS park_name, IFNULL(t3.rate_info,'暂无收费标准信息') AS rate_info, t3.total_count AS total_count, t4.space AS space, t1.distance_value AS distance_value
FROM cyjcpt_bd.scenic_pack_distance t1 LEFT JOIN cyjcpt_bd.zhly_scenic_basic t2 ON t1.scenic_id = t2.id
FROM cyjcpt_bd.scenic_pack_distance t1
LEFT JOIN cyjcpt_bd.zhly_scenic_basic t2 ON t1.scenic_id = t2.id
LEFT JOIN cyjcpt_bd.park_info t3 ON t1.park_code = t3.park_code
LEFT JOIN equipment_passenger_flow.park_current t4 ON t1.park_code = t4.park_code
WHERE t2.`name` LIKE %s AND t1.distance_value <= 1000 AND t3.total_count != 0 ORDER BY t1.distance_value ASC LIMIT 2"""
WHERE t2.`name` LIKE %s AND t1.distance_value <= 1000 AND t3.total_count != 0 {status_condition} ORDER BY t1.distance_value ASC LIMIT 2"""
#获取当前日期
now = datetime.now()
# 根据是否为节假日设置状态条件
if is_holiday(now):
# 节假日不添加status条件,查询全部
status_condition = ""
else:
# 非节假日添加status=0的条件
status_condition = "AND t3.`status` = '0'"
# 格式化SQL查询,插入状态条件
formatted_query = park_query.format(status_condition=status_condition)
park_search_spot = f"%{spot}%"
await cur.execute(park_query, (park_search_spot,))
await cur.execute(formatted_query, (park_search_spot,))
park_rows = await cur.fetchall()
# 先查询景区基本信息以获取ID
id_query = "SELECT id FROM cyjcpt_bd.zhly_scenic_basic WHERE `name` LIKE %s LIMIT 1"
await cur.execute(id_query, (search_spot,))
@ -378,7 +394,7 @@ async def query_flow(request: Request, spot: str) -> str:
for park_row in park_rows:
# 使用变量名访问停车场数据
park_name, rate_info, total_count, space, distance_value = park_row
result += f"停车场名称:{park_name} ,距离:{distance_value}米,空余车位:{space},总车位:{total_count},收费标准:{rate_info}"
result += f"停车场名称:{park_name} ,距离:{distance_value}米,空余车位:{space if space is not None else '未知'},总车位:{total_count},收费标准:{rate_info if rate_info else '暂无收费标准信息'}"
else:
result += "停车场信息:暂无数据。"

Loading…
Cancel
Save