Compare commits

..

23 Commits

Author SHA1 Message Date
7860d08c81 'commit' 2025-09-12 13:08:43 +08:00
8483e4509b 'commit' 2025-09-12 12:00:07 +08:00
28ff2a93e1 'commit' 2025-09-12 09:24:50 +08:00
ec38a25087 Merge branch 'main' of http://10.10.14.176:3000/huanghai/YunNanProject 2025-09-12 08:50:43 +08:00
f5147e7951 'commit' 2025-09-12 08:50:42 +08:00
22a2ead9f4 Merge branch 'main' of http://10.10.14.176:3000/huanghai/YunNanProject 2025-09-12 08:22:30 +08:00
21c5be3121 'commit' 2025-09-12 08:22:28 +08:00
cbabf9c956 'commit' 2025-09-11 21:42:06 +08:00
ec35818b13 'commit' 2025-09-11 21:34:02 +08:00
9349d582b6 'commit' 2025-09-11 21:23:39 +08:00
b821e316ca 'commit' 2025-09-11 21:17:10 +08:00
13730b1e92 'commit' 2025-09-11 20:53:28 +08:00
caca8500b6 'commit' 2025-09-11 20:50:59 +08:00
3e3343fa81 'commit' 2025-09-11 20:47:42 +08:00
649195dfeb 'commit' 2025-09-11 20:41:16 +08:00
8ad6275847 'commit' 2025-09-11 20:28:53 +08:00
6a1a67ac07 'commit' 2025-09-11 20:25:05 +08:00
a941049482 'commit' 2025-09-11 20:22:23 +08:00
fb715c2a83 'commit' 2025-09-11 20:12:57 +08:00
f3b79dc883 Merge branch 'main' of http://10.10.14.176:3000/huanghai/YunNanProject 2025-09-11 15:16:14 +08:00
0f199e5d29 'commit' 2025-09-11 15:16:13 +08:00
e85799be93 Merge branch 'main' of http://10.10.14.176:3000/huanghai/YunNanProject 2025-09-11 15:14:30 +08:00
59ed6b110e 'commit' 2025-09-11 15:14:30 +08:00
326 changed files with 1908 additions and 916 deletions

View File

@@ -0,0 +1,67 @@
from fastapi import APIRouter, Query
from Model.EducationDataModel import EducationDataModel
# 创建APIRouter实例
router = APIRouter(prefix="/EducationData", tags=["教育统计数据"])
@router.get("/byYear")
async def get_education_data_by_year(
year: int = Query(default=2023, ge=2015, le=2028,
description="年份: 2015-2028范围内的年份")
):
"""获取指定年份所有学段的教育数据"""
try:
# 调用EducationDataModel的方法获取数据
data = EducationDataModel.get_education_data_by_year(year)
# 返回包含状态和数据的响应
return {
"code": 200,
"message": "success",
"data": data
}
except Exception as e:
# 异常处理
return {
"code": 500,
"message": f"获取数据失败: {str(e)}",
"data": []
}
@router.get("/populationByYear")
async def get_population_data_by_year(
year: int = Query(default=2023, ge=2015, le=2028,
description="年份: 2015-2028范围内的年份")
):
"""获取指定年份的云南省人口数据"""
try:
# 调用EducationDataModel的方法获取人口数据
data = EducationDataModel.get_population_data_by_year(year)
if data:
# 返回包含状态和数据的响应
return {
"code": 200,
"message": "success",
"data": data
}
else:
# 未找到数据的情况
return {
"code": 404,
"message": f"未找到{year}年的云南省人口数据",
"data": None
}
except Exception as e:
# 异常处理
return {
"code": 500,
"message": f"获取数据失败: {str(e)}",
"data": None
}

View File

@@ -1,21 +1,24 @@
from fastapi import APIRouter
from fastapi import APIRouter, Query
from Model.RuYuanZaiYuanCountModel import RuYuanZaiYuanModel
# 创建APIRouter实例
router = APIRouter(prefix="/RuYuanZaiYuan", tags=["大屏展示"])
# 默认的根路由
@router.get("/")
async def root():
return {"message": "Welcome to YunNan Education World!"}
@router.get("/school/preschool/chart")
async def get_preschool_education_chart_config():
return RuYuanZaiYuanModel.generate_preschool_education_config()
@router.get("/school/preschool/inschool/chart")
async def get_preschool_in_school_chart_config():
return RuYuanZaiYuanModel.generate_in_school_education_config()
router = APIRouter(prefix="/RuYuanZaiYuan", tags=["入校、在校人数统计"])
@router.get("/school/chart")
async def get_education_chart_config(
education_stage: str = Query(default="preschool", pattern="^(preschool|primary|junior|senior|vocational)$",
description="教育阶段: preschool(学前), primary(小学), junior(初中), senior(高中), vocational(中职)")
):
return RuYuanZaiYuanModel.generate_preschool_education_config(education_stage)
@router.get("/school/inschool/chart")
async def get_in_school_chart_config(
education_stage: str = Query(default="preschool", pattern="^(preschool|primary|junior|senior|vocational)$",
description="教育阶段: preschool(学前), primary(小学), junior(初中), senior(高中), vocational(中职)")
):
return RuYuanZaiYuanModel.generate_in_school_education_config(education_stage)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More