# _*_ coding : UTF-8 _*_ # @Time : 2025/03/24 02:29:03 # @UpdateTime : 2025/03/24 02:29:03 # @Author : sonder # @File : hts.py # @Comment : 本程序用于海关编码税率模型 from tortoise import fields from models.common import BaseModel class Version(BaseModel): """ 版本信息模型 """ version = fields.CharField(max_length=255, description="版本号", source_field="version") """ 版本号。 - 最大长度为 255 个字符 - 映射到数据库字段 version """ date = fields.CharField(max_length=255,description="版本日期", source_field="date") """ 版本日期。 - 映射到数据库字段 date """ url = fields.CharField(max_length=255, description="下载地址", source_field="url") """ 下载地址。 - 最大长度为 255 个字符 - 映射到数据库字段 url """ class Meta: table = "version" table_description = "版本信息" class HtsClass(BaseModel): """ 编码类信息模型 """ class_name = fields.TextField(description="类名", source_field="class_name") """ 类名。 - 映射到数据库字段 class_name """ class_description = fields.TextField(description="类描述", source_field="class_description") """ 类描述。 - 映射到数据库字段 class_description """ chapter_name = fields.TextField(description="章节", source_field="chapter_name") """ 章节。 - 映射到数据库字段 chapter_name """ chapter_description = fields.TextField(description="章节描述", source_field="chapter_description") """ 章节描述。 - 映射到数据库字段 chapter_description """ class Meta: table = "hts_class" table_description = "编码类信息" class HtsItem(BaseModel): """ 编码项信息模型 """ parent_id = fields.CharField(max_length=255, null=True, description="父编码", source_field="parent_id") """ 父编码。 - 最大长度为 255 个字符 - 映射到数据库字段 parent_id - 可为空 """ htsno = fields.CharField(max_length=255, description="编码", source_field="htsno") """ 编码。 - 最大长度为 255 个字符 - 映射到数据库字段 htsno """ indent = fields.IntField(description="层级",null=True, source_field="indent") """ 缩进。 - 映射到数据库字段 indent """ description = fields.TextField(description="描述",null=True, source_field="description") """ 描述。 - 映射到数据库字段 description """ units = fields.JSONField(description="单位列表", null=True, source_field="units") """ 单位列表。 - 映射到数据库字段 units """ general = fields.TextField(description="通用税率",null=True, source_field="general") """ 通用税率。 - 最大长度为 50 个字符 - 映射到数据库字段 general """ special = fields.TextField(description="特殊税率,适用于特定国家或地区",null=True, source_field="special") """ 特殊税率,适用于特定国家或地区。 - 最大长度为 255 个字符 - 映射到数据库字段 special """ other = fields.TextField(description="其他税率",null=True, source_field="other") """ 其他税率。 - 最大长度为 50 个字符 - 映射到数据库字段 other """ quota_quantity = fields.TextField(description="配额数量", null=True, source_field="quota_quantity") """ 配额数量。 - 最大长度为 50 个字符 - 映射到数据库字段 quota_quantity """ additional_duties = fields.TextField(description="附加税",null=True, source_field="additional_duties") """ 附加税。 - 最大长度为 50 个字符 - 映射到数据库字段 additional_duties """ footnotes = fields.JSONField(null=True, description="脚注列表", source_field="footnotes") """ 脚注列表。 - 映射到数据库字段 footnotes - 可为空 """ class_ = fields.ForeignKeyField("models.HtsClass", related_name="class_items", on_delete=fields.CASCADE, description="所属类", source_field="class_id") version = fields.ForeignKeyField("models.Version", related_name="version_items", on_delete=fields.CASCADE, description="所属版本", source_field="version_id") class Meta: table = "hts_item" table_description = "编码项信息"