|
|
hai 2 meses | |
|---|---|---|
| .. | ||
| api | hai 2 meses | |
| db | hai 2 meses | |
| repositories | hai 2 meses | |
| schemas | hai 2 meses | |
| services | hai 2 meses | |
| README.md | hai 2 meses | |
| __init__.py | hai 2 meses | |
| main.py | hai 2 meses | |
基于 FastAPI 的电子签约子模块,负责店铺合同签约相关的接口、服务与数据访问。当前实现为骨架,需在此基础上补充业务逻辑。
alien_3rd_esign/
├── main.py # 应用入口,挂载路由与健康检查
├── api/
│ ├── router.py # 路由分组,当前仅根路径
│ └── deps.py # 依赖注入,提供 ContractServer
├── db/
│ └── models/
│ └── contract_store.py # 店铺合同表模型
├── repositories/
│ └── contract_repo.py # 合同仓储(待实现)
├── services/
│ └── contract_server.py # 合同服务层(待实现)
├── schemas/
│ ├── request/ # 请求 Pydantic 模型(待补充)
│ └── response/ # 响应 Pydantic 模型(待补充)
└── __init__.py
alien_gateway.config.settings,至少包含 PROJECT_NAME,以及数据库配置(见上游网关项目)。alien_database.session.get_db,确保上游已配置 SQLAlchemy Engine/Session。安装依赖后本地运行示例:
uvicorn alien_3rd_esign.main:app --host 0.0.0.0 --port 8006 --reload
GET /api/esign/:模块存活确认,返回 {"module": "Contract", "status": "Ok"}。GET /health:健康检查,返回 {"service": "sign", "status": "ok"}。ContractStore(表名 contract_store)
store_id (BigInteger, PK) 店铺 IDbusiness_segment (String) 经营板块merchant_name (String) 商家姓名contact_phone (String) 联系电话signing_status (String, 默认“未签署”) 状态:已签署/未签署/已到期signing_time (DateTime, 可空) 签署时间effective_time (DateTime, 可空) 生效时间expiry_time (DateTime, 可空) 到期时间AuditMixin,包含审计字段(创建/更新人、时间等,具体见 alien_database.base)。api/router.py 按资源划分路由,通过 Depends(get_contract_service) 注入服务。services/contract_server.py 编写业务逻辑(状态流转、有效期计算、外部电子签平台集成、权限校验)。repositories/contract_repo.py 实现对 ContractStore 的 CRUD、列表分页、状态更新等。schemas/request/ 与 schemas/response/ 定义 Pydantic 模型,约束字段、枚举和值域。