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']}")
- 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更新证书的指定字段。
- 参数:
- 返回:
- 更新结果字典,包含以下字段:
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']}")