Design Proposal · 2026

扫码即借,扫码即还

面向公司 IT / 办公设备的微信扫码自助借还 · 智能催收系统设计方案:员工扫物资上的二维码,借还一气呵成;超期由系统自动催收。

Design goal · 01
24h
自助借还,无需 IT 值守
Design goal · 02
0 人工
超期催收,自动多级升级
Design goal · 03
100%
操作留痕,审计可追溯
VERSION 0.1 · 2026-05-25SCOPE MVP · Phase 1STACK WeChat Mini Program · 企业微信 · PostgreSQL
01

Problem

为什么现在的借还流程在内耗
01

手工登记

  • Excel 表 / 微信群截图
  • 借还都要找 IT 在场
  • 下班、节假日完全停摆
02

催收靠记忆

  • 超期没人主动追
  • IT 凭印象去问那个本子还了没
  • 超过 2 周大概率就丢了
03

盘点黑盒

  • 物资在谁手上、在哪个工位
  • 一年盘一次,全靠人工
  • 丢损率没人说得清
04

责任不清

  • 归还时不验收、不留证
  • 损坏后双方扯皮
  • 维修费走采购账,财务难看
根因:四大痛点全部指向同一件事 —— IT 既是审计者,又是流程瓶颈。
02

Solution

把 IT 从「看门人」变成「审计员」

员工扫物资上的二维码,借还一气呵成;超期由系统自动催收。系统分成三块:

01 · 用户端

员工微信扫码

微信小程序 / 企业微信
  • 扫码借用
  • 扫码归还(可拍照存证)
  • 我的借用 · 续期
02 · 管理端

IT / HR 后台

Web 后台
  • 物资批量录入 + 打印二维码
  • 借用单查询 + 强制归还
  • 信用分 / 黑名单 / 审计日志
03 · 智能层

自动催收 + 留痕

Cron + 多通道推送
  • 升级链:到期前 → 超期 → 主管 → HR
  • Redis 防并发借
  • 全操作 audit_log
03

Interaction

三条核心动线,每条 ≤ 4 步

借用

  1. 1员工微信扫物资二维码
  2. 2进入小程序物资详情页
  3. 3确认借期 + 授权订阅消息
  4. 4成功:状态 idle → borrowed

归还

  1. 1持有人再次扫同一个码
  2. 2选择完好 / 损坏 / 部件丢失
  3. 3可选拍照存证
  4. 4成功:状态 borrowed → idle

催收

  1. 1到期前 24h · 订阅消息
  2. 2超期 1 天 · 抄送主管
  3. 3超期 3 天 · 企微群通知
  4. 4超期 14 天 · 进黑名单
04

Architecture

四层分层架构
L1

用户端 / Client

微信小程序 · 企业微信自建应用 · IT 管理后台(Web)
L2

网关 / API Gateway

Nginx + JWT · Rate Limit · CSRF · HMAC 二维码校验
L3

服务 / Service

NestJS · 借还核心 · 审批流 · 催收 Cron · 审计日志 · 小程序码生成
L4

数据 + 推送 / Data & Push

PostgreSQL · Redis · 腾讯云 COS ┊ 订阅消息 · 企业微信 · 短信 · 邮件
部署估算:腾讯云 / 阿里云 CVM 2C4G + RDS PostgreSQL + Redis + COS,方案估算月成本 ¥300–800。
05

Data Model

7 张核心表,关系扁平,索引清晰

7 张表的主键都是 id (uuid)

含义主要字段依赖 / 约束
users用户openid · 实名 · 部门 · 角色 · trust_score · 黑名单依赖 departments
items物资sn · 分类 · 状态 · 当前持有人 · 位置 · 二维码 URL依赖 categories · locations · users
categories分类树形 · 默认借期 · 是否需审批 · 押金self-FK
borrowings借用单item · user · 预期归还 · 实际归还 · 状态 · 验收照片核心流水表 · 索引 (status, expected_return_at)
reminders提醒记录borrowing · template_key · channel · 发送状态UNIQUE(borrowing_id, template_key) 防重发
approval_requests审批工单borrowing · 审批人 · pending / approved / rejectedneeds_approval=true 时创建
audit_logs审计日志actor · action · target · payload(JSON) · ip · ua所有写操作必落
06

Flow · Borrow

借用流程:员工自助,0 人工介入
步骤动作实现备注
01 扫码微信扫物资二维码(小程序码)wx.scanCode 原生
02 登录wx.login → openid 拉用户档案首次需补实名 + 手机号
03 判态items.status = idle ? borrowed ?Redis SETNX item:{id}防并发借
04 授权勾选订阅消息(用于催收)用户拒绝时降级短信
05 落单INSERT borrowings + UPDATE items同一事务内写 audit_log
06 回执成功页,显示预计归还日期二维码可加入手机相册
审批分支:category.needs_approval=true → 创建 approval_request → 主管在小程序内一键审批。
07

Flow · Return

归还流程 + 异常处理

主流程 · 自助归还

  1. 1持有人再次扫物资码
  2. 2系统识别 current_holder == openid,显示「归还」按钮
  3. 3选择状态:完好 / 损坏 / 部件丢失
  4. 4可选拍照存证(推荐:物资上 + 损坏处)
  5. 5提交 → status=returneditems=idle

异常分支 · 自动工单

  1. damaged归还时勾选「损坏」→ 自动建 disputed 工单给 IT;照片做证据链;维修费走 IT 预算
  2. overdue超期归还 → users.trust_score 按天扣;重度超期触发黑名单
  3. not-holder非持有人扫到借出物资 → 显示当前持有人 + 预期归还,并提供「举报问题」入口
  4. lost举报丢失 → 转 IT 后台人工裁定;责任方走 HR 流程
08

Escalation

超期自动催收:6 级升级链,0 人工
T-24h
到期前 24h
借用人
订阅消息
T-0
到期当天
借用人
订阅消息
+1d
超期 1 天
借用人 + 抄送主管
订阅消息 + 企业微信
+3d
超期 3 天
借用人 + 主管 + IT
订阅 + 企微群通知
+7d
超期 7 天
借用人 + HR + 部门负责人
短信 + 邮件 + 企微
+14d
超期 14 天
仅管理员可见 · 暂停借用权限
全通道 + trust_score 清零
幂等保护:reminders(borrowing_id, template_key) UNIQUE 防重发;订阅消息授权失效时自动降级到短信通道。
09

Automation

减少人工的 7 个设计点
01 PHASE 1

全自助扫码借还

IT 不在场也能借。

02 PHASE 1

Cron + 多通道催收

无需人工追超期。

03 PHASE 2

信用分 + 自动黑名单

失信员工自动冷却。

04 PHASE 2

借 / 还强制拍照

把损坏责任的举证链固化下来。

05 PHASE 2

30 天未扫码 → 盘点

物资责任部门收到复核提醒。

06 PHASE 2

周 / 月报自动推送

IT 经理在企微收到 Dashboard。

07 PHASE 3

OCR 拍铭牌录入

新物资的型号、SN 自动填写。

10

Compliance

资质评估:个人主体 / 企业小程序 / 企业微信
关键能力个人主体企业小程序企业微信自建
注册成本免费营业执照 + ¥300/年营业执照
获取员工手机号❌ 不开放✅ ¥0.03/次✅ 通讯录直拿
订阅消息(催收)部分类目受限✅ 全量✅ 应用消息直推
类目「企业管理」❌ 选不到✅ 可选—(无类目)
通讯录免填部门
短信签名(公司名)
结论:个人主体有 3 个硬伤(拿不到手机号 / 类目过不了 / 短信通道弱)→ 强烈推荐企业主体或企业微信。
11

Roadmap

三条可执行路径,按现状选
A · ⭐ 推荐

企业主体小程序

  • 适用:长期为公司服务,物资 > 50 件,用户 > 20 人
  • 成本:营业执照 + ¥300/年;云资源 ¥300–800/月
  • 周期:4–6 周,ICP 备案 2–4 周是瓶颈
B · ⭐⭐ 极推荐

企业微信自建应用

  • 适用:公司已用企业微信,内部场景纯粹,员工 ≤ 200(免费版)
  • 成本:企业微信免费;云资源 ¥300–800/月
  • 周期:1–2 周,省去订阅消息授权层
C · 🧪 验证用

个人主体 + 体验版

  • 适用:先做 demo 验证,家用或 < 10 人,不上线正式发布
  • 成本:免费,仅开发者机器
  • 周期:1 周出原型,不能长期生产用
12

Phases

分阶段实施:3 个 Phase,渐进式上线
PHASE 1

MVP · 2–3 周

  • 微信小程序架子 + 借 / 还交互
  • users / items / categories / borrowings CRUD
  • 二维码批量生成(小程序码 + PDF 拼版)
  • 超期 Cron + 订阅消息(4 级模板)
  • IT 后台:物资管理 / 借用单 / 强制归还
  • Excel 一键导入存量物资
PHASE 2

流程完善 · 2 周

  • 审批流(主管小程序内一键审批)
  • 归还拍照存证 + 损坏举报工单
  • 信用分 + 自动黑名单
  • 企业微信群机器人推送
  • 周期盘点提醒(30 天未扫码)
  • 周报 / 月报自动推送 IT 经理
PHASE 3

智能化深化 · 按需

  • OCR 拍铭牌自动录入设备
  • 用量分析 → 闲置识别 → 调拨建议
  • 续期申请(小程序内一键延期)
  • 钉钉 / 企业微信通讯录同步
  • 设备生命周期分析(采购 → 报废 ROI)
  • RFID 评估(视规模决定)
13

Out of scope · Next step

明确不做的事,和立即可做的事

明确不做

  • RFID / NFC 硬件 —— 扫码已足够,Phase 3 再评估
  • 押金线上支付 —— 用线下押金 + 黑名单替代
  • App / H5 端 —— 小程序覆盖 99% 场景
  • 多公司 SaaS 化 —— 先单租户跑通
  • AI 损坏识别 —— 积累 1000+ 样本后再训

立即可做

  1. 1确认路径:A / B / C 三选一,决定主体类型
  2. 2ICP 备案:企业主体路径需 2–4 周,立即启动
  3. 3数据导入:汇总现有物资清单(Excel),字段为名称 / 分类 / SN
  4. 4试点范围:选 1 个部门 + 50 件物资做 Phase 1 灰度
  5. 5上线复盘:2 周后看借还次数 / 超期率 / 满意度