Artifact 073c3beb20bdff2f7bfa65fcdf300950439222854e14b713b75f0d2d9e3bc759:
- File
backend/src/sync_report.gleam
— part of check-in
[5bb18ed4d4]
at
2026-10-23 03:34:10
on branch trunk
— 把来肯对接和本地库落到可切换的后端。
账号从环境读取,商品由人工增量同步,订单按五分钟轮询并缓存登录会话。开发期用 SQLite,同一套结构可切到 PostgreSQL。 (user: pluto size: 653)
import database.{type DbError} import ql361api.{type ApiError} pub type SyncReport { SyncReport( entity: String, trigger: String, fetched: Int, upserted: Int, cursor: String, ) } pub type SyncError { SyncBusy SyncNotConfigured SyncQl361(ApiError) SyncDb(DbError) SyncRejected(String) } pub fn describe(error: SyncError) -> String { case error { SyncBusy -> "已有同类同步正在进行" SyncNotConfigured -> "未配置 QL361_USERNAME 或 QL361_PASSWORD" SyncQl361(err) -> ql361api.describe_ql361_error(err) SyncDb(database.DbError(message)) -> message SyncRejected(message) -> message } }