Skip to content

概述

覆盖 EBAOZU V4 租赁订单合同从生成、签署、回调、归档的完整链路, 以及三类签署通道(e签宝 / 爱签 / 蚂蚁链)的设计差异。

EBAOZU V4 租赁订单的电子合同签署由 第三方签署平台 + 自研调度逻辑 共同完成。本文档聚焦:

  • 三类签署通道 的差异(系统配置 contract_sign 切换)
  • 合同状态机(eb_store_order_lease.contract_status 的全量写入点)
  • 触发链与回调链 的时序与代码位置
  • 常见排障与日志关键字

合同类别与系统配置

系统配置 contract_sign

通道人脸时机典型使用方
1e签宝(默认)下单人脸传统 e签宝 流程, 需 org_esign_sdk3 初始化
2爱签下单人脸自研通道, 人脸前可下单

读取位置: app/services/other/SystemContractServices.phpapp/services/order/StoreOrderCreateServices.php

check_type 字段

通道备注
0无免押老流程, 纯合同签署
1芝麻免押(已废弃)旧存量订单使用
2蚂蚁链租赁宝含代扣协议, 走 AtoOpenApiServices
3支付宝租赁行业交易组件当前唯一新订单通道

关键文件路径

SDK / 服务层
  app/services/third/ThirdBaseService.php       # 第三方API基类(爱签走自研一号通)
  app/services/third/ACsignService.php          # 爱签SDK
  app/services/user/AsignServices.php           # 爱签业务封装
  app/services/user/EsignServices.php           # e签宝业务封装 + 人脸认证
  app/services/other/SystemContractServices.php # 合同模板 + 签署主流程编排
  app/services/alipay/AtoOpenApiServices.php    # 蚂蚁链租赁宝

触发链
  app/jobs/order/OrderCreateAfterJob.php        # 补签 + 合同下载
  app/jobs/order/OrderWithholdJob.php           # 爱签用户创建 + 代扣
  app/jobs/order/OrderAutoAuditJob.php          # 机审触发
  app/listener/order/Create.php                 # 下单30秒后派发机审

控制器
  app/controller/api/v2/user/Asign.php         # 爱签回调 (notify)
  app/controller/api/v2/user/Esign.php          # 人脸认证 (persons_verify_check)
  app/controller/api/v1/order/StoreOrder.php   # 下单 + 二要素验证

状态机 (contract_status)

eb_store_order_lease.contract_status 是合同流转的单一事实源。

枚举值

语义备注
-1未生成初始默认值, 合同尚未创建
0待签约(已生成)合同已生成, 等待发起签署
1已签约(已发起)签署流程已发起, 待用户/平台签署
2已完成合同签署全部完成 (终态)
3已取消拒签/过期/解约 (终态)
4待签代扣蚂蚁链专用, 主合同完成但代扣协议未签

状态流转图

                    初始创建
                       |
                      -1 (未生成)
                       |
                  审核通过签合同
                       |
                        0 (待签约)
                       |
                  e签宝发起签署 / 爱签发起
                       |
                        1 (已签约)
                       |
            ┌────────────┼────────────┐
            |            |            |
         e签宝静默    用户签名      蚂蚁链代扣
            |            |            |
            2 (已完成) ←─+----------- (终态)
            |
            | (取消/拒签/过期/解约)
            |
            3 (已取消) (终态)

蚂蚁链特殊路径:
  0 → 4 (合同已签但代扣协议未签)
  4 → 2 (代扣签约成功)

三条签署路径

爱签路径 (contract_sign=2)

适用: 免押 + 下单人脸(部分场景) 或 下单人脸补签。

下单(check_type=3 免押)

机审 30 秒后触发 (Create.php → OrderAutoAuditJob)

leaseAudit 通过 → handleLeaseAuditContract (StoreOrderServices.php)
  ├─ 爱签 fast path: isAsignReady (face=2 && asign_seal_no 不空) → asignFlow + uploadAsignContract
  └─ 爱签 slow path: face 未完成 → 条件派发 asignSignAfterFaceVerify (仅 face=2 时)

用户人脸认证 (Esign.php → persons_verify_check)
  ├─ addAsignUser 异步创建爱签用户 (OrderWithholdJob.php)
  └─ dispatchSece(1, 'asignSignAfterFaceVerify') 派发补签

asignSignAfterFaceVerify (OrderCreateAfterJob.php)
  ├─ 防并发锁: CacheService::redisHandler()->get/set('asign_sign_running_'.$oid, 30s)
  ├─ 4 个守卫 (audit_status / contract_status / contract_sign / face_auth_status)
  ├─ 爱签用户未创建 → addAsignUser + 5 秒重试自己
  └─ 爱签用户已创建 → asignFlow + uploadAsignContract

asignFlow (SystemContractServices.php)
  ├─ 1. uploadTemplate  (uploadTemplate)
  ├─ 2. createContract  (createContract)
  ├─ 3. addSigner       (静默签署)
  └─ 4. contract_status = 2 (leaseServices->update)

uploadAsignContract (OrderCreateAfterJob.php)
  └─ 下载爱签合同 PDF, 上传 OSS

e签宝路径 (contract_sign=1)

适用: 免押 + 下单人脸(传统流程)。

leaseAudit 通过 → handleLeaseAuditContract
  └─ e签宝分支 (!empty(template['dstPdfFile']) && contract_status != 2)
       ├─ org_esign_sdk3 初始化 (平台 + 企业签章)
       ├─ person_esign_sdk3 初始化 (个人)
       ├─ personSign (个人静默签署)
       ├─ platformSign (平台签署)
       ├─ orgSign (企业签署)
       ├─ verifyPdf (验签)
       └─ uploadEsign3Contract (上传 OSS)

蚂蚁链租赁宝路径 (check_type=2)

适用: 旧存量订单, 含代扣协议, 走支付宝开放平台。


调试与排障

关键 dev_log 关键字

关键字触发位置级别
asignSignAfterFaceVerify-正在执行, 跳过重复入队锁 get 命中info
asignSignAfterFaceVerify-爱签用户未创建, 触发 addAsignUser + 5秒重试爱签用户未创建info
asignSignAfterFaceVerify-爱签用户仍未创建, 已重试过, 放弃重试用尽error
asignSignAfterFaceVerify-爱签合同静默签署完成成功info
asignSignAfterFaceVerify-{oid}异常error
爱签回调-合同未找到 / 爱签回调-合同状态更新失败回调处理异常error
爱签合同签署完成回调成功info

常见排障对照

症状排查方向
contract_status 永远 -1查爱签补签链路 dev_log + 订单 face_auth_status
contract_status 跳到 1 不进 2esign3PersonSign 错误日志 + 异步任务
蚂蚁链代扣失败AtoOpenApiServices 回调日志 + AGREEMENT_SIGN_FLOW_FINISH 状态
爱签用户创建失败AsignServices::addPersonalUser 错误 + 爱签 addAsignUser 频次

承信租多门店租赁商城系统官方文档