From 8e571950334f009be4693ef13018a0e149aa90a4 Mon Sep 17 00:00:00 2001 From: panda <1415243231@qq.com> Date: Tue, 31 Mar 2026 10:41:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=BB=AD=E7=BA=A6=E6=97=A5=E4=B8=8E?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=97=A5=E5=AF=B9=E8=B0=83=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BB=AD=E7=BA=A6=E4=BB=A3=E8=A1=A8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update_all_NGV_data_daily.py | 8 +- logs/error_task.log | 6 + logs/task.log | 60 + test/json.json | 104 -- test/json2.json | 116 -- test/result.json | 1639 ----------------- .../续约代办宜搭同步简道云-数据一致性.ipynb | 43 + test/商机问题跟进表.ipynb | 43 + test/新签研发联调.ipynb | 14 +- test/续约待办一致性-全量同步.py | 249 +++ test/续约待办宜搭传给简道云.py | 3 +- tools/重复派发删除.ipynb | 41 + 12 files changed, 455 insertions(+), 1871 deletions(-) delete mode 100644 test/json.json delete mode 100644 test/json2.json delete mode 100644 test/result.json create mode 100644 test/sampleCloud/续约代办宜搭同步简道云-数据一致性.ipynb create mode 100644 test/商机问题跟进表.ipynb create mode 100644 test/续约待办一致性-全量同步.py diff --git a/back_ground_module/update_all_NGV_data_daily.py b/back_ground_module/update_all_NGV_data_daily.py index 9b271b6..44ed91e 100644 --- a/back_ground_module/update_all_NGV_data_daily.py +++ b/back_ground_module/update_all_NGV_data_daily.py @@ -835,7 +835,7 @@ class UpdateAllNGVDataDaily: 'is_camera_service': '_widget_1734062123079', 'is_maintenance_service': '_widget_1734062123080', 'saas_create_time': '_widget_1734062123081', - 'expiry_time': '_widget_1734062123082', + 'expiry_time': '_widget_1734062123177', # 改过期日 'saas_use_days': '_widget_1734062123083', 'saas_use_year': '_widget_1734062123084', 'is_main_org': '_widget_1734062123085', @@ -958,7 +958,7 @@ class UpdateAllNGVDataDaily: # 安装服务 'is_install_service': '_widget_1734062123175', 'install_create_time': '_widget_1734062123176', - 'last_end_date': '_widget_1734062123177', + 'last_end_date': '_widget_1734062123082', 'renew_date': '_widget_1734062123178', # 连锁信息 @@ -1005,9 +1005,9 @@ class UpdateAllNGVDataDaily: # 日期字段(UTC格式) 'date_fmt_date': '_widget_1749000071375', 'saas_create_time_date': '_widget_1749000071377', - 'expiry_time_date': '_widget_1749000071382', + 'expiry_time_date': '_widget_1749000071389', # 过期日 'install_create_time_date': '_widget_1749000071384', - 'last_end_date_date': '_widget_1749000071389', + 'last_end_date_date': '_widget_1749000071382', 'renew_date_date': '_widget_1749000071391', # 人员ID字段 diff --git a/logs/error_task.log b/logs/error_task.log index 2eb08b3..c5a05d5 100644 --- a/logs/error_task.log +++ b/logs/error_task.log @@ -2599,3 +2599,9 @@ 2026-01-06 10:22:45,472 - log_config.py - error_task_logger - ERROR - 任务 高德匹配手机号 (05:00) 超过执行窗口5分钟以上,标记为过期。 2026-01-06 10:22:45,473 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。 2026-01-06 10:22:45,475 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。 +2026-03-26 16:52:07,168 - log_config.py - error_task_logger - ERROR - 同步异常 data_id:69c48f57805eb4de7a4f42c4 实例:fde35fef-ce35-4521-9f01-139b3d15efd0 错误:name 'data' is not defined +Traceback (most recent call last): + File "d:\Idea Project\SaaS_V1.7\test\续约待办一致性-全量同步.py", line 111, in + form = data.get("formData") + ^^^^ +NameError: name 'data' is not defined diff --git a/logs/task.log b/logs/task.log index e07b199..9943a62 100644 --- a/logs/task.log +++ b/logs/task.log @@ -341,3 +341,63 @@ 2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。 2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 启动任务加载完成。 2026-01-06 10:22:45,476 - main.py - task_logger - INFO - 程序已启动... +2026-03-26 16:33:23,279 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:33:23,281 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:33:23,695 - 续约待办一致性-全量同步.py - task_logger - WARNING - 简道云缺少字段: ['门店id'] +2026-03-26 16:33:25,026 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:34:03,221 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:34:03,223 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:34:04,502 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:39:08,055 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:39:08,057 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:39:09,383 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:46:24,134 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:46:24,136 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:46:24,510 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:46:25,396 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:47:21,705 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:47:21,707 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:47:22,080 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:47:22,946 - 续约待办一致性-全量同步.py - task_logger - WARNING - 跳过:宜搭实例无表单数据 instance_id=fde35fef-ce35-4521-9f01-139b3d15efd0 data_id=69c48f57805eb4de7a4f42c4 +2026-03-26 16:47:22,947 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:50:06,754 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:50:06,756 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:50:07,181 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:50:08,120 - 续约待办一致性-全量同步.py - task_logger - WARNING - 跳过:宜搭实例无表单数据 instance_id=fde35fef-ce35-4521-9f01-139b3d15efd0 data_id=69c48f57805eb4de7a4f42c4 +2026-03-26 16:50:08,121 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:1 +2026-03-26 16:52:05,870 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:52:05,873 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:52:06,266 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:52:07,170 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:1 跳过:0 +2026-03-26 16:53:46,238 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:53:46,240 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:53:46,618 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:53:47,540 - 续约待办一致性-全量同步.py - task_logger - WARNING - 跳过:宜搭实例无表单数据 instance_id=fde35fef-ce35-4521-9f01-139b3d15efd0 data_id=69c48f57805eb4de7a4f42c4 +2026-03-26 16:53:47,541 - 续约待办一致性-全量同步.py - task_logger - WARNING - 跳过 data_id:69c48f57805eb4de7a4f42c4 实例:fde35fef-ce35-4521-9f01-139b3d15efd0 | 原因: 120天:值空, 60天:值空, 30天:值空, 区域经理:值空, 服务单号:值空, 门店ID:值空, 省:值空, 市:值空 | 取值: v120= v60= v30= region_name= region_value= service_no= store_id= prov= city= +2026-03-26 16:53:47,542 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:0 跳过:2 +2026-03-26 16:54:17,105 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:54:17,107 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:54:17,496 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:54:18,866 - 续约待办一致性-全量同步.py - task_logger - WARNING - 更新失败 data_id:69c48f57805eb4de7a4f42c4 实例:fde35fef-ce35-4521-9f01-139b3d15efd0 返回:{'data': {'_id': '69c48f57805eb4de7a4f42c4', 'creator': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'updater': {'name': 'F6汽车科技', 'username': '#admin', 'status': 1, 'type': 0}, 'deleter': None, 'createTime': '2026-03-26T01:43:51.997Z', 'updateTime': '2026-03-26T08:54:20.015Z', 'deleteTime': None, 'flowState': 0, '_widget_1764820541663': '6882b41f9f4c7c716a87c66f', '_widget_1764820541616': '中国石化销售股份有限公司湖北石油分公司', '_widget_1764820541617': '黄石杭州路站店', '_widget_1764820541661': 'CHS202507240304526', '_widget_1764820541618': '易捷养车', '_widget_1766130435561': '全国KA(FMVP)', '_widget_1764820541672': '2026-07-23T16:00:00.000Z', '_widget_1764820541624': 'SaaS新签:1218', '_widget_1764820541621': '林莉', '_widget_1764820541622': '18986601656', '_widget_1764820541625': {'name': '刘光春', 'username': '171128505620867604', 'status': 1, 'type': 0, 'departments': [122503482, 122472424], 'integrate_id': '171128505620867604'}, '_widget_1766730385209': '基础版-门店管理系统', '_widget_1764820541628': '主动', '_widget_1773383601735': '', '_widget_1764820541634': {'name': '刘光春', 'username': '171128505620867604', 'status': 1, 'type': 0, 'departments': [122503482, 122472424], 'integrate_id': '171128505620867604'}, '_widget_1765352838631': '2026-03-26T07:23:36.642Z', '_widget_1764820541630': '主动', '_widget_1773383601736': '', '_widget_1764820541635': None, '_widget_1765352838632': None, '_widget_1764820541632': '主动', '_widget_1773383601737': '', '_widget_1764820541636': None, '_widget_1765352838633': None, '_widget_1764820541638': '是', '_widget_1764820541641': '暂时无问题', '_widget_1765330820509': '', '_widget_1764820541653': '易捷养车', '_widget_1764820541697': '', '_widget_1764820541657': '无', '_widget_1766633812301': [], '_widget_1764820541659': '', '_widget_1764820541654': '是', '_widget_1764820541700': '', '_widget_1764820541707': '', '_widget_1764820541709': '', '_widget_1764820541711': '', '_widget_1764820541713': '', '_widget_1764820541702': '', '_widget_1764820541717': [], '_widget_1764820541681': '是', '_widget_1765330820391': [], '_widget_1764820541674': '', '_widget_1764820541679': None, '_widget_1764820541676': '', '_widget_1764820541680': '', '_widget_1764820541865': '2026-05-24T16:00:00.000Z', '_widget_1765964381895': '2026-06-23T16:00:00.000Z', '_widget_1765964381896': '2026-07-23T16:00:00.000Z', '_widget_1765964381897': '2026-10-21T16:00:00.000Z', '_widget_1765352838609': '120天节点', '_widget_1774419872766': '120-60中间节点', '_widget_1765352838610': '', '_widget_1765964381952': '连锁', '_widget_1765866283543': '', '_widget_1764820541715': {'name': '孙海程', 'username': '084119070623372941', 'status': 1, 'type': 0, 'departments': [177751223], 'integrate_id': '084119070623372941'}, '_widget_1764820541678': {'name': '刘光春', 'username': '171128505620867604', 'status': 1, 'type': 0, 'departments': [122503482, 122472424], 'integrate_id': '171128505620867604'}, '_widget_1774503299407': {'name': '景东强', 'username': '232229053125844557', 'status': 1, 'type': 0, 'departments': [122472424, 122503482], 'integrate_id': '232229053125844557'}, '_widget_1766376046563': '06364', '_widget_1766469131897': '否', '_widget_1766633812134': '', '_widget_1766631811839': '11240984669918289042', '_widget_1764820541623': '基础版', '_widget_1772777035893': '湖北省', '_widget_1772777035894': '黄石市', '_widget_1772777035895': '', '_widget_1773305561198': '11240984669918400135', '_widget_1773306178551': 'XYFWD20260326047', '_widget_1774339442956': '', 'appId': '675b900991ad2491c69389ca', 'entryId': '6931063d64187eaf6b927557'}} +2026-03-26 16:54:18,868 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:0 失败:1 跳过:0 +2026-03-26 16:55:43,423 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:55:43,425 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:55:43,836 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:55:45,277 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:1 失败:0 跳过:0 +2026-03-26 16:58:03,921 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 16:58:03,923 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 16:58:04,314 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 16:58:06,581 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:2 失败:0 跳过:0 +2026-03-26 17:12:59,732 - api.py - task_logger - INFO - 获取了155条数据 +2026-03-26 17:12:59,734 - 续约待办一致性-全量同步.py - task_logger - INFO - 员工数: 155 +2026-03-26 17:13:00,152 - 续约待办一致性-全量同步.py - task_logger - WARNING - 已匹配字段: ['120天是否联系上客户', '60天是否联系上客户', '30天是否联系上客户', '区域经理', '服务单号', '门店ID', '公司id', '省', '市'] | 门店ID_widget=_widget_1773305561198 公司id_widget=_widget_1766631811839 +2026-03-26 17:25:14,168 - 续约待办一致性-全量同步.py - task_logger - WARNING - 门店编码不一致: CHS202209150188636 vs CHS202204060173893 实例:72bb3720-4397-449d-b49e-017e01006cd1 data_id:69c251a92c89654480e8b0de +2026-03-26 17:26:22,204 - 续约待办一致性-全量同步.py - task_logger - WARNING - 门店编码不一致: CHS202204060173893 vs CHS201906290031913 实例:173bde91-5c88-4ef4-b8b7-2201dec1249e data_id:69c251a459268262b711272d +2026-03-26 17:32:28,526 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求 +2026-03-26 17:37:08,454 - 续约待办一致性-全量同步.py - task_logger - WARNING - 门店编码不一致: CHS201906290031913 vs CHS202204200174710 实例:a8552472-0660-4191-a671-42c14d3255d9 data_id:69c2516498c69ba7165bcf20 +2026-03-26 17:44:16,165 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Read timed out. (read timeout=10), 将重新请求 +2026-03-26 17:51:49,406 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Max retries exceeded with url: /api/v5/app/entry/data/update (Caused by ConnectTimeoutError(, 'Connection to api.jiandaoyun.com timed out. (connect timeout=10)')), 将重新请求 +2026-03-26 18:00:11,274 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Max retries exceeded with url: /api/v5/app/entry/data/update (Caused by ConnectTimeoutError(, 'Connection to api.jiandaoyun.com timed out. (connect timeout=10)')), 将重新请求 +2026-03-26 18:02:32,510 - 续约待办一致性-全量同步.py - task_logger - WARNING - 门店编码不一致: CHS201905080028126 vs CHS202207120184263 实例:64e0c4dd-f762-49af-8e32-18f6a54fc647 data_id:69ab8f6b88400afd9f2a1e50 +2026-03-26 18:21:36,444 - api.py - task_logger - WARNING - 请求异常: HTTPSConnectionPool(host='api.jiandaoyun.com', port=443): Max retries exceeded with url: /api/v5/app/entry/data/update (Caused by ConnectTimeoutError(, 'Connection to api.jiandaoyun.com timed out. (connect timeout=10)')), 将重新请求 +2026-03-26 19:01:09,591 - 续约待办一致性-全量同步.py - task_logger - INFO - 完成 同步成功:5774 失败:0 跳过:0 diff --git a/test/json.json b/test/json.json deleted file mode 100644 index ab70c11..0000000 --- a/test/json.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "result": [ - { - "processInstanceId": "fa83e004-64d5-40a8-b2a9-122cc24a548f", - "operateTimeGMT": "2025-02-28T09:07Z", - "showName": "提交申请", - "operateType": "NEW_PROCESS", - "remark": "", - "taskHoldTimeGMT": 0, - "type": "HISTORY", - "operatorName": "宜搭平台", - "actionExit": "submit", - "operatorUserId": "yida_pub_account", - "activityId": "sid-restartevent", - "size": 1, - "dataId": 52359309345, - "domainList": [], - "operatorDisplayName": "宜搭平台", - "action": "提交申请", - "taskId": "null", - "operatorPhotoUrl": "//img.alicdn.com/tfs/TB1mKVJSpXXXXcwaXXXXXXXXXXX-78-80.jpg" - }, - { - "processInstanceId": "fa83e004-64d5-40a8-b2a9-122cc24a548f", - "operateTimeGMT": "2025-03-18T10:14Z", - "showName": "120天联系情况", - "operateType": "EXECUTE_TASK_NORMAL", - "remark": "提交", - "taskHoldTimeGMT": 0, - "type": "HISTORY", - "operatorName": "孟祥宇", - "actionExit": "agree", - "operatorUserId": "224616673723465569", - "activityId": "sid-6470221a-82ec-4bdd-a873-245ee47a5605", - "size": 1, - "dataId": 53850072345, - "domainList": [], - "operatorDisplayName": "孟祥宇", - "action": "提交", - "taskId": "52359293348", - "operatorPhotoUrl": "https://static.dingtalk.com/media/lADPDh0cUUaSfHrNAvDNAnA_624_752.jpg" - }, - { - "processInstanceId": "fa83e004-64d5-40a8-b2a9-122cc24a548f", - "operateTimeGMT": "2025-04-01T14:08Z", - "showName": "60天联系情况", - "operateType": "EXECUTE_TASK_NORMAL", - "remark": "系统提交", - "taskHoldTimeGMT": 0, - "type": "HISTORY", - "operatorName": "魏子淇", - "actionExit": "agree", - "operatorUserId": "195159084238961158", - "activityId": "sid-ab6374fd-7580-66d5-1628-6b0666bb38ff", - "size": 1, - "dataId": 55294608170, - "domainList": [], - "operatorDisplayName": "魏子淇", - "action": "提交", - "taskId": "53850072349", - "operatorPhotoUrl": "https://static.dingtalk.com/media/lADPD2sQvHoyUEbNAtHNAtA_720_721.jpg" - }, - { - "processInstanceId": "fa83e004-64d5-40a8-b2a9-122cc24a548f", - "operateTimeGMT": "2025-04-01T14:08Z", - "showName": "30天联系情况", - "operateType": "EXECUTE_TASK_NORMAL", - "remark": "系统提交", - "taskHoldTimeGMT": 0, - "type": "HISTORY", - "operatorName": "魏子淇", - "actionExit": "agree", - "operatorUserId": "195159084238961158", - "activityId": "sid-e5928800-154e-4e20-6019-1364274afc49", - "size": 1, - "dataId": 55294609293, - "domainList": [], - "operatorDisplayName": "魏子淇", - "action": "提交", - "taskId": "55294608175", - "operatorPhotoUrl": "https://static.dingtalk.com/media/lADPD2sQvHoyUEbNAtHNAtA_720_721.jpg" - }, - { - "processInstanceId": "fa83e004-64d5-40a8-b2a9-122cc24a548f", - "operateTimeGMT": "2025-04-01T14:08Z", - "showName": "0天处理情况", - "operateType": "EXECUTE_TASK_NORMAL", - "remark": "系统提交", - "taskHoldTimeGMT": 0, - "type": "HISTORY", - "operatorName": "魏子淇", - "actionExit": "agree", - "operatorUserId": "195159084238961158", - "activityId": "sid-ba12125f-bc3a-2663-ebf0-43b5aeb8c32c", - "size": 1, - "dataId": 55294558885, - "domainList": [], - "operatorDisplayName": "魏子淇", - "action": "同意", - "taskId": "55294609301", - "operatorPhotoUrl": "https://static.dingtalk.com/media/lADPD2sQvHoyUEbNAtHNAtA_720_721.jpg" - } - ] -} \ No newline at end of file diff --git a/test/json2.json b/test/json2.json deleted file mode 100644 index d4c060f..0000000 --- a/test/json2.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "app_id": "6694d3c4fcb69ca9a111a6c4", - "form_id": "693778ee287cfdcc2df85ece", - "form_title": "流程表单结构测试", - "instance_id": "6937dc8d2cbcdd4c466a8381", - "url": "https://dingtalk.jiandaoyun.com/workflow/process_instance/6937dc8d2cbcdd4c466a8381", - "update_time": "2025-12-09T08:23:41.095Z", - "create_time": "2025-12-09T08:23:41.093Z", - "finish_time": None, - "status": 0, - "creator": { - "username": "#admin", - "name": "F6汽车科技", - "type": 0, - "status": 1, - "integrate_id": "#admin" - }, - "tasks": [ - { - "app_id": "6694d3c4fcb69ca9a111a6c4", - "form_id": "693778ee287cfdcc2df85ece", - "form_title": "流程表单结构测试", - "title": "流程发起节点", - "instance_id": "6937dc8d2cbcdd4c466a8381", - "task_id": "6937dc8d2cbcdd4c466a8398", - "flow_id": 0, - "flow_name": "流程发起节点", - "url": "https://dingtalk.jiandaoyun.com/workflow/process_instance/6937dc8d2cbcdd4c466a8381/task/6937dc8d2cbcdd4c466a8398", - "assignee": { - "username": "#admin", - "name": "F6汽车科技", - "type": 0, - "status": 1, - "integrate_id": "#admin" - }, - "creator": { - "username": "#admin", - "name": "F6汽车科技", - "type": 0, - "status": 1, - "integrate_id": "#admin" - }, - "create_time": "2025-12-09T08:23:41.094Z", - "create_action": "forward", - "finish_time": "2025-12-09T08:23:41.094Z", - "finish_action": "forward", - "status": 1 - }, - { - "app_id": "6694d3c4fcb69ca9a111a6c4", - "form_id": "693778ee287cfdcc2df85ece", - "form_title": "流程表单结构测试", - "title": "多跟进人节点", - "instance_id": "6937dc8d2cbcdd4c466a8381", - "task_id": "6937dc8d2cbcdd4c466a83a6", - "flow_id": 2, - "flow_name": "多跟进人节点", - "url": "https://dingtalk.jiandaoyun.com/workflow/process_instance/6937dc8d2cbcdd4c466a8381/task/6937dc8d2cbcdd4c466a83a6", - "assignee": { - "username": "4210192048793363", - "name": "张阳", - "departments": [ - 449008196 - ], - "type": 0, - "status": 1, - "integrate_id": "4210192048793363" - }, - "creator": { - "username": "#admin", - "name": "F6汽车科技", - "type": 0, - "status": 1, - "integrate_id": "#admin" - }, - "create_time": "2025-12-09T08:23:41.095Z", - "create_action": "forward", - "finish_time": None, - "finish_action": None, - "status": 0 - }, - { - "app_id": "6694d3c4fcb69ca9a111a6c4", - "form_id": "693778ee287cfdcc2df85ece", - "form_title": "流程表单结构测试", - "title": "多跟进人节点", - "instance_id": "6937dc8d2cbcdd4c466a8381", - "task_id": "6937dc8d2cbcdd4c466a83aa", - "flow_id": 2, - "flow_name": "多跟进人节点", - "url": "https://dingtalk.jiandaoyun.com/workflow/process_instance/6937dc8d2cbcdd4c466a8381/task/6937dc8d2cbcdd4c466a83aa", - "assignee": { - "username": "2268275546837446", - "name": "曹伟", - "departments": [ - 449008196 - ], - "type": 0, - "status": 1, - "integrate_id": "2268275546837446" - }, - "creator": { - "username": "#admin", - "name": "F6汽车科技", - "type": 0, - "status": 1, - "integrate_id": "#admin" - }, - "create_time": "2025-12-09T08:23:41.095Z", - "create_action": "forward", - "finish_time": None, - "finish_action": None, - "status": 0 - } - ] -} diff --git a/test/result.json b/test/result.json deleted file mode 100644 index 420ba75..0000000 --- a/test/result.json +++ /dev/null @@ -1,1639 +0,0 @@ -{ - 'api_key': '675b900991ad2491c69389ca', - 'entry_id': '6931063d64187eaf6b927557', - 'data_list': [ - { - '_widget_1764820541663': { - 'value': '680f48c6adc76edf62da8f84' - }, - '_widget_1764820541616': { - 'value': '仙居县铭奥汽车销售服务有限公司' - }, - '_widget_1764820541617': { - 'value': '仙居县铭奥汽车销售服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS201801242247' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 01:59:32' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '王凯元' - }, - '_widget_1764820541622': { - 'value': '13968550395' - }, - '_widget_1764820541625': { - 'value': '195159084238961158' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '195159084238961158' - }, - '_widget_1764820541717': [ - { - '_widget_1764820541719': { - 'value': '员工账号' - }, - '_widget_1764820541720': { - 'value': 0.5512 - }, - '_widget_1764820541721': { - 'value': '2025-02-17 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - }, - { - '_widget_1764820541719': { - 'value': '商用车车型解析' - }, - '_widget_1764820541720': { - 'value': 0.3228 - }, - '_widget_1764820541721': { - 'value': '2025-02-17 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - }, - { - '_widget_1764820541719': { - 'value': '企微助手' - }, - '_widget_1764820541720': { - 'value': 589.0 - }, - '_widget_1764820541721': { - 'value': '2025-08-28 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - }, - { - '_widget_1764820541719': { - 'value': '保险机器人' - }, - '_widget_1764820541720': { - 'value': 137.8026 - }, - '_widget_1764820541721': { - 'value': '2025-08-28 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - }, - { - '_widget_1764820541719': { - 'value': '员工账号' - }, - '_widget_1764820541720': { - 'value': 21.6238 - }, - '_widget_1764820541721': { - 'value': '2025-04-06 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - } - ], - '_widget_1764820541865': { - 'value': '2026-07-15 01:59:32' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48d04c19968e428a62e1' - }, - '_widget_1764820541616': { - 'value': '韩城市博鑫钣金修理厂' - }, - '_widget_1764820541617': { - 'value': '陕西博城汽车服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS201809183338' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '2199.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '张锋' - }, - '_widget_1764820541622': { - 'value': '15319939192' - }, - '_widget_1764820541625': { - 'value': '0103433535667605' - }, - '_widget_1764820541715': { - 'value': '245308451136546029' - }, - '_widget_1764820541678': { - 'value': '0103433535667605' - }, - '_widget_1764820541717': [ - { - '_widget_1764820541719': { - 'value': '员工账号' - }, - '_widget_1764820541720': { - 'value': 300.0 - }, - '_widget_1764820541721': { - 'value': '2025-10-08 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - } - ], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48f5da76b54ba95a801b' - }, - '_widget_1764820541616': { - 'value': '武陟县车之家汽修' - }, - '_widget_1764820541617': { - 'value': '武陟县兴华路车之家汽车维修部' - }, - '_widget_1764820541661': { - 'value': 'CHS201903240024775' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 03:03:11' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '799.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '王阳阳' - }, - '_widget_1764820541622': { - 'value': '13782750207' - }, - '_widget_1764820541625': { - 'value': '6412695429095931' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 03:03:11' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48fb857b02f03739702c' - }, - '_widget_1764820541616': { - 'value': '深圳市龙岗区车速汽车维修行' - }, - '_widget_1764820541617': { - 'value': '车速汽车服务' - }, - '_widget_1764820541661': { - 'value': 'CHS201904170027459' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1499.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '石崇标' - }, - '_widget_1764820541622': { - 'value': '13728960428' - }, - '_widget_1764820541625': { - 'value': '180720602439816818' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '180720602439816818' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f49165001edb577f76fa0' - }, - '_widget_1764820541616': { - 'value': '恒翔天宇汽车服务有限责任公司' - }, - '_widget_1764820541617': { - 'value': '恒翔天宇汽车服务有限责任公司' - }, - '_widget_1764820541661': { - 'value': 'CHS201907300034463' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 07:42:56' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '李翔' - }, - '_widget_1764820541622': { - 'value': '13565897220' - }, - '_widget_1764820541625': { - 'value': '171128505620867604' - }, - '_widget_1764820541715': { - 'value': '245308451136546029' - }, - '_widget_1764820541678': { - 'value': '171128505620867604' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 07:42:56' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4948644bdc51867a66eb' - }, - '_widget_1764820541616': { - 'value': '天津万鑫晟通商贸有限公司' - }, - '_widget_1764820541617': { - 'value': '天津万鑫晟通商贸有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS201912130045610' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 08:16:39' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '王志强' - }, - '_widget_1764820541622': { - 'value': '13920145929' - }, - '_widget_1764820541625': { - 'value': '2750181616954944' - }, - '_widget_1764820541715': { - 'value': '171201105229666119' - }, - '_widget_1764820541678': { - 'value': '0237196424846034' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 08:16:39' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4989249b80b2e2e6dbd0' - }, - '_widget_1764820541616': { - 'value': '沈阳诺记汽车装饰用品有限公司' - }, - '_widget_1764820541617': { - 'value': '龙胎凤毂' - }, - '_widget_1764820541661': { - 'value': 'CHS202006150089833' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '2199.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '姜伟东' - }, - '_widget_1764820541622': { - 'value': '18704031642' - }, - '_widget_1764820541625': { - 'value': '03051357221235925' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '052909055823302010' - }, - '_widget_1764820541717': [ - { - '_widget_1764820541719': { - 'value': '轮胎寄存' - }, - '_widget_1764820541720': { - 'value': 64.4685 - }, - '_widget_1764820541721': { - 'value': '2025-04-16 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - } - ], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f49b2f2fc8f829feba91f' - }, - '_widget_1764820541616': { - 'value': '延安中进恒通汽车销售服务有限公司' - }, - '_widget_1764820541617': { - 'value': '延安中驰越汽车服' - }, - '_widget_1764820541661': { - 'value': 'CHS202101060113760' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 00:37:33' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1799.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '贺全全' - }, - '_widget_1764820541622': { - 'value': '15991580107' - }, - '_widget_1764820541625': { - 'value': '0103433535667605' - }, - '_widget_1764820541715': { - 'value': '245308451136546029' - }, - '_widget_1764820541678': { - 'value': '0103433535667605' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 00:37:33' - } - }, - { - '_widget_1764820541663': { - 'value': '680f49bd8ff3189fdc2a04ea' - }, - '_widget_1764820541616': { - 'value': '成都新元素兴业汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '成都新元素官方认证二手车' - }, - '_widget_1764820541661': { - 'value': 'CHS202103310118484' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 06:39:40' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '吴娟' - }, - '_widget_1764820541622': { - 'value': '13438328947' - }, - '_widget_1764820541625': { - 'value': '180668465038030327' - }, - '_widget_1764820541715': { - 'value': '1824534815658365' - }, - '_widget_1764820541678': { - 'value': '283227523421943504' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 06:39:40' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48b4d78208aacfcb2d05' - }, - '_widget_1764820541616': { - 'value': '长顺县众诚汽车维修保养中心' - }, - '_widget_1764820541617': { - 'value': '众诚养修连锁' - }, - '_widget_1764820541661': { - 'value': 'CHS202104160121215' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 09:13:04' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '吴超超' - }, - '_widget_1764820541622': { - 'value': '15585290010' - }, - '_widget_1764820541625': { - 'value': '2530511650927042' - }, - '_widget_1764820541715': { - 'value': '1824534815658365' - }, - '_widget_1764820541678': { - 'value': '283227523421943504' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 09:13:04' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48bd3a9625db1e57bc5f' - }, - '_widget_1764820541616': { - 'value': '青岛华亿美汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '青岛华亿美汽车服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202105170125110' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': '薛韶田' - }, - '_widget_1764820541622': { - 'value': '18665339977' - }, - '_widget_1764820541625': { - 'value': '1253235059942945' - }, - '_widget_1764820541715': { - 'value': '171201105229666119' - }, - '_widget_1764820541678': { - 'value': '1253235059942945' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48e9a169597f353d6add' - }, - '_widget_1764820541616': { - 'value': '信阳震轮汽车维修服务有限公司' - }, - '_widget_1764820541617': { - 'value': '信阳市震轮汽车维修服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202109300142234' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 07:44:19' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '600.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '谭震' - }, - '_widget_1764820541622': { - 'value': '18603769599' - }, - '_widget_1764820541625': { - 'value': '116743693536486170' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 07:44:19' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4902cf8145ae8d1160cb' - }, - '_widget_1764820541616': { - 'value': '杭州临安骏临汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '骏临汽修香车驿站' - }, - '_widget_1764820541661': { - 'value': 'CHS202204160174459' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 03:36:05' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '2399.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '胡杰' - }, - '_widget_1764820541622': { - 'value': '13456982219' - }, - '_widget_1764820541625': { - 'value': '013348061829263997' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '195159084238961158' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 03:36:05' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4910512b29e32420c0f9' - }, - '_widget_1764820541616': { - 'value': '楚雄众腾汽车销售公司' - }, - '_widget_1764820541617': { - 'value': '楚雄启德经贸有限公司高新区分公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202204070173943' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1599.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '唐彩文' - }, - '_widget_1764820541622': { - 'value': '13099911344' - }, - '_widget_1764820541625': { - 'value': '133703272626143118' - }, - '_widget_1764820541715': { - 'value': '1824534815658365' - }, - '_widget_1764820541678': { - 'value': '293429301023738442' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4910512b29e32420c0da' - }, - '_widget_1764820541616': { - 'value': '车之盛汽车维修中心' - }, - '_widget_1764820541617': { - 'value': '(顺旺)车之盛汽车养护站' - }, - '_widget_1764820541661': { - 'value': 'CHS202204130174238' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 00:28:43' - }, - '_widget_1764820541623': { - 'value': '标准版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1500.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '田雄' - }, - '_widget_1764820541622': { - 'value': '13517317422' - }, - '_widget_1764820541625': { - 'value': '19212436541043695' - }, - '_widget_1764820541715': { - 'value': '084119070623372941' - }, - '_widget_1764820541678': { - 'value': '3704680936560271' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 00:28:43' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4914d78208aacfcbf190' - }, - '_widget_1764820541616': { - 'value': '嘉峪关晟荣汽车修理厂' - }, - '_widget_1764820541617': { - 'value': '兰鑫海名车维修' - }, - '_widget_1764820541661': { - 'value': 'CHS202204150174400' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 02:19:27' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1299.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '赵昌华' - }, - '_widget_1764820541622': { - 'value': '18093742882' - }, - '_widget_1764820541625': { - 'value': '282157630429075679' - }, - '_widget_1764820541715': { - 'value': None - }, - '_widget_1764820541678': { - 'value': '0103433535667605' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 02:19:27' - } - }, - { - '_widget_1764820541663': { - 'value': '680f494aca5a33688bc8f8ff' - }, - '_widget_1764820541616': { - 'value': '郑州道之逸汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '道之逸豪车专修' - }, - '_widget_1764820541661': { - 'value': 'CHS202303170217490' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.700000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '张浩清' - }, - '_widget_1764820541622': { - 'value': '18838076792' - }, - '_widget_1764820541625': { - 'value': '6412695429095931' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f494e4c58575093cda48e' - }, - '_widget_1764820541616': { - 'value': '阜阳九天悦途汽车销售服务有限公司' - }, - '_widget_1764820541617': { - 'value': '阜阳九天悦途汽车销售服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202304110224047' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '旗舰版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '2999.666700000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '饶宾宾' - }, - '_widget_1764820541622': { - 'value': '18855807998' - }, - '_widget_1764820541625': { - 'value': '3704680936560271' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '3704680936560271' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f494d5001edb577f78b4b' - }, - '_widget_1764820541616': { - 'value': '洛阳市车泊士汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '洛阳市车泊士汽车服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202304130224435' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '旗舰版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '2000.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '陈少明' - }, - '_widget_1764820541622': { - 'value': '15237968678' - }, - '_widget_1764820541625': { - 'value': '054169455736370109' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f4950e70d73b0bc9d0710' - }, - '_widget_1764820541616': { - 'value': '沙坪坝区孚匠汽车养护服务部' - }, - '_widget_1764820541617': { - 'value': '沙坪坝区孚匠汽车养护服务部' - }, - '_widget_1764820541661': { - 'value': 'CHS202304160224998' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1000.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '蒋洋' - }, - '_widget_1764820541622': { - 'value': '18203091924' - }, - '_widget_1764820541625': { - 'value': '15235241321213058' - }, - '_widget_1764820541715': { - 'value': '1824534815658365' - }, - '_widget_1764820541678': { - 'value': '293429301023738442' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f498473449625b06affa4' - }, - '_widget_1764820541616': { - 'value': '鑫佰途汽车维保中心' - }, - '_widget_1764820541617': { - 'value': '鑫佰途汽车维保中心' - }, - '_widget_1764820541661': { - 'value': 'CHS202403170261426' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '进阶版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1299.500000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '任攀攀' - }, - '_widget_1764820541622': { - 'value': '15737169812' - }, - '_widget_1764820541625': { - 'value': '054169455736370109' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f498bb6c161997327a05e' - }, - '_widget_1764820541616': { - 'value': '开立基业(北京)阀门制造有限公司' - }, - '_widget_1764820541617': { - 'value': '宏升汽车服务' - }, - '_widget_1764820541661': { - 'value': 'CHS202404030263386' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '入门版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '宏升' - }, - '_widget_1764820541622': { - 'value': '17501025347' - }, - '_widget_1764820541625': { - 'value': '693800011139268' - }, - '_widget_1764820541715': { - 'value': '171201105229666119' - }, - '_widget_1764820541678': { - 'value': '055512041727184572' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f498e0a8a958979d88e97' - }, - '_widget_1764820541616': { - 'value': '山西迈速部落汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '山西迈速部落汽车服务有限公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202404160265484' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '999.500000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '冀明' - }, - '_widget_1764820541622': { - 'value': '19934964567' - }, - '_widget_1764820541625': { - 'value': '050160034020876364' - }, - '_widget_1764820541715': { - 'value': '171201105229666119' - }, - '_widget_1764820541678': { - 'value': '0237196424846034' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f498e0a8a958979d88e6e' - }, - '_widget_1764820541616': { - 'value': '长春市征途众和汽车销售服务有限公司' - }, - '_widget_1764820541617': { - 'value': '征途众和汽车服务' - }, - '_widget_1764820541661': { - 'value': 'CHS202404150265321' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 01:32:58' - }, - '_widget_1764820541623': { - 'value': '进阶版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1599.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '赵金艳' - }, - '_widget_1764820541622': { - 'value': '18946645153' - }, - '_widget_1764820541625': { - 'value': '011062062226778435' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '3048162260682931' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-15 01:32:58' - } - }, - { - '_widget_1764820541663': { - 'value': '680f498cca5a33688bc9b92e' - }, - '_widget_1764820541616': { - 'value': '柳州市锐捷汽车修理厂' - }, - '_widget_1764820541617': { - 'value': '柳州市锐捷汽车修理厂' - }, - '_widget_1764820541661': { - 'value': 'CHS202404150265392' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-16 05:06:51' - }, - '_widget_1764820541623': { - 'value': '进阶版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1900.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '吴' - }, - '_widget_1764820541622': { - 'value': '18867018628' - }, - '_widget_1764820541625': { - 'value': '180720602439816818' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '180720602439816818' - }, - '_widget_1764820541717': [ - { - '_widget_1764820541719': { - 'value': '员工账号' - }, - '_widget_1764820541720': { - 'value': 208.0 - }, - '_widget_1764820541721': { - 'value': '2025-04-15 00:00:00' - }, - '_widget_1764820541722': { - 'value': None - }, - '_widget_1764820541723': { - 'value': None - }, - '_widget_1764820541724': { - 'value': None - }, - '_widget_1764820541725': { - 'value': None - } - } - ], - '_widget_1764820541865': { - 'value': '2026-07-15 05:06:51' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48b2ab6c827fb46db182' - }, - '_widget_1764820541616': { - 'value': '中国石化销售股份有限公司湖北石油分公司' - }, - '_widget_1764820541617': { - 'value': '中石化湖北宜昌分公司' - }, - '_widget_1764820541661': { - 'value': 'CHS202504160296137' - }, - '_widget_1764820541618': { - 'value': '易捷养车' - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': 'F6-刘光春' - }, - '_widget_1764820541622': { - 'value': '13170011097' - }, - '_widget_1764820541625': { - 'value': '171128505620867604' - }, - '_widget_1764820541715': { - 'value': '084119070623372941' - }, - '_widget_1764820541678': { - 'value': '171128505620867604' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48b3e70d73b0bc9ca7ce' - }, - '_widget_1764820541616': { - 'value': '中国石化销售股份有限公司湖北石油分公司' - }, - '_widget_1764820541617': { - 'value': '宜昌夷陵梅子垭站店' - }, - '_widget_1764820541661': { - 'value': 'CHS202504160296138' - }, - '_widget_1764820541618': { - 'value': '易捷养车' - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': '曹建新' - }, - '_widget_1764820541622': { - 'value': '13677173222' - }, - '_widget_1764820541625': { - 'value': '171128505620867604' - }, - '_widget_1764820541715': { - 'value': '084119070623372941' - }, - '_widget_1764820541678': { - 'value': '171128505620867604' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48ba3105e5577cc7797a' - }, - '_widget_1764820541616': { - 'value': '杭州晓宏汽车服务有限公司' - }, - '_widget_1764820541617': { - 'value': '邻居中心小拇指' - }, - '_widget_1764820541661': { - 'value': 'CHS202504160296103' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '进阶版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': '徐宏彬' - }, - '_widget_1764820541622': { - 'value': '15606531630' - }, - '_widget_1764820541625': { - 'value': '013348061829263997' - }, - '_widget_1764820541715': { - 'value': '224616673723465569' - }, - '_widget_1764820541678': { - 'value': '195159084238961158' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48ba2b6138f88dc57947' - }, - '_widget_1764820541616': { - 'value': '辉县市东驰汽车维修服务店' - }, - '_widget_1764820541617': { - 'value': '豫涛汽修成城东店' - }, - '_widget_1764820541661': { - 'value': 'CHS202504160296146' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': '郭总' - }, - '_widget_1764820541622': { - 'value': '18937343310' - }, - '_widget_1764820541625': { - 'value': '6412695429095931' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '054169455736370109' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '680f48ba3105e5577cc7796e' - }, - '_widget_1764820541616': { - 'value': '乌鲁木齐宝盛商贸有限责任公司' - }, - '_widget_1764820541617': { - 'value': '宝盛汽修' - }, - '_widget_1764820541661': { - 'value': 'CHS202504160296098' - }, - '_widget_1764820541618': { - 'value': '零公里精英门店运营中心' - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': None - }, - '_widget_1764820541621': { - 'value': '范雷' - }, - '_widget_1764820541622': { - 'value': '18690168552' - }, - '_widget_1764820541625': { - 'value': '051612246035720178' - }, - '_widget_1764820541715': { - 'value': '245308451136546029' - }, - '_widget_1764820541678': { - 'value': '171128505620867604' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - }, - { - '_widget_1764820541663': { - 'value': '692515af496bac848fb5ebfd' - }, - '_widget_1764820541616': { - 'value': '信宜鸿盈' - }, - '_widget_1764820541617': { - 'value': '米其林驰加鸿龙' - }, - '_widget_1764820541661': { - 'value': 'CHS202511240313439' - }, - '_widget_1764820541618': { - 'value': None - }, - '_widget_1764820541672': { - 'value': '2026-04-15 16:00:00' - }, - '_widget_1764820541623': { - 'value': '基础版' - }, - '_widget_1764820541624': { - 'value': Decimal( - '1000.000000000000000000' - ) - }, - '_widget_1764820541621': { - 'value': '梁成国' - }, - '_widget_1764820541622': { - 'value': '13580047803' - }, - '_widget_1764820541625': { - 'value': '1457294844855952' - }, - '_widget_1764820541715': { - 'value': '064100296032290698' - }, - '_widget_1764820541678': { - 'value': '180720602439816818' - }, - '_widget_1764820541717': [], - '_widget_1764820541865': { - 'value': '2026-07-14 16:00:00' - } - } - ] -} diff --git a/test/sampleCloud/续约代办宜搭同步简道云-数据一致性.ipynb b/test/sampleCloud/续约代办宜搭同步简道云-数据一致性.ipynb new file mode 100644 index 0000000..c4065b1 --- /dev/null +++ b/test/sampleCloud/续约代办宜搭同步简道云-数据一致性.ipynb @@ -0,0 +1,43 @@ +{ + "cells": [ + { + "metadata": {}, + "cell_type": "markdown", + "source": "## 全量同步", + "id": "69bf37484b68b727" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "initial_id", + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test/商机问题跟进表.ipynb b/test/商机问题跟进表.ipynb new file mode 100644 index 0000000..c82146b --- /dev/null +++ b/test/商机问题跟进表.ipynb @@ -0,0 +1,43 @@ +{ + "cells": [ + { + "metadata": {}, + "cell_type": "markdown", + "source": "## 重复派发", + "id": "2d5eea6406e5bd27" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "initial_id", + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test/新签研发联调.ipynb b/test/新签研发联调.ipynb index 46cdc80..ca5fc11 100644 --- a/test/新签研发联调.ipynb +++ b/test/新签研发联调.ipynb @@ -56,8 +56,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2026-03-24T10:17:42.894874500Z", - "start_time": "2026-03-24T10:17:42.269474800Z" + "end_time": "2026-03-26T07:12:43.283568100Z", + "start_time": "2026-03-26T07:12:42.653902400Z" } }, "cell_type": "code", @@ -71,9 +71,9 @@ "import binascii # 【修正1】添加缺失的 binascii 导入\n", "from pyDes import des, CBC, PAD_PKCS5\n", "\n", - "data_id = \"69c264920c1729f7dd5d6a17\" # 数据id\n", - "orgid = \"16058306913393233941\" # 门店id\n", - "order_id = \"XYFWD20260324003\" # 服务单号\n", + "data_id = \"69c4dc44986b303c2ef69d46\" # 数据id\n", + "orgid = \"16058986391127773239\" # 门店id\n", + "order_id = \"XYFWD20260326002\" # 服务单号\n", "operation_consultant_str = '[{\"_id\":\"69a285f3fa0d9fb1984da9bf\",\"name\":\"张乐乐\",\"username\":\"171408516124043808\",\"status\":1,\"type\":0}]'# 专属人员顾问\n", "\n", "url = \"https://manage-pre.f6yc.com/hive-admin/py/yida/renewal/insertRenewalFormsData\"\n", @@ -153,11 +153,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "ZM6bNebKW1EGUtptuTOYEckre+5e1D71Y8ctpN5lD1xNhI3w5j8nHVuNidcwJ4ocxUj/Bxobdn2vCjpl2/6VA5vu3Z6XrxvJsKGP3FaJIOSB4m3PHQpzsI85uNqNysqVYpkhssITC4SM0OmPjzzdqQ==\n" + "Lmj1kXumBcGLR5IKAtgFDP2meGj6FgLzq7gaQ/6wDuZ3d43P0mtQCyUdQXkeC4kYxOT8w7n1xNxYhIy9PVq/xUR9emnP5CQweBFe8P3S9tRZdNFVOdipnD+xiof/q9b//C87kgUEIH7JT00nlBBkaQ==\n" ] } ], - "execution_count": 3 + "execution_count": 2 }, { "metadata": { diff --git a/test/续约待办一致性-全量同步.py b/test/续约待办一致性-全量同步.py new file mode 100644 index 0000000..2c6f033 --- /dev/null +++ b/test/续约待办一致性-全量同步.py @@ -0,0 +1,249 @@ +# -*- coding: utf-8 -*- + +import os +import re +import sys +import pandas as pd +from tqdm import tqdm + +# 让 test 脚本可以 import 到项目根目录的模块(api.py / yd_api.py / log_config.py) +# 将项目根目录加入模块搜索路径,确保可以 import 根目录下的 api.py/yd_api.py +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +PROJECT_ROOT = os.path.dirname(SCRIPT_DIR) +if PROJECT_ROOT not in sys.path: + sys.path.insert(0, PROJECT_ROOT) + +from api import API +from log_config import configure_error_task_logger, configure_task_logger +from yd_api import YDAPI + +logger = configure_task_logger() +error_task_logger = configure_error_task_logger() +api_instance = API() +yd_api_instance = YDAPI() + +# ========================= +# 需要你关注/可能要改的配置 +# ========================= +# 简道云:续约待办表单(目标表单) +APP_ID = "675b900991ad2491c69389ca" +ENTRY_ID = "6931063d64187eaf6b927557" + +# 宜搭:续约服务流程(来源流程) +APP_TYPE = "APP_UYZ0KG6L0CCNV80GZ66O" +SYSTEM_TOKEN = "XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2" + +# 简道云:员工表(用于把“区域经理姓名”转成“员工ID”,如果你简道云字段是人员控件,必须传ID) +STAFF_APP_ID = "6694d3c4fcb69ca9a111a6c4" +STAFF_ENTRY_ID = "6769204a1902c9341340a1bc" +STAFF_NAME_WIDGET = "_widget_1734942794144" +STAFF_ID_WIDGET = "_widget_1734942794145" + +# 输入数据源必须包含这三列: +# - data_id:简道云待办数据的 data_id +# - 门店编码:用于简单校验(对不上会提示) +# - 宜搭实例ID:用于拉取宜搭实例详情 +REQUIRED_INPUT_COLUMNS = ("data_id", "门店编码", "宜搭实例ID") + + +if __name__ == "__main__": + # 第 1 个命令行参数:你的数据源文件路径(csv/xlsx/xls) + df = pd.read_excel(fr"C:\Users\hp_z66\Downloads\续约服务流程_20260326133517.xlsx",sheet_name="简道云-宜搭实例id", dtype=str).fillna("") + + # 兼容列名:有的表叫“数据ID/实例ID”,统一成脚本内部使用的列名 + df = df.rename(columns={"数据ID": "data_id", "dataId": "data_id", "DataID": "data_id", "实例ID": "宜搭实例ID"}) + for c in REQUIRED_INPUT_COLUMNS: + if c not in df.columns: + raise SystemExit(f"缺少必需列: {c}") + for c in REQUIRED_INPUT_COLUMNS: + df[c] = df[c].astype(str).str.strip() + df = df[(df["data_id"] != "") & (df["宜搭实例ID"] != "")] + df = df.drop_duplicates(subset=["data_id"]).reset_index(drop=True) + + # 读取员工表:构建 “姓名 -> 员工ID” 映射 + staff_resp = api_instance.entry_data_list({"api_key": STAFF_APP_ID, "entry_id": STAFF_ENTRY_ID}) or {} + staff_list = staff_resp.get("data", []) or [] + name_to_staff_id = {} + for item in staff_list: + n = str(item.get("_widget_1734942794144", "")).strip() + i = str(item.get("_widget_1734942794145", "")).strip() + if n and i: + name_to_staff_id[n] = i + logger.info(f"员工数: {len(name_to_staff_id)}") + + # 读取简道云表单字段:label(中文名) -> name(_widget_xxx) + # 这样你只要改 labels 里的中文字段名,脚本会自动找到对应 widget_id + widget_list = api_instance.entry_widget_list({"api_key": APP_ID, "entry_id": ENTRY_ID}) or {} + widgets = widget_list.get("widgets", []) or [] + label_to_name = {} + for w in widgets: + l = str(w.get("label", "")).strip() + n = str(w.get("name", "")).strip() + if l and n: + label_to_name[l] = n + + # 需要同步到简道云的字段(中文 label) + # 如果你简道云字段名不是这些(比如“省份/城市/区县”),就在这里改成你表单里实际的 label + labels = ["120天是否联系上客户", "60天是否联系上客户", "30天是否联系上客户", "区域经理", "服务单号", "门店ID", "公司id", "省", "市",] + jdy_map = {l: label_to_name.get(l) for l in labels if label_to_name.get(l)} + miss = [l for l in labels if l not in jdy_map] + if miss: + logger.warning(f"简道云缺少字段: {miss}") + logger.warning(f"已匹配字段: {list(jdy_map.keys())} | 门店ID_widget={jdy_map.get('门店ID')} 公司id_widget={jdy_map.get('公司id')}") + + # 获取宜搭 token(后续拉取实例详情使用) + token = yd_api_instance.generateToken() + ok = 0 + fail = 0 + skip = 0 + for _, row in tqdm(df.iterrows(), total=len(df)): + data_id = str(row.get("data_id", "")).strip() + instance_id = str(row.get("宜搭实例ID", "")).strip() + store_code = str(row.get("门店编码", "")).strip() + if not data_id or not instance_id: + logger.warning(f"跳过:data_id/实例ID 为空 data_id={data_id} instance_id={instance_id} 行数据={row.to_dict()}") + skip += 1 + continue + try: + # 拉取宜搭实例详情(里面的 formData 才是字段数据) + info = yd_api_instance.processes_instancesInfos(token, instance_id, APP_TYPE, SYSTEM_TOKEN) or {} + container = info.get("data") if isinstance(info, dict) else None + form = {} + if isinstance(container, dict): + form = container.get("formData") or container + if not isinstance(form, dict) or not form: + logger.warning(f"跳过:宜搭实例无表单数据 instance_id={instance_id} data_id={data_id}") + skip += 1 + + # 简单校验:输入的门店编码 vs 宜搭表单里的门店编码,不一致就打日志提醒 + # 宜搭门店编码字段ID:textField_ksydghqw(来自你旧脚本/导出的 yd_process_details.csv) + yd_store = str(form.get("textField_ksydghqw", "")).strip() + if yd_store and store_code and yd_store != store_code: + logger.warning(f"门店编码不一致: {store_code} vs {yd_store} 实例:{instance_id} data_id:{data_id}") + + # 从 formData 中按字段ID取值:取到第一个非空值就返回 + def pick(keys): + for k in keys: + v = form.get(k) + if v is None: + continue + s = str(v).strip() + if s and s.lower() not in {"nan", "null", "none"}: + return s + return "" + + # 宜搭人员字段常见是:["张三(123)"] 这种结构,这里做一个“只拿姓名”的处理 + def first_name(v): + s = str(v).strip() + if s.startswith("[") and s.endswith("]"): + inner = s[1:-1].split(",", 1)[0].strip().strip("'").strip('"') + s = inner + m = re.split(r"\(", s, maxsplit=1) + return m[0].strip() if m else s + + # ========================= + # 下面是“宜搭字段ID -> 业务字段”的取值逻辑(你最常修改的区域) + # ========================= + # 说明: + # - 120/60/30 是否联系上客户:优先各节点字段,取不到就回退用统一字段 radioField_l85ppdia + # - 区域经理:employeeField_ksydghre + # - 服务单号:textField_kuntp6fl(你历史数据是 XYFWDxxxx) + # - 省/市:textField_kuj8nx00 / textField_kuj8nx01 + # - 区:优先 textField_kuhnydmk;取不到就从地址 textField_ksydghrm 里截取 + v120 = pick(["radioField_ksydghrf",]) + v60 = pick(["radioField_kuhnydmd", ]) + v30 = pick(["radioField_kuhnydn0", ]) + region_name = first_name(form.get("employeeField_ksydghre", "")) + # 如果简道云“区域经理”字段是人员控件:应传员工ID;否则传姓名也能写入(取决于你表单控件类型) + region_value = name_to_staff_id.get(region_name, region_name) if region_name else "" + service_no = pick(["textField_kuntp6fl"]) + # 门店ID(强烈建议你把下面 keys 改成你宜搭里“门店ID/公司id”的真实字段ID) + # 示例:store_id = pick(["textField_orgid", "textField_id_own_org"]) + store_id = pick(["textField_kuntp6fk"]) + prov = pick(["textField_kuj8nx00"]) + city = pick(["textField_kuj8nx01"]) + + # 拼装简道云更新 payload:每个字段必须是 {"value": 值} + data_dict = {} + if v120 and jdy_map.get("120天是否联系上客户"): + data_dict[jdy_map["120天是否联系上客户"]] = {"value": v120} + if v60 and jdy_map.get("60天是否联系上客户"): + data_dict[jdy_map["60天是否联系上客户"]] = {"value": v60} + if v30 and jdy_map.get("30天是否联系上客户"): + data_dict[jdy_map["30天是否联系上客户"]] = {"value": v30} + if region_value and jdy_map.get("区域经理"): + data_dict[jdy_map["区域经理"]] = {"value": region_value} + if service_no and jdy_map.get("服务单号"): + data_dict[jdy_map["服务单号"]] = {"value": service_no} + # 门店ID优先写入“门店ID”,如果表单没有此字段则回退写入“公司id” + if store_id: + if jdy_map.get("门店ID"): + data_dict[jdy_map["门店ID"]] = {"value": store_id} + elif jdy_map.get("公司id"): + data_dict[jdy_map["公司id"]] = {"value": store_id} + if prov and jdy_map.get("省"): + data_dict[jdy_map["省"]] = {"value": prov} + if city and jdy_map.get("市"): + data_dict[jdy_map["市"]] = {"value": city} + + if not data_dict: + reasons = [] + if not v120: + reasons.append("120天:值空") + elif not jdy_map.get("120天是否联系上客户"): + reasons.append("120天:未映射") + if not v60: + reasons.append("60天:值空") + elif not jdy_map.get("60天是否联系上客户"): + reasons.append("60天:未映射") + if not v30: + reasons.append("30天:值空") + elif not jdy_map.get("30天是否联系上客户"): + reasons.append("30天:未映射") + if not region_value: + reasons.append("区域经理:值空") + elif not jdy_map.get("区域经理"): + reasons.append("区域经理:未映射") + if not service_no: + reasons.append("服务单号:值空") + elif not jdy_map.get("服务单号"): + reasons.append("服务单号:未映射") + if not store_id: + reasons.append("门店ID:值空") + elif not (jdy_map.get("门店ID") or jdy_map.get("公司id")): + reasons.append("门店ID:表单无对应字段(门店ID/公司id)") + if not prov: + reasons.append("省:值空") + elif not jdy_map.get("省"): + reasons.append("省:未映射") + if not city: + reasons.append("市:值空") + elif not jdy_map.get("市"): + reasons.append("市:未映射") + logger.warning( + f"跳过 data_id:{data_id} 实例:{instance_id} | 原因: {', '.join(reasons)} | " + f"取值: v120={v120} v60={v60} v30={v30} region_name={region_name} region_value={region_value} " + f"service_no={service_no} store_id={store_id} prov={prov} city={city}" + ) + skip += 1 + continue + + # 更新简道云数据(同你旧脚本) + payload = { + "api_key": APP_ID, + "entry_id": ENTRY_ID, + "data_id": data_id, + "data": data_dict, + "is_start_trigger": False,## 目前宜搭有通知 + } + res = api_instance.entry_data_update(payload) + # 兼容两种返回格式:有的返回 {'status':'success',...},有的直接返回 {'data':{...}} + if isinstance(res, dict) and (res.get("status") == "success" or isinstance(res.get("data"), dict)): + ok += 1 + else: + fail += 1 + logger.warning(f"更新失败 data_id:{data_id} 实例:{instance_id} 返回:{res}") + except Exception as e: + fail += 1 + error_task_logger.error(f"同步异常 data_id:{data_id} 实例:{instance_id} 错误:{e}", exc_info=True) + logger.info(f"完成 同步成功:{ok} 失败:{fail} 跳过:{skip}") diff --git a/test/续约待办宜搭传给简道云.py b/test/续约待办宜搭传给简道云.py index ec3386a..f7740cf 100644 --- a/test/续约待办宜搭传给简道云.py +++ b/test/续约待办宜搭传给简道云.py @@ -193,7 +193,8 @@ class API: "app_id": data['api_key'], # 应用ID "entry_id": data['entry_id'], # 表单ID "data_id": data['data_id'], # 数据ID - "data": data['data'] + "data": data['data'], + "is_start_trigger": True } ) diff --git a/tools/重复派发删除.ipynb b/tools/重复派发删除.ipynb index 407b584..6534d6f 100644 --- a/tools/重复派发删除.ipynb +++ b/tools/重复派发删除.ipynb @@ -1579,6 +1579,47 @@ } ], "execution_count": 1 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## 商机问题跟进表", + "id": "9e39df3c1ef0ccbc" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-03-26T03:42:42.714525800Z", + "start_time": "2026-03-26T03:37:29.209197400Z" + } + }, + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "from api import API\n", + "\n", + "api_instance = API()\n", + "df = pd.read_excel(r\"C:\\Users\\hp_z66\\OneDrive\\Desktop\\钉钉文件\\1111111商机问题跟进表_20260326092929.xlsx\",sheet_name=\"问题进行中删除\")\n", + "for index, row in df.iterrows():\n", + " data_id = row[\"data_id\"]\n", + " payload = {\n", + " \"api_key\": \"675b900991ad2491c69389ca\",\n", + " \"entry_id\": \"67f8b1d3307bad317abc3a9a\",\n", + " \"data_id\": data_id,\n", + " }\n", + " api_instance.entry_data_delete(payload)" + ], + "id": "9982ace96792b53c", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001B[92m2026-03-26 11:37:29,793 - api.py - task_logger - INFO - 返回结果:, {'code': 4001, 'msg': 'Data does not exist.'}\u001B[0m\n" + ] + } + ], + "execution_count": 5 } ], "metadata": {