📄 加盟商状态自动同步方案.md

← 返回目录

加盟商状态自动同步方案

概述

本方案实现企业微信智能表格中加盟商状态的自动监控和同步功能。当加盟商状态变为"签约后终止"时,自动从工期进度表中删除对应行;当状态变为"再次签约"时,自动重新添加到工期进度表。

已创建的智能表格

表格信息

| 字段名称 | 字段类型 | 说明 | |---------|---------|------| | 加盟商名称 | TEXT | 加盟商唯一标识 | | 状态 | SINGLE_SELECT | 加盟商状态(正常、签约后终止、再次签约等) | | 签约日期 | DATE_TIME | 签约日期 | | 联系人 | TEXT | 联系人姓名 | | 联系电话 | PHONE_NUMBER | 联系电话 | | 备注 | TEXT | 备注信息 |

#### 2. 加盟商工期进度表 (sheet_id: MAqXdi) | 字段名称 | 字段类型 | 说明 | |---------|---------|------| | 加盟商名称 | TEXT | 加盟商唯一标识 | | 项目阶段 | SINGLE_SELECT | 项目当前阶段 | | 计划开始时间 | DATE_TIME | 计划开始时间 | | 计划完成时间 | DATE_TIME | 计划完成时间 | | 实际开始时间 | DATE_TIME | 实际开始时间 | | 实际完成时间 | DATE_TIME | 实际完成时间 | | 当前进度 | PROGRESS | 当前进度百分比 | | 负责人 | TEXT | 项目负责人 |

自动化同步逻辑

监控规则

1. 监控频率: 每分钟检查一次 2. 监控对象: 加盟商状态表中的"状态"字段 3. 触发条件: - 状态变为"签约后终止" → 删除工期进度表中的对应行 - 状态变为"再次签约" → 重新添加工期进度表中的对应行

同步流程

开始
  ↓
读取加盟商状态表
  ↓
检查状态变化
  ↓
├─ 如果状态变为"签约后终止"
│     ↓
│   查找工期进度表中的对应行
│     ↓
│   删除该行记录
│
└─ 如果状态变为"再次签约"
      ↓
    创建新的工期进度记录
      ↓
    添加到工期进度表
  ↓
记录操作日志
  ↓
等待下一轮检查

实现文件

1. 完整Python脚本

在OpenClaw中配置每分钟执行一次的定时任务:

编辑定时任务配置

openclaw cron add "加盟商状态同步" "/1 *" "python3 /root/.openclaw/agents/101/workspace/franchisee_sync_simple.py"

方式二:系统Cron Job

在服务器上配置cron job:

编辑crontab

crontab -e

添加以下行

/1 * /usr/bin/python3 /root/.openclaw/agents/101/workspace/franchisee_sync.py >> /var/log/franchisee_sync.log 2>&1

方式三:手动执行

临时测试或手动触发:

单次执行

python3 franchisee_sync_simple.py

或通过OpenClaw执行

exec command="python3 /root/.openclaw/agents/101/workspace/franchisee_sync_simple.py"

配置说明

关键配置参数

CONFIG = {
    "docid": "dcyeOLceOJqbuQpvY_EyivG5xx0cCPcT2x4kZ3UtkVJBhGqrD7wdc_iKB3za3vqq0foQifL-Y2npwGb1bl6Hb9EQ",
    "status_sheet_id": "q979lj",
    "progress_sheet_id": "MAqXdi",
    "status_field": "状态",
    "franchisee_field": "加盟商名称",
    "terminated_status": "签约后终止",
    "renewed_status": "再次签约",
    "check_interval": 60,  # 检查间隔(秒)
}

自定义配置

如需调整,请修改以下内容: 1. 状态值: 根据实际表格中的状态选项调整terminated_statusrenewed_status 2. 字段名称: 如果表格中的字段名称不同,调整status_fieldfranchisee_field 3. 检查频率: 调整check_interval值(单位:秒)

测试方法

1. 添加测试数据

在"加盟商状态表"中添加测试数据: 1. 将状态改为"签约后终止" - 预期: 自动从工期进度表中删除该加盟商的行 2. 将状态改为"再次签约" - 预期: 自动在工期进度表中重新添加该加盟商的行

3. 查看日志

查看脚本输出

tail -f /tmp/franchisee_sync_$(date +%Y%m%d).log

或查看OpenClaw日志

openclaw logs

故障排除

常见问题

1. 权限问题: 确保有访问智能表格的权限 2. 网络问题: 检查网络连接是否正常 3. API限制: 注意企业微信API调用频率限制 4. 字段不匹配: 确认配置中的字段名称与实际表格一致

调试方法

1. 启用详细日志 2. 手动执行脚本查看输出 3. 检查企业微信API返回的错误码 4. 验证docid和sheet_id是否正确

扩展功能

可添加的功能

1. 邮件通知: 状态变化时发送邮件通知 2. 微信通知: 通过企业微信发送通知 3. 历史记录: 记录所有的状态变化历史 4. 批量操作: 支持批量导入导出 5. 数据备份: 定期备份表格数据

性能优化

1. 增量检查: 只检查发生变化的行 2. 缓存机制: 缓存表格结构减少API调用 3. 错误重试: API调用失败时自动重试 4. 并发处理: 支持多个加盟商同时处理

注意事项

安全建议

1. 权限控制: 确保只有授权人员可以修改状态 2. 数据备份: 定期备份重要数据 3. 操作审计: 记录所有自动化操作 4. 异常监控: 监控脚本运行状态

维护建议

1. 定期检查: 每周检查脚本运行状态 2. 日志清理: 定期清理日志文件 3. 配置备份: 备份配置文件 4. 版本更新: 及时更新脚本版本


联系支持

如有问题或需要调整,请联系系统管理员或开发人员。

创建时间: 2026-03-30 最后更新: 2026-03-30 版本: 1.0