feat(phase3): 全部模型迁移到 modules/,apps/models 改垫片
- 18 个模块目录、25 个模型按业务域聚合(user+user_role、role+role_menu、dict+dict_item、config+config_item、member+member_level、job+job_log、login_log+operation_log 合并) - 表名/字段/继承关系原样保留(含 DictItem=dict_data、JobLog 用 del_flag) - apps/models/*.py 全部改为 re-export 垫片,旧导入路径保持兼容 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
from sqlalchemy import Column, String, Integer, Text
|
||||
|
||||
from shared.base_db import base_db
|
||||
from shared.base_model import base_model
|
||||
from config import DB_PREFIX
|
||||
|
||||
|
||||
# 定时任务模型
|
||||
class Job(base_model, base_db):
|
||||
# 设置表名
|
||||
__tablename__ = DB_PREFIX + "job"
|
||||
# 任务名称
|
||||
job_name = Column(String(255), nullable=False, comment="任务名称")
|
||||
# 任务别名
|
||||
job_alias = Column(String(255), nullable=True, comment="任务别名")
|
||||
# 任务分组
|
||||
job_group = Column(String(255), nullable=True, comment="任务分组")
|
||||
# 任务触发器
|
||||
job_trigger = Column(String(255), nullable=True, comment="任务触发器")
|
||||
# 任务状态:0-未发布 1-运行中 2-暂停 3-删除
|
||||
status = Column(Integer, nullable=False, default=0, comment="任务状态:0-未发布 1-运行中 2-暂停 3-删除")
|
||||
# Cron表达式
|
||||
cron_expression = Column(String(255), nullable=True, comment="Cron表达式")
|
||||
# 执行策略:1-立即执行 2-执行一次 3-放弃执行
|
||||
execute_policy = Column(Integer, nullable=False, default=1, comment="执行策略:1-立即执行 2-执行一次 3-放弃执行")
|
||||
# 是否同步任务:0-否 1-是
|
||||
is_sync = Column(Integer, nullable=False, default=0, comment="是否同步任务:0-否 1-是")
|
||||
# 任务URL
|
||||
url = Column(String(255), nullable=True, comment="任务URL")
|
||||
# 任务参数
|
||||
params = Column(Text, nullable=True, comment="任务参数")
|
||||
# 任务备注
|
||||
note = Column(String(255), nullable=True, comment="任务备注")
|
||||
|
||||
def __str__(self):
|
||||
return "定时任务:{}".format(self.job_name)
|
||||
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import Column, String, Integer, BigInteger, Text, DATETIME
|
||||
|
||||
from shared.base_db import base_db
|
||||
from config import DB_PREFIX
|
||||
from core.database import Base
|
||||
|
||||
|
||||
# 定时任务日志模型
|
||||
class JobLog(base_db, Base):
|
||||
# 设置表名
|
||||
__tablename__ = DB_PREFIX + "job_log"
|
||||
# 任务日志ID
|
||||
id = Column(Integer, primary_key=True, autoincrement=True, comment="任务日志ID")
|
||||
# 任务ID
|
||||
job_id = Column(Integer, nullable=False, default=0, comment="任务ID")
|
||||
# 任务名称
|
||||
job_name = Column(String(255), nullable=False, comment="任务名称")
|
||||
# 任务分组
|
||||
job_group = Column(String(255), nullable=True, comment="任务分组")
|
||||
# 任务触发器
|
||||
job_trigger = Column(String(255), nullable=True, comment="任务触发器")
|
||||
# 任务日志信息
|
||||
job_message = Column(String(500), nullable=True, comment="任务日志信息")
|
||||
# Cron表达式
|
||||
cron_expression = Column(String(255), nullable=True, comment="Cron表达式")
|
||||
# 执行状态:0-正常 1-失败
|
||||
status = Column(Integer, nullable=False, default=0, comment="执行状态:0-正常 1-失败")
|
||||
# 执行开始时间
|
||||
start_time = Column(DATETIME, nullable=True, comment="执行开始时间")
|
||||
# 执行结束时间
|
||||
end_time = Column(DATETIME, nullable=True, comment="执行结束时间")
|
||||
# 执行耗时,单位:毫秒
|
||||
consume_time = Column(BigInteger, nullable=False, default=0, comment="执行耗时,单位:毫秒")
|
||||
# 异常信息
|
||||
exception_info = Column(Text, nullable=True, comment="异常信息")
|
||||
# 添加人
|
||||
create_user = Column(String(50), nullable=True, comment="添加人")
|
||||
# 添加时间
|
||||
create_time = Column(DATETIME, nullable=True, default=datetime.now, comment="添加时间")
|
||||
# 更新人
|
||||
update_user = Column(String(50), nullable=True, comment="更新人")
|
||||
# 更新时间
|
||||
update_time = Column(DATETIME, nullable=True, comment="更新时间")
|
||||
# 删除标识:0-有效 1-删除
|
||||
del_flag = Column(Integer, nullable=False, default=0, comment="删除标识:0-有效 1-删除")
|
||||
|
||||
def to_dict(self):
|
||||
"""序列化为字典(排除del_flag,datetime转为字符串)"""
|
||||
result = {}
|
||||
for column in self.__table__.columns:
|
||||
if column.name == 'del_flag':
|
||||
continue
|
||||
value = getattr(self, column.name)
|
||||
if isinstance(value, datetime):
|
||||
value = value.strftime('%Y-%m-%d %H:%M:%S')
|
||||
result[column.name] = value
|
||||
return result
|
||||
|
||||
def __str__(self):
|
||||
return "定时任务日志:{}".format(self.job_name)
|
||||
Reference in New Issue
Block a user