项目管理中,添加了对传入日期的格式处理,修复了一些bug
This commit is contained in:
parent
d580c3206d
commit
7d1fc93e6f
@ -3,6 +3,7 @@
|
|||||||
# @FileName: manage_project.py
|
# @FileName: manage_project.py
|
||||||
# @Software: PyCharm
|
# @Software: PyCharm
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from typing import re
|
||||||
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from sqlalchemy import delete
|
from sqlalchemy import delete
|
||||||
@ -59,20 +60,25 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
raise HTTPException(status_code=403, detail="Only Tenant admin users can add or update projects.")
|
raise HTTPException(status_code=403, detail="Only Tenant admin users can add or update projects.")
|
||||||
|
|
||||||
project_id = data.get("project_id")
|
project_id = data.get("project_id")
|
||||||
name = data["name"]
|
name = data.get("name")
|
||||||
requirement = data["requirement"]
|
requirement = data.get("requirement")
|
||||||
start_time_str = data["start_time"]
|
start_time_str = data.get("start_time")
|
||||||
deadline_str = data["deadline"]
|
deadline_str = data.get("deadline")
|
||||||
estimators = data["estimator"]
|
estimators = data.get("estimator")
|
||||||
auditors = data["auditor"]
|
auditors = data.get("auditor")
|
||||||
|
|
||||||
# 验证是否缺少必要参数
|
# 验证是否缺少必要参数
|
||||||
if not name or not requirement or not start_time_str or not deadline_str:
|
if not name or not requirement or not start_time_str or not deadline_str:
|
||||||
raise HTTPException(status_code=400, detail="Need more name/requirement/start_time/deadline")
|
raise HTTPException(status_code=400, detail="Need more details")
|
||||||
|
|
||||||
# 验证开始时间是否早于结束时间
|
# 验证开始时间是否早于结束时间
|
||||||
|
# 去掉 'Z' 和毫秒部分
|
||||||
|
start_time_str = start_time_str.split('.')[0].rstrip('Z')
|
||||||
|
deadline_str = deadline_str.split('.')[0].rstrip('Z')
|
||||||
|
|
||||||
start_time = datetime.strptime(start_time_str, "%Y-%m-%dT%H:%M:%S")
|
start_time = datetime.strptime(start_time_str, "%Y-%m-%dT%H:%M:%S")
|
||||||
deadline = datetime.strptime(deadline_str, "%Y-%m-%dT%H:%M:%S")
|
deadline = datetime.strptime(deadline_str, "%Y-%m-%dT%H:%M:%S")
|
||||||
|
|
||||||
if start_time > deadline:
|
if start_time > deadline:
|
||||||
raise HTTPException(status_code=400, detail="Start time must be before deadline")
|
raise HTTPException(status_code=400, detail="Start time must be before deadline")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user