certflow.services.certificate_service module

证书服务模块

提供合格证的查询、创建、更新和删除等业务服务。

class CertificateService[源代码]

基类:object

证书服务类

提供合格证数据的CRUD操作服务,供控制器层调用。 封装业务逻辑,协调数据访问层完成各类证书操作。

_session

数据库会话对象(当前为占位,实际实现时需注入)

示例

>>> service = CertificateService()
>>> # 创建证书
>>> cert = service.create_certificate({
...     "certificate_no": "CERT-20231201-0001",
...     "product_model": "阀门A",
...     "customer": "某某公司"
... })
>>> print(cert.get("success"))
True
>>>
>>> # 查询证书
>>> cert_info = service.get_certificate(1)
>>> if cert_info:
...     print(f"证书编号: {cert_info['certificate_no']}")
__init__()[源代码]

初始化证书服务

当前为骨架实现,实际使用时应注入数据库会话对象。

返回类型:

None

get_certificate(cert_id)[源代码]

获取证书信息

根据证书ID查询并返回证书详细信息。

参数:

cert_id (int) -- 证书的唯一标识ID

返回:

证书信息字典,包含以下字段:
  • id: 证书ID

  • certificate_no: 合格证编号

  • product_model: 产品型号

  • order_no: 订单号

  • customer: 客户名称

  • status: 合格证状态

  • print_time: 打印时间

  • is_engraved: 是否已刻印

未找到时返回None

返回类型:

Optional[Dict[str, Any]]

示例

>>> service = CertificateService()
>>> cert = service.get_certificate(100)
>>> if cert:
...     print(f"编号: {cert['certificate_no']}, 状态: {cert['status']}")
create_certificate(data)[源代码]

创建证书

根据提供的数据创建新的证书记录。

参数:

data (dict[str, Any]) -- 证书数据字典,应包含以下字段: - certificate_no: 合格证编号(必填) - sale_plan_id: 关联销售计划ID(必填) - unique_key: 唯一键(必填) - product_model: 产品型号 - order_no: 订单号 - customer: 客户名称 - status: 合格证状态,默认为"待打印"

返回:

创建结果字典,包含以下字段:
  • success: 是否成功(布尔值)

  • message: 结果消息

  • certificate_id: 成功时返回新创建的证书ID

  • error: 失败时返回错误信息

返回类型:

Dict[str, Any]

示例

>>> service = CertificateService()
>>> result = service.create_certificate({
...     "certificate_no": "CERT-20231201-0001",
...     "sale_plan_id": 100,
...     "unique_key": "abc123",
...     "product_model": "阀门A",
...     "customer": "某某公司"
... })
>>> if result["success"]:
...     print(f"证书创建成功,ID: {result['certificate_id']}")
... else:
...     print(f"创建失败: {result['error']}")
update_certificate(cert_id, data)[源代码]

更新证书

根据证书ID更新证书的指定字段。

参数:
  • cert_id (int) -- 证书的唯一标识ID

  • data (dict[str, Any]) -- 需要更新的字段字典,可包含以下字段: - certificate_no: 合格证编号 - product_model: 产品型号 - order_no: 订单号 - customer: 客户名称 - status: 合格证状态 - print_time: 打印时间 - is_engraved: 是否已刻印 - engraved_time: 刻印时间 - electronic_image_path: 电子版图片路径

返回:

更新结果字典,包含以下字段:
  • success: 是否成功(布尔值)

  • message: 结果消息

  • error: 失败时返回错误信息

返回类型:

Dict[str, Any]

示例

>>> service = CertificateService()
>>> result = service.update_certificate(100, {
...     "status": "已打印",
...     "print_time": "2024-01-15 10:30:00"
... })
>>> if result["success"]:
...     print("证书更新成功")
delete_certificate(cert_id)[源代码]

删除证书

根据证书ID删除对应的证书记录。

参数:

cert_id (int) -- 证书的唯一标识ID

返回:

删除结果字典,包含以下字段:
  • success: 是否成功(布尔值)

  • message: 结果消息

  • error: 失败时返回错误信息

返回类型:

Dict[str, Any]

示例

>>> service = CertificateService()
>>> result = service.delete_certificate(100)
>>> if result["success"]:
...     print("证书删除成功")
... else:
...     print(f"删除失败: {result['error']}")