This commit is contained in:
whm
2025-12-18 22:23:46 +08:00
3 changed files with 75 additions and 44 deletions

View File

@@ -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)):
"""更新账号""" """更新账号"""

View File

@@ -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

View File

@@ -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()
# 示例定时任务函数 # 示例定时任务函数