feat(交易记录): 新增交易记录管理页面与API接口 feat(上传): 添加统一上传接口支持自动识别文件类型 feat(用户管理): 为用户模型添加备注字段并更新相关接口 feat(邮件): 实现SMTP邮件发送功能并添加测试脚本 feat(短信): 增强短信服务配置灵活性与日志记录 fix(发票): 修复发票列表时间筛选功能 fix(nginx): 调整上传大小限制与超时配置 docs: 添加多个功能模块的说明文档 docs(估值): 补充估值计算流程与API提交数据说明 chore: 更新依赖与Docker镜像版本
63 lines
3.7 KiB
Markdown
63 lines
3.7 KiB
Markdown
## 接口定位
|
||
- 用户端提交路径:`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`) |