Merge branch 'main' of https://git.yuxindazhineng.com/admin/railway_cloud
This commit is contained in:
@@ -6,7 +6,7 @@ from ..core.response_code import ResponseCode, ResponseMessage
|
|||||||
from ..schemas.account import (
|
from ..schemas.account import (
|
||||||
AccountCreate, AccountUpdate, AccountResponse,
|
AccountCreate, AccountUpdate, AccountResponse,
|
||||||
AccountListRequest, AccountGetRequest, AccountUpdateRequest, AccountDeleteRequest,
|
AccountListRequest, AccountGetRequest, AccountUpdateRequest, AccountDeleteRequest,
|
||||||
AccountApiResponse, AccountListResponse
|
AccountApiResponse, AccountListResponse,AccountGetRequestYH
|
||||||
)
|
)
|
||||||
from ..services.account import AccountService
|
from ..services.account import AccountService
|
||||||
|
|
||||||
@@ -69,6 +69,31 @@ def get_account(request: AccountGetRequest, db: Session = Depends(get_db)):
|
|||||||
data=accounts
|
data=accounts
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 宇恒一号特定查询接口
|
||||||
|
@router.post("/get/yh", response_model=AccountListResponse)
|
||||||
|
def get_account(request: AccountGetRequestYH, db: Session = Depends(get_db)):
|
||||||
|
"""根据多种条件查询账号"""
|
||||||
|
accounts = AccountService.search_accounts(
|
||||||
|
db,
|
||||||
|
project_name=request.project_name,
|
||||||
|
yh_id=request.yh_id
|
||||||
|
)
|
||||||
|
if not accounts:
|
||||||
|
return AccountListResponse(
|
||||||
|
code=ResponseCode.ACCOUNT_NOT_FOUND,
|
||||||
|
message=ResponseMessage.ACCOUNT_NOT_FOUND,
|
||||||
|
total=0,
|
||||||
|
data=[]
|
||||||
|
)
|
||||||
|
return AccountListResponse(
|
||||||
|
code=ResponseCode.SUCCESS,
|
||||||
|
message="查询成功",
|
||||||
|
total=len(accounts),
|
||||||
|
data=accounts
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@router.post("/update", response_model=AccountApiResponse)
|
@router.post("/update", response_model=AccountApiResponse)
|
||||||
def update_account(request: AccountUpdateRequest, db: Session = Depends(get_db)):
|
def update_account(request: AccountUpdateRequest, db: Session = Depends(get_db)):
|
||||||
"""更新账号"""
|
"""更新账号"""
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ class AccountGetRequest(BaseModel):
|
|||||||
yh_id: Optional[str] = None
|
yh_id: Optional[str] = None
|
||||||
cl_name: Optional[str] = None
|
cl_name: Optional[str] = None
|
||||||
|
|
||||||
|
# 宇恒一号特定查询模型
|
||||||
|
class AccountGetRequestYH(BaseModel):
|
||||||
|
project_name: Optional[str] = None
|
||||||
|
yh_id: str
|
||||||
|
|
||||||
class AccountUpdateRequest(BaseModel):
|
class AccountUpdateRequest(BaseModel):
|
||||||
account_id: int
|
account_id: int
|
||||||
account_data: AccountUpdate
|
account_data: AccountUpdate
|
||||||
|
|||||||
@@ -78,36 +78,37 @@ class TaskScheduler:
|
|||||||
def _setup_system_tasks(self):
|
def _setup_system_tasks(self):
|
||||||
"""设置系统定时任务"""
|
"""设置系统定时任务"""
|
||||||
try:
|
try:
|
||||||
|
logger.info("无定时任务")
|
||||||
# 检查是否已存在每日重置任务
|
# 检查是否已存在每日重置任务
|
||||||
|
|
||||||
existing_job = self.scheduler.get_job("daily_reset_today_updated")
|
# existing_job = self.scheduler.get_job("daily_reset_today_updated")
|
||||||
# existing_job = self.scheduler.get_job("get_max_nyid")
|
# # existing_job = self.scheduler.get_job("get_max_nyid")
|
||||||
if not existing_job:
|
# if not existing_job:
|
||||||
# 添加每天午夜12点重置today_updated字段的任务
|
# # 添加每天午夜12点重置today_updated字段的任务
|
||||||
self.scheduler.add_job(
|
# self.scheduler.add_job(
|
||||||
reset_today_updated_task,
|
# reset_today_updated_task,
|
||||||
'cron',
|
# 'cron',
|
||||||
id='daily_reset_today_updated',
|
# id='daily_reset_today_updated',
|
||||||
hour=0,
|
# hour=0,
|
||||||
minute=0,
|
# minute=0,
|
||||||
second=0,
|
# second=0,
|
||||||
name='每日重置账号更新状态'
|
# name='每日重置账号更新状态'
|
||||||
)
|
# )
|
||||||
logger.info("系统定时任务:每日重置账号更新状态已添加")
|
# logger.info("系统定时任务:每日重置账号更新状态已添加")
|
||||||
existing_job = None
|
# existing_job = None
|
||||||
existing_job = self.scheduler.get_job("scheduled_get_max_nyid_by_point_id")
|
# existing_job = self.scheduler.get_job("scheduled_get_max_nyid_by_point_id")
|
||||||
if not existing_job:
|
# if not existing_job:
|
||||||
# 添加每天凌晨1点执行获取max NYID关联数据任务
|
# # 添加每天凌晨1点执行获取max NYID关联数据任务
|
||||||
self.scheduler.add_job(
|
# self.scheduler.add_job(
|
||||||
scheduled_get_max_nyid_by_point_id,
|
# scheduled_get_max_nyid_by_point_id,
|
||||||
'cron',
|
# 'cron',
|
||||||
id='scheduled_get_max_nyid_by_point_id',
|
# id='scheduled_get_max_nyid_by_point_id',
|
||||||
hour=1,
|
# hour=1,
|
||||||
minute=0,
|
# minute=0,
|
||||||
second=0,
|
# second=0,
|
||||||
name='每日获取max NYID关联数据并创建DailyData记录'
|
# name='每日获取max NYID关联数据并创建DailyData记录'
|
||||||
)
|
# )
|
||||||
logger.info("系统定时任务:每日获取max NYID关联数据任务已添加")
|
# logger.info("系统定时任务:每日获取max NYID关联数据任务已添加")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"设置系统定时任务失败: {e}")
|
logger.error(f"设置系统定时任务失败: {e}")
|
||||||
|
|
||||||
@@ -185,24 +186,24 @@ task_scheduler = TaskScheduler()
|
|||||||
# 系统定时任务函数
|
# 系统定时任务函数
|
||||||
def reset_today_updated_task():
|
def reset_today_updated_task():
|
||||||
"""每日重置账号today_updated字段为0的任务"""
|
"""每日重置账号today_updated字段为0的任务"""
|
||||||
db = SessionLocal()
|
# db = SessionLocal()
|
||||||
try:
|
# try:
|
||||||
logger.info("开始执行每日重置账号更新状态任务")
|
# logger.info("开始执行每日重置账号更新状态任务")
|
||||||
|
|
||||||
# 更新所有账号的today_updated字段为0
|
# # 更新所有账号的today_updated字段为0
|
||||||
updated_need_count = db.query(Account).filter(Account.today_updated == 1).count()
|
# updated_need_count = db.query(Account).filter(Account.today_updated == 1).count()
|
||||||
updated_count = db.query(Account).update({Account.today_updated: 0})
|
# updated_count = db.query(Account).update({Account.today_updated: 0})
|
||||||
db.commit()
|
# db.commit()
|
||||||
|
|
||||||
logger.info(f"每日重置任务完成,已重置 {updated_count} 个账号的today_updated字段")
|
# logger.info(f"每日重置任务完成,已重置 {updated_count} 个账号的today_updated字段")
|
||||||
return f"成功重置 {updated_count} 个账号的更新状态"
|
# return f"成功重置 {updated_count} 个账号的更新状态"
|
||||||
|
|
||||||
except Exception as e:
|
# except Exception as e:
|
||||||
db.rollback()
|
# db.rollback()
|
||||||
logger.error(f"每日重置任务执行失败: {e}")
|
# logger.error(f"每日重置任务执行失败: {e}")
|
||||||
raise e
|
# raise e
|
||||||
finally:
|
# finally:
|
||||||
db.close()
|
# db.close()
|
||||||
|
|
||||||
|
|
||||||
# 示例定时任务函数
|
# 示例定时任务函数
|
||||||
|
|||||||
Reference in New Issue
Block a user