## 接口定位 - 用户端提交路径:`POST /v1/app-valuations/`(处理函数在 `app/api/v1/app_valuations/app_valuations.py:234`) - 后台计算任务:`_perform_valuation_calculation`(`app/api/v1/app_valuations/app_valuations.py:40`) - 计算输入映射: - B1 提取:`_extract_calculation_params_b1`(`app/api/v1/app_valuations/app_valuations.py:325`) - B2 提取:`_extract_calculation_params_b2`(`app/api/v1/app_valuations/app_valuations.py:430`) - B3 提取:`_extract_calculation_params_b3`(`app/api/v1/app_valuations/app_valuations.py:517`) - C 提取:`_extract_calculation_params_c`(`app/api/v1/app_valuations/app_valuations.py:532`) - 请求体模型:`UserValuationCreate` 基于 `ValuationAssessmentBase`(`app/schemas/valuation.py:7`、`app/schemas/valuation.py:153`) ## 必填/推荐字段 - 基础:`asset_name`、`institution`、`industry` - 财务(B1):`three_year_income`、`rd_investment`、`annual_revenue`、`funding_status`、`application_coverage`、`implementation_stage`、`platform_accounts(douyin.likes/comments/shares)`、`sales_volume`、`link_views` - 文化(B2):`inheritor_level`、`offline_activities`、`cooperation_depth`、`historical_evidence` - 风险(B3):`price_fluctuation`、`inheritor_age_count` - 市场(C):`scarcity_level` 或 `circulation`、`market_activity_time` - 质押率辅助:`heritage_asset_level`(用于动态质押率) ## 字段规范化 - 数组字段统一为数值数组:`three_year_income`、`price_fluctuation` - 金额/计数按模型定义传字符串(系统内有安全转换):`annual_revenue`、`rd_investment`、`sales_volume`、`link_views`、`offline_activities` - 平台账号字段示例:`{"douyin": {"account": "...", "likes": "...", "comments": "...", "shares": "..."}}` - 覆盖范围枚举:`全球覆盖/全国覆盖/区域覆盖`(未提供时默认全国覆盖,参见 `app/api/v1/app_valuations/app_valuations.py:343-347`) ## 提交载荷示例(基于“马王堆”数据) ```json { "asset_name": "马王堆", "institution": "成都文化产权交易所", "industry": "文化艺术业", "annual_revenue": "10000", "rd_investment": "6000", "three_year_income": [8000, 9000, 9500], "funding_status": "省级资助", "inheritor_level": "省级传承人", "inheritor_age_count": [200, 68, 20], "heritage_asset_level": "纳入《国家文化数字化战略清单》", "historical_evidence": {"artifacts": 58, "ancient_literature": 789, "inheritor_testimony": 100}, "implementation_stage": "成熟应用", "application_coverage": "全国覆盖", "cooperation_depth": "0", "offline_activities": "20", "platform_accounts": { "douyin": {"account": "成都文交所", "likes": "500000", "comments": "89222", "shares": "97412"} }, "sales_volume": "60000", "link_views": "350000", "circulation": "3", "scarcity_level": "流通:总发行份数 >1000份,或二级市场流通率 ≥ 5%", "market_activity_time": "近一周", "monthly_transaction_amount": "月交易额>100万<500万", "price_fluctuation": [402, 445] } ``` ## 验证步骤(确认后执行) - 发送上述 JSON 到 `POST /v1/app-valuations/`,观察返回 `status`、`id` - 通过 `GET /v1/app-valuations/{id}` 查看写入的 `calculation_input` 与 `model_value_b/market_value_c/final_value_ab/dynamic_pledge_rate` - 若需批量提交,按相同字段规范为每条记录生成载荷并调用接口(可提供脚本) ## 可能的扩展 - 无抖音 `views` 字段时已用 `link_views`,如需更精确的 C 值,可补充 `views`(参见 `app/api/v1/app_valuations/app_valuations.py:566-585`) - `application_coverage` 为非枚举值时将按默认 7 分处理(见 `app/api/v1/app_valuations/app_valuations.py:343-347`)