# +========== 迁移新增:本模块 Repository 层 """modules/job 数据访问层。""" from modules.job.models import Job, JobLog from shared.base_repository import BaseRepository class JobRepository(BaseRepository[Job]): pass job_repo = JobRepository(Job) class JobLogRepository(BaseRepository[JobLog]): # JobLog 使用 del_flag 而非 is_delete 作为软删标识 soft_delete_col = "del_flag" def get_by_id(self, obj_id): """覆盖:按 del_flag 过滤。""" if obj_id is None or obj_id == '': return None try: obj_id = int(obj_id) except (TypeError, ValueError): return None if obj_id <= 0: return None return self.db.query(self.model).filter( self.model.id == obj_id, getattr(self.model, self.soft_delete_col) == 0 ).first() joblog_repo = JobLogRepository(JobLog)