class OrderStateLog(Model): """订单状态变化Model, 存储订单状态相关的事件""" __table__ = 'order_state_log' id = IntegerField(ddl='int(11)', primary_key=True) hot_order_id = IntegerField(ddl='int(11)', key=True) gen_from = EnumField(default=None, nullable=False, ddl="enum('AIHUISHOU', 'TMALL', 'JD')", comment=u'订单生成来源', key=True) state_change_time = DateTimeField(auto_now=True, comment=u'订单状态变更时间') # UTC+8:00 state = EnumField( default=None, nullable=False, ddl= "enum('INIT','CANCELED','STARTED','PICKED','DELIVERED', 'FIN','CLOSED','REFUNDED')", comment=u'订单变更到状态 INIT:待分配 CANCELED:已取消 STARTED:待取件 PICKED:待收件 ' u'DELIVERED:待评价 FIN:已完成 CLOSED:未退款 REFUNDED:已退款', key=True) remark = StringField(default=None, nullable=True, ddl='varchar(32)', comment=u'状态变更详细信息')
class TopUp(Model): __table__ = 'flow_top_up' transact_num = IntegerField(ddl='char(14)', primary_key=True) shop_id = StringField(default=None, nullable=False, ddl='char(24)', comment='商户id', key=True) shop_name = StringField(default='', nullable=True, ddl='varchar(64)', comment='商户名称') shop_tel = StringField(default=None, nullable=False, ddl='char(11)', comment='商户登录手机号', key=True) cash = FloatField(nullable=False, ddl='decimal(10,2)', comment='尝试充值金额(元)') create_time = DateTimeField(key=True) trade_no = StringField(nullable=True, ddl='varchar(32)', comment='第三方支付回调返回的交易号') result = StringField(nullable=True, ddl='varchar(32)', comment='第三方支付通知的结果')
class HotOrder(Model): """订单Model, 存储带有时效性的订单信息""" __table__ = 'hot_order' order_id = IntegerField(ddl='int(11)', primary_key=True) gen_from = EnumField(default=None, nullable=False, ddl="enum('AIHUISHOU', 'TMALL', 'JD')", comment=u'订单生成来源', key=True) their_order_id = StringField(default=None, nullable=True, ddl='varchar(32)', comment=u'订单来源处的ID') state = EnumField( default=None, nullable=False, ddl= "enum('INIT','CANCELED','STARTED','PICKED','DELIVERED', 'FIN','CLOSED','REFUNDED')", comment=u'订单状态 INIT:待分配 CANCELED:已取消 STARTED:待取件 PICKED:待收件 ' u'DELIVERED:待评价 FIN:已完成 CLOSED:未退款 REFUNDED:已退款', key=True) create_time = DateTimeField(auto_now_add=True, key=True) # UTC+8:00 update_time = DateTimeField(auto_now=True, key=True) # UTC+8:00 def __hash__(self): return hash("%d" % self.order_id) def __eq__(self, other): return self.order_id == other.order_id
class DailyPolicy(Model): """运营政策Model的每日快照, 存储带有时效性的运营策略信息(每日定时调用RESET之前建立快照)""" __table__ = 'daily_policy' id = IntegerField(ddl='int(11)', primary_key=True) policy_name = StringField(default=None, nullable=False, ddl='varchar(64)', comment=u'运营政策名称') policy_content = StringField(default=None, nullable=False, ddl='varchar(512)', comment=u'运营政策详情') start_effect_time = DateTimeField(nullable=True, comment=u'开始生效时间', key=True) end_effect_time = DateTimeField(nullable=True, comment=u'结束生效时间', key=True) applied_to = StringField(ddl='varchar(128)', comment=u'适用人群') notification = StringField(nullable=True, ddl='varchar(256)', comment=u'提醒/通知的内容') policy_leader = StringField(nullable=True, ddl='varchar(32)', comment=u'政策负责人') state = StringField(default=None, nullable=True, ddl='varchar(16)', comment=u'定时任务状态 RESET:今日尚未启动 STARTED:已启动 OK:运行成功' u' RUNTIME-ERR:运行错误 TIMEOUT-ERR:运行超时', key=True) create_time = DateTimeField(auto_now_add=True, key=True) # UTC+8:00 update_time = DateTimeField(auto_now=True, key=True) # UTC+8:00 statistic_date = DateField(key=True)
class TaskState(Model): """运营政策相关定时任务状态变化Model, 存储定时任务运行状态相关的事件""" __table__ = 'task_state' id = IntegerField(ddl='int(11)', primary_key=True) policy_task_id = IntegerField(ddl='int(11)', key=True) policy_name = StringField(default=None, nullable=False, ddl='varchar(64)', comment=u'运营政策名称') state_change_time = DateTimeField(auto_now=True) # UTC+8:00 state = StringField( default=None, nullable=True, ddl='varchar(16)', comment= u'定时任务状态 RESET:今日尚未启动 STARTED:已启动 OK:运行成功 RUNTIME-ERR:运行错误 TIMEOUT-ERR:运行超时', key=True) state_info = StringField(default=None, nullable=True, ddl='varchar(256)', comment=u'状态变更详细信息')
class Policy(Model): """运营政策Model, 存储带有时效性的运营策略信息""" __table__ = 'policy' id = IntegerField(ddl='int(11)', primary_key=True) policy_name = StringField(default=None, nullable=False, ddl='varchar(64)', comment=u'运营政策名称') policy_content = StringField(default=None, nullable=False, ddl='varchar(512)', comment=u'运营政策详情') start_effect_time = DateTimeField(nullable=True, comment=u'开始生效时间', key=True) end_effect_time = DateTimeField(nullable=True, comment=u'结束生效时间', key=True) applied_to = StringField(ddl='varchar(128)', comment=u'适用人群') notification = StringField(nullable=True, ddl='varchar(256)', comment=u'提醒/通知的内容') policy_leader = StringField(nullable=True, ddl='varchar(32)', comment=u'政策负责人') state = StringField(default=None, nullable=True, ddl='varchar(16)', comment=u'定时任务状态 RESET:今日尚未启动 STARTED:已启动 OK:运行成功' u' RUNTIME-ERR:运行错误 TIMEOUT-ERR:运行超时', key=True) create_time = DateTimeField(auto_now_add=True, key=True) # UTC+8:00 update_time = DateTimeField(auto_now=True, key=True) # UTC+8:00 def __hash__(self): return hash("%d" % self.id) def __eq__(self, other): return self.id == other.id
class ShopFSMLog(Model): """风先生商户状态变更日志Model, 存储状态变更日志""" __table__ = 'shop_fsm_log' id = IntegerField(ddl='int(11) unsigned', primary_key=True) shop_id = StringField(default=None, nullable=False, ddl='char(24)', comment='商户ID', key=True) shop_name = StringField(default='', nullable=True, ddl='varchar(18)', comment='商户姓名', key=True) from_status = StringField(default='', nullable=False, ddl='varchar(32)', comment='从哪个状态') to_status = StringField(default='', nullable=False, ddl='varchar(32)', comment='变为哪个状态') event = StringField(default='', nullable=False, ddl='varchar(32)', comment='触发事件') operator_type = StringField(default='', nullable=False, ddl='char(10)', comment='事件来源: FE_OUTSIDE或FE_INSIDE') operator_id = StringField(ddl='varchar(24)', comment='后台操作人ID') remark = StringField(default='', nullable=True, ddl='varchar(128)', comment='操作备注;FE_OUTSIDE端显示的通知内容;') create_time = DateTimeField(key=True, auto_now_add=True)
class ManFSMLog(Model): """风先生派件员状态变更日志Model, 存储状态变更日志""" __table__ = 'man_fsm_log' id = IntegerField(ddl='int(11) unsigned', primary_key=True) man_id = StringField(default=None, nullable=False, ddl='char(24)', comment='派件员ID', key=True) man_name = StringField(default='', nullable=True, ddl='varchar(18)', comment='派件员姓名', key=True) from_status = StringField(default='', nullable=False, ddl='varchar(32)', comment='从哪个状态') to_status = StringField(default='', nullable=False, ddl='varchar(32)', comment='变为哪个状态') event = StringField(default='', nullable=False, ddl='varchar(32)', comment='触发事件') operator_type = StringField(default='', nullable=False, ddl='char(3)', comment='事件来源: FE或APP') operator_id = StringField(ddl='varchar(24)', comment='后台操作人ID') remark = StringField(default='', nullable=True, ddl='varchar(128)', comment='操作备注;APP端显示的通知内容;') create_time = DateTimeField(key=True, auto_now_add=True)