models.py 6.99 KB
from django.db import models
from .named_enum import DocStatus, KeywordsType, RetryStep

# Create your models here.


# 上传文件记录表/任务表
class UploadDocRecords(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id")  # 索引
    application_id = models.CharField(max_length=64, verbose_name="申请id")
    main_applicant = models.CharField(max_length=16, verbose_name="主申请人")
    co_applicant = models.CharField(max_length=16, verbose_name="共同申请人")
    guarantor_1 = models.CharField(max_length=16, verbose_name="担保人1")
    guarantor_2 = models.CharField(max_length=16, verbose_name="担保人2")
    document_name = models.CharField(max_length=255, verbose_name="文件名")
    document_scheme = models.CharField(max_length=64, verbose_name="文件方案")
    business_type = models.CharField(max_length=64, verbose_name="业务类型")
    data_source = models.CharField(max_length=64, verbose_name="数据源")
    upload_finish_time = models.DateTimeField(verbose_name="上传完成时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    class Meta:
        managed = False
        db_table = 'upload_doc_records'
        situ_db_label = 'afc'


class HILDoc(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id")
    application_id = models.CharField(max_length=64, verbose_name="申请id")                  # 联合索引
    status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态")  # 联合索引
    retry_step = models.SmallIntegerField(null=True, verbose_name="重试环节")
    retry_times = models.SmallIntegerField(default=0, verbose_name="重试次数")
    is_retry = models.BooleanField(default=False, verbose_name="是否需要重试")
    main_applicant = models.CharField(max_length=16, verbose_name="主申请人")
    co_applicant = models.CharField(max_length=16, verbose_name="共同申请人")
    guarantor_1 = models.CharField(max_length=16, verbose_name="担保人1")
    guarantor_2 = models.CharField(max_length=16, verbose_name="担保人2")
    document_name = models.CharField(max_length=255, verbose_name="文件名")
    document_scheme = models.CharField(max_length=64, verbose_name="文件方案")
    data_source = models.CharField(max_length=64, verbose_name="数据源")
    upload_finish_time = models.DateTimeField(verbose_name="上传完成时间")           # 索引
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')  # 索引

    class Meta:
        managed = False
        db_table = 'hil_doc'


class AFCDoc(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id")
    application_id = models.CharField(max_length=64, verbose_name="申请id")
    status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态")
    retry_step = models.SmallIntegerField(null=True, verbose_name="重试环节")
    retry_times = models.SmallIntegerField(default=0, verbose_name="重试次数")
    is_retry = models.BooleanField(default=False, verbose_name="是否需要重试")
    main_applicant = models.CharField(max_length=16, verbose_name="主申请人")
    co_applicant = models.CharField(max_length=16, verbose_name="共同申请人")
    guarantor_1 = models.CharField(max_length=16, verbose_name="担保人1")
    guarantor_2 = models.CharField(max_length=16, verbose_name="担保人2")
    document_name = models.CharField(max_length=255, verbose_name="文件名")
    document_scheme = models.CharField(max_length=64, verbose_name="文件方案")
    data_source = models.CharField(max_length=64, verbose_name="数据源")
    upload_finish_time = models.DateTimeField(verbose_name="上传完成时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    class Meta:
        managed = False
        situ_db_label = 'afc'
        db_table = 'afc_doc'


class GCAPRecords(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    status = models.IntegerField(null=True, verbose_name='状态')
    rating = models.IntegerField(null=True, verbose_name='排名')
    entity = models.CharField(null=True, max_length=128, verbose_name="业务类型")
    application_id = models.CharField(max_length=64, verbose_name="申请id")
    application_version = models.IntegerField(null=True, verbose_name='申请版本')
    intermediate_decision = models.CharField(null=True, max_length=128, verbose_name="中间决策")
    submit_datetime = models.DateTimeField(null=True, verbose_name='提交时间')
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    class Meta:
        managed = False
        situ_db_label = 'afc'
        db_table = 'gcap_records'


class PriorityApplication(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    application_id = models.CharField(max_length=64, verbose_name="申请id")  # 联合索引
    on_off = models.BooleanField(default=True, verbose_name="是否有效")       # 联合索引
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    class Meta:
        managed = False
        situ_db_label = 'afc'
        db_table = 'priority_application'


class Keywords(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    keyword = models.CharField(max_length=64, verbose_name="关键词")
    type = models.SmallIntegerField(choices=KeywordsType.get_choices_lst(), verbose_name="类型")
    on_off = models.BooleanField(default=True, verbose_name="是否有效")
    update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    class Meta:
        managed = False
        situ_db_label = 'afc'
        db_table = 'keywords'
        verbose_name = '银行流水关键词'
        verbose_name_plural = verbose_name


class Configs(models.Model):
    id = models.AutoField(primary_key=True, verbose_name="id")
    value = models.CharField(max_length=255, verbose_name="配置值")
    comment = models.CharField(max_length=64, verbose_name="说明")

    class Meta:
        managed = False
        situ_db_label = 'afc'
        db_table = 'configs'
        verbose_name = '配置信息'
        verbose_name_plural = verbose_name