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