guzhi/.trae/documents/准备估值测算 API 提交数据.md
邹方成 f536178428 feat: 新增交易记录管理功能与统一上传接口
feat(交易记录): 新增交易记录管理页面与API接口
feat(上传): 添加统一上传接口支持自动识别文件类型
feat(用户管理): 为用户模型添加备注字段并更新相关接口
feat(邮件): 实现SMTP邮件发送功能并添加测试脚本
feat(短信): 增强短信服务配置灵活性与日志记录

fix(发票): 修复发票列表时间筛选功能
fix(nginx): 调整上传大小限制与超时配置

docs: 添加多个功能模块的说明文档
docs(估值): 补充估值计算流程与API提交数据说明

chore: 更新依赖与Docker镜像版本
2025-11-20 20:53:09 +08:00

63 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 接口定位
- 用户端提交路径:`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`