2026-08-18 云机 dev2 · 全仓 47 处命中 / 22 个文件,逐处打开代码确认,无一处推测
云机环境 · 非验收证据
org_signup_profiles.status)和渠道自己的资料状态channels.profile_status)。改错后者会炸渠道签约线 —— 这是本次最大的坑profile.status = "已开通"/"待线下付款"/"资料已驳回",证明查法有效)| 文件:行 | 内容 | 说明 |
|---|---|---|
api/settlement/stores.py:192 |
_display_status() |
🔑 显示名统一出口,现在只有一行「已停用→已关闭」 |
api/settlement/store_service.py:100 |
注释「不放行待提交资料」 | 本次要推翻的旧口径,必须一起改 |
api/settlement/store_service.py:102 |
PAYABLE_REVIEW_STATUSES |
加进白名单 |
api/settlement/stores.py:1555 |
CLOSABLE_STORE_STATUSES |
已含该词 |
api/settlement/stores.py:1654 |
注释「除待提交资料外全状态可编辑」 | 随代填锁一起改 |
services/settlement/channels.py:240 |
_progress_steps 进度步骤条「资料提交」 |
门店签约五步条 |
services/settlement/channels.py:1918 |
渠道看门店的 profile_status 映射 |
profile 来自 select(OrgSignupProfile…)(1852 行),是门店不是渠道 |
services/settlement/channels.py:2011 |
渠道看门店档案 → 409「机构尚未提交资料」 | 🔴 付了钱没补资料的店,渠道点进去会看不到 |
services/settlement/store_signup.py:1238 |
PLATFORM_PROFILE_EDIT_BLOCKED_STATUSES |
🔑 长官要开的代填锁就是这一行 |
| 端 | 文件:行 | 要做什么 |
|---|---|---|
| 🖥️ PC 平台后台 | admin/minicup/stores/page.tsx:17 |
筛选项文字 |
| 🖥️ PC 平台后台 | admin/minicup/stores/[orgId]/page.tsx:285/645/1184/1185 |
详情页判断 + 代填入口的显示条件 |
| 📱 渠道手机端 | channel/minicup/store-progress/page.tsx:61 |
筛选项文字(挂 channel-h5-shell,确认是手机端) |
| 📱 平台手机端 | platform/minicup/stores/page.tsx:17 |
🔴 它的筛选条里压根没有这一项 —— 不补的话,付了钱没补资料的店在平台手机端筛不出来,只能在"全部"里翻 |
✅ 好消息:PC 平台后台与平台手机端共用同一个后端拼装函数
_serialize_store
(platform_mobile_paging.py:18直接 import),所以卡片上的状态文字改后端一行、两端同时变,
前端只需要补筛选项。
test_channel_store_profile_view.py:8/175/177 · test_store_profile_platform_update.py:9/199/219/439/455 ·
test_database_models.py:380(校的是 OrgSignupProfile 的约束)· test_store_pay_session.py:140
—— 其中「待提交资料 → 不给付款 / 不给代填」两类断言是本次刻意反转,改了不是测试坏了。
| 文件:行 | 证据 |
|---|---|
models/settlement.py:109 |
渠道 CheckConstraint,含「草稿未提交/资料完整」——门店没有这两个词 |
models/settlement.py:158 |
Channel.profile_status 默认值就是它 |
services/settlement/channels.py:651 |
建渠道时写入 profile_status="待提交资料" |
services/settlement/platform_mobile_paging.py:140 |
明写 Channel.profile_status |
web/admin/minicup/channels/page.tsx:26 |
PROFILE_STATUS_OPTIONS 含「草稿未提交/资料完整」= 渠道枚举 |
web/channel/minicup/page.tsx:143 |
文案是「待上传企业资料 / 营业执照和对公付款信息」= 渠道自己的 |
web/channel/minicup/profile/page.tsx:59 |
渠道自己的档案页 |
web/platform/minicup/channels/page.tsx:175 |
渠道列表的「待补资料」筛选 |
services/settlement/store_signup.py:306 / 326 / 330
detail="待提交资料文件不存在" —— 这是「待提交(的)资料文件」,文件暂存的报错,跟状态无关。
migrations/versions/phase60_000_settlement_baseline.py:132 —— 历史迁移文件一律不回改。
| 方案甲:显示层改名(推荐) | 方案乙:真改库里的值 | |
|---|---|---|
| 库里存什么 | 仍是「待提交资料」 | 改成「资料待补充」 |
| 界面显示 | 「资料待补充」 | 「资料待补充」 |
| migration | 不需要 | 要改 CheckConstraint + 刷存量,碰业务关键表 |
| 前置条件 | 无 | 必须先确认存量条数(云机查不了库) |
| 现网有先例吗 | ✅ 有:库里「已停用」界面显示「已关闭」,就在 _display_status 同一个函数里 |
— |
| 缺点 | 库里的词与界面的词不一致,查数据要记住这个映射 | 动了业务关键表约束 |
建议走甲:一行后端 + 4 处前端文字,零数据库风险;将来真要统一,等库权限开了确认存量为 0 再做乙也不迟。
channels.py:2011:渠道点进「待提交资料」的门店会 409 看不到档案。
本次这些店钱都付了,渠道大概率要看。建议一起放开 —— 请长官确认。