Windows
2fe7d0c506
feat(投顾): 客户主动申报投顾方案 + 投顾受理自动生成方案草稿
客户在自己主页提交申报 → 投顾工作台受理 → 自动跑既有推荐逻辑生成一份待审核草稿 →
投顾再走既有的「审核通过 → 发送给客户」。补上原先「客户只能被动等方案」的缺口。
后端
- 新增表 advisor_service_request(本轮新建,带 AUTO_INCREMENT)+ 迁移
20260916_advisor_service_request(幂等:先查表再建,兼容本库 alembic 指针滞后)
- 新增 AdvisorServiceRequestService:create / list_mine / queue / review
· 申报前置:风险测评必须存在且未失效(FM-03,12 个月),服务端判
· 队列复用 ProductRecommendationService._visible_customer_ids(本人 + 归属),待受理排前
· 受理即调用推荐逻辑生成草稿并把 content_id 回填;生成前置失败给出人话原因并保持待受理
· 「已发送客户」不落库,由关联方案 published_at 推导,避免两处状态各写各的
- 权限码 9071-9074(客户 write/read:self、投顾 read/review),已进种子与授权工具
前端
- 投顾工作台新增「客户申报」面板(受理 / 驳回,驳回理由客户可见)
- 客户页新增申报表单(金额/期限/风险偏好/备注)与「我的申报」列表
客户自助路由刻意不挂投顾灰度闸门:那是投顾业务的灰度,客户提交自己的申请不该被它拦下。
2026-09-16 18:17:46 +08:00
..
2026-09-12 12:10:10 +08:00
2026-09-12 14:57:17 +08:00
2026-09-10 20:33:13 +08:00
2026-09-14 21:46:29 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 17:26:18 +08:00
2026-09-13 19:47:10 +08:00
2026-09-12 14:40:53 +08:00
2026-09-15 09:31:57 +08:00
2026-09-10 22:42:17 +08:00
2026-09-12 12:20:01 +08:00
2026-09-14 20:29:54 +08:00
2026-09-12 15:21:34 +08:00
2026-09-16 18:17:46 +08:00
2026-09-13 22:57:59 +08:00
2026-09-15 00:03:23 +08:00
2026-09-10 20:15:09 +08:00
2026-09-12 15:21:34 +08:00
2026-09-10 20:29:12 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 10:13:48 +08:00
2026-09-15 09:31:57 +08:00
2026-09-15 00:41:59 +08:00
2026-09-13 19:39:16 +08:00
2026-09-10 17:11:52 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 18:14:03 +08:00
2026-09-16 18:17:46 +08:00
2026-09-12 12:09:55 +08:00
2026-09-15 00:41:59 +08:00
2026-09-14 22:16:29 +08:00
2026-09-14 01:07:43 +08:00
2026-09-12 14:43:05 +08:00
2026-09-13 22:28:42 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 21:03:58 +08:00
2026-09-11 21:03:58 +08:00
2026-09-09 21:55:37 +08:00
2026-09-12 12:20:01 +08:00
2026-09-10 20:22:53 +08:00
2026-09-10 22:34:20 +08:00
2026-09-12 10:34:28 +08:00
2026-09-14 01:59:46 +08:00
2026-09-11 16:57:47 +08:00
2026-09-15 00:55:44 +08:00
2026-09-15 00:55:44 +08:00
2026-09-11 16:57:47 +08:00
2026-09-12 10:45:40 +08:00
2026-09-09 21:55:37 +08:00
2026-09-09 21:55:37 +08:00
2026-09-14 01:59:46 +08:00
2026-09-13 16:20:39 +08:00
2026-09-14 20:35:46 +08:00
2026-09-11 20:30:27 +08:00
2026-09-11 14:24:45 +08:00
2026-09-11 16:51:52 +08:00
2026-09-14 20:35:46 +08:00
2026-09-14 20:35:46 +08:00
2026-09-11 16:51:52 +08:00
2026-09-11 14:19:05 +08:00
2026-09-11 16:28:19 +08:00
2026-09-12 14:40:53 +08:00
2026-09-13 19:17:56 +08:00
2026-09-13 18:54:09 +08:00
2026-09-11 10:13:48 +08:00
2026-09-14 18:13:10 +08:00
2026-09-11 19:51:44 +08:00
2026-09-13 22:08:04 +08:00
2026-09-15 09:06:57 +08:00
2026-09-11 14:46:40 +08:00
2026-09-10 21:36:23 +08:00
2026-09-10 21:55:03 +08:00
2026-09-15 09:06:57 +08:00
2026-09-11 15:25:45 +08:00
2026-09-11 15:25:45 +08:00
2026-09-11 17:26:18 +08:00
2026-09-11 16:57:47 +08:00
2026-09-14 21:46:29 +08:00
2026-09-11 14:46:40 +08:00
2026-09-14 10:03:07 +08:00
2026-09-14 20:50:55 +08:00
2026-09-13 21:56:27 +08:00
2026-09-15 08:47:10 +08:00
2026-09-11 14:46:40 +08:00
2026-09-12 14:43:05 +08:00
2026-09-13 21:44:08 +08:00
2026-09-14 20:48:18 +08:00
2026-09-13 22:28:42 +08:00
2026-09-16 18:17:46 +08:00
2026-09-12 14:43:05 +08:00
2026-09-11 14:46:40 +08:00
2026-09-12 10:45:40 +08:00
2026-09-11 16:57:47 +08:00
2026-09-12 12:10:10 +08:00
2026-09-11 19:51:51 +08:00
2026-09-13 21:14:13 +08:00
2026-09-11 21:03:58 +08:00
2026-09-13 23:38:13 +08:00
2026-09-11 13:05:33 +08:00
2026-09-11 10:27:29 +08:00
2026-09-11 16:57:47 +08:00