certflow.controllers.caliber_mapping_controller module

口径映射控制器

桥接口径映射管理界面(View)与口径映射服务(Service):读操作直接委托 CaliberMappingService;写操作在此统一提交事务,失败时回滚并向上抛出。模型类 经服务层间接引用,控制器不直接依赖 certflow.models.*

架构层次:View (CaliberMappingManagerView) → Controller (CaliberMappingController)

→ Service (CaliberMappingService) → Model (CaliberMapping)

class certflow.controllers.caliber_mapping_controller.CaliberMappingController(db_session=None, db_manager=None, use_shared=True)[源代码]

基类:BaseController

口径映射控制器 — 管理界面的业务调度层

参数:

use_shared (bool)

list_all()[源代码]

返回全部口径映射记录(按 id 升序)

返回:

口径映射记录列表

返回类型:

list[CaliberMapping]

get_by_id(mapping_id)[源代码]

按主键获取记录

参数:

mapping_id (int) -- 记录主键

返回:

匹配的记录;不存在时返回 None

返回类型:

CaliberMapping | None

create(data)[源代码]

新增记录并提交

返回:

新记录主键 id

返回类型:

int

参数:

data (dict[str, Any])

update(mapping_id, data)[源代码]

更新记录并提交

参数:
  • mapping_id (int) -- 记录主键

  • data (dict[str, Any]) -- 待更新的字段字典

返回:

是否更新成功(id 不存在返回 False)

返回类型:

bool

delete(mapping_id)[源代码]

删除记录并提交

返回:

是否删除成功

返回类型:

bool

参数:

mapping_id (int)

seed_common_calibers()[源代码]

幂等灌入常见口径映射示例,库非空则跳过(不破坏已有数据)

返回类型:

int

export_csv(path)[源代码]

把当前 caliber_mappings 表整表导出为 CSV 快照,返回行数。

参数:

path (str | Path)

返回类型:

int

import_csv(path)[源代码]

把 CSV 快照 upsert 回 caliber_mappings 表,返回统计。

参数:

path (str | Path)

返回类型:

dict[str, int]