Ejemplo n.º 1
0
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='第三方支付通知的结果')
Ejemplo n.º 2
0
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'状态变更详细信息')
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
class Statistics(Model):
    __table__ = 'flow_statistics'
    shop_id = StringField(nullable=False,
                          ddl='char(24)',
                          primary_key=True,
                          comment='商户ID')
    shop_name = StringField(default='',
                            nullable=True,
                            ddl='varchar(64)',
                            comment='商户名称')
    balance = FloatField(default=.0,
                         nullable=False,
                         ddl='decimal(10,2)',
                         comment='充值余额(元)')
    expense = FloatField(default=.0,
                         nullable=False,
                         ddl='decimal(10,2)',
                         comment='消费金额(元)')
Ejemplo n.º 5
0
class Statistics(Model):
    __table__ = 'flow_statistics'
    man_id = StringField(nullable=False, ddl='char(24)', primary_key=True)
    man_name = StringField(nullable=True, ddl='varchar(16)', key=True)
    can_cash = FloatField(default=.0,
                          nullable=False,
                          ddl='decimal(10,2)',
                          comment='可提现金额(元)')
    finance = FloatField(default=.0,
                         nullable=False,
                         ddl='decimal(10,2)',
                         comment='待财务处理(元)')
    paid = FloatField(default=.0,
                      nullable=False,
                      ddl='decimal(10,2)',
                      comment='财务已付款(元)')
    decline = FloatField(default=.0,
                         nullable=False,
                         ddl='decimal(10,2)',
                         comment='财务已拒绝(元)')
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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'状态变更详细信息')
Ejemplo n.º 8
0
class Flow(Model):
    __table__ = 'flow'
    transact_num = StringField(ddl='char(14)', primary_key=True)
    man_id = StringField(default=None,
                         nullable=False,
                         ddl='char(24)',
                         comment='众包派件员uuid',
                         key=True)
    tel = StringField(default=None,
                      nullable=False,
                      ddl='char(11)',
                      comment='众包派件员手机号',
                      key=True)

    type = StringField(
        default=None,
        nullable=False,
        ddl='char(14)',
        comment=
        '流水类型: VALIDATED:已审核订单金额 APPLY_WITHDRAW:申请提现金额 PAID:财务已付款金额 DECLINE:财务已拒绝金额',
        key=True)
    cash = FloatField(nullable=False, ddl='decimal(10,2)', comment='金额(元)')

    # VALIDATED没有, 其他有.
    account_id = StringField(nullable=True,
                             ddl='varchar(64)',
                             comment='(提现)支付宝的账户id',
                             key=True)
    account_name = StringField(nullable=True,
                               ddl='varchar(32)',
                               comment='(提现)支付宝账户id对应的姓名')

    expr_num = StringField(nullable=True, ddl='char(12)', comment='运单号')
    operator_id = StringField(nullable=True,
                              ddl='varchar(24)',
                              comment='后台操作人ID')
    remark = StringField(default='',
                         nullable=True,
                         ddl='varchar(64)',
                         comment='后台操作备注')

    create_time = DateTimeField(key=True)
    update_time = DateTimeField(key=True)
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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)
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
class Flow(Model):
    __table__ = 'flow'
    transact_num = StringField(ddl='char(14)',
                               primary_key=True,
                               comment='商户充值时对应flow_top_up.order_no')
    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)

    type = StringField(
        default=None,
        nullable=False,
        ddl='char(14)',
        comment='交易类型: TOP_UP:充值 PAY:消费 REFUND:退款 CASH_OUT:线下退款',
        key=True)
    cash = FloatField(nullable=False, ddl='decimal(10,2)', comment='交易金额(元)')
    balance = FloatField(nullable=False,
                         ddl='decimal(10,2)',
                         comment='该笔交易后余额')

    remark = StringField(default='',
                         nullable=True,
                         ddl='varchar(64)',
                         comment='交易备注')

    create_time = DateTimeField(key=True, comment='充值对应的是:充值成功回调返回的pay_time')