forked from erp-dev/erp
feat: task for auto upload plate_image to tencent each day 03:00
This commit is contained in:
@@ -255,6 +255,54 @@ class PlateOrder(ModelBase):
|
||||
return self.business_object.get_progress_percentage()
|
||||
|
||||
|
||||
class PlateOrderTiiaUploadFailure(ModelBase):
|
||||
"""
|
||||
PlateOrder 图片上传腾讯云图库失败记录(用于定时任务/人工重试追踪)。
|
||||
|
||||
设计目标:最小可用——记录“哪天跑的任务 + 哪个 plate_order_id + 失败详情/次数”。
|
||||
"""
|
||||
run_date = models.DateField(
|
||||
verbose_name='任务日期',
|
||||
help_text='以任务处理的日期为准(通常为“昨天”)',
|
||||
)
|
||||
plate_order_id = models.PositiveBigIntegerField(
|
||||
verbose_name='开版订单ID',
|
||||
db_index=True,
|
||||
help_text='PlateOrder.id(不使用外键,避免历史数据/删除带来的约束问题)',
|
||||
)
|
||||
error = models.TextField(
|
||||
blank=True,
|
||||
default='',
|
||||
verbose_name='错误摘要',
|
||||
)
|
||||
details = models.JSONField(
|
||||
default=list,
|
||||
blank=True,
|
||||
verbose_name='错误详情',
|
||||
help_text='通常存储 upload_plate_order_images_to_tencent_tiia 返回的失败条目列表',
|
||||
)
|
||||
attempts = models.PositiveIntegerField(
|
||||
default=0,
|
||||
verbose_name='尝试次数',
|
||||
)
|
||||
last_attempt_at = models.DateTimeField(
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='最后尝试时间',
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = '开版订单图片上传失败记录'
|
||||
verbose_name_plural = '开版订单图片上传失败记录'
|
||||
ordering = ['-created_at']
|
||||
constraints = [
|
||||
models.UniqueConstraint(
|
||||
fields=['run_date', 'plate_order_id'],
|
||||
name='uniq_plateorder_tiia_fail_run_date_po',
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
class PrintingOrder(ModelBase):
|
||||
"""PrintingOrder model representing a printing order."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user