# 市场行情登记 — 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | 市场行情登记(交易市场平台) | | 目标 | 在业务后台按日登记**活畜(牛)市场行情**(产地、渠道、品类维度、价格区间、出栏与预测信息等),支撑价格分析、趋势研判及后续报表引用 | | 关联系统 | 业务后台;**渠道**联动「畜牧流通资源管理 · 交易市场管理」主数据;**产地**采用省/市/县三级区划;本模块为行情**台账登记**,不替代自动采集、外部行情接口对接、复杂定价模型 | | 修订依据 | 同目录 `市场行情登记-草稿.md`、界面原型(`市场行情登记.png`) | 本文档仅描述**功能需求与业务规则**,不涉及库表结构、接口路径、请求体字段命名、HTTP 报文及技术栈选型。 --- ## 2. 术语与业务对象 ### 2.1 日度行情(一条登记记录) - 表示在**某一行情日期**,针对**特定产地、渠道(交易市场)及牛只品类维度**登记的一条**日度市场行情**快照。 - 由运营人员在后台**新增与维护**;保存成功后出现在日度行情列表,供查询、修改、删除及后续统计引用。 - 单条记录包含:**行情日期**、**产地(三级区划)**、**渠道**、**公母**、**重量档**、**生长阶段**、**月龄档**、**膘情**、**价格区间与单位**、**均价**、**出栏情况**、**变化因素**、**涨跌预测概率**、**出栏建议**及审计信息等。 ### 2.2 行情日期 - **必填**;格式 **YYYY-MM-DD**(日期选择器,不含时分秒)。 - **新增默认值**:系统日期的**前一天**(「昨天」);用户可改选其他合法日期。 - **不宜**选择未来日期(**默认建议**禁止或提示「行情日期不能晚于今天」,与业务录入习惯一致)。 ### 2.3 产地(三级区划) - **必填**;采用**省、市、县(区)**三级行政区划**级联单选**,须选至**县级**(与牧场管理等模块一致)。 - 列表、详情展示为省/市/县名称拼接或分级展示(与项目展示惯例一致)。 - **本期不提供**乡镇、村及以下粒度。 ### 2.4 渠道(交易市场) - **必填**;**单选**下拉(或等效选择器)。 - 选项来源:「**畜牧流通资源管理 · 交易市场管理**」中**未逻辑删除**的交易市场主数据(展示**市场名称**,保存关联主键或编码,具体绑定方式由技术方案实现)。 - **默认建议**仅展示运营状态为「**正常**」的市场;停业、注销市场**不可选**或置灰并说明原因。 - 若主数据为空,新增时应提示「请先在交易市场管理中维护市场」。 ### 2.5 品类与体征维度(单选枚举) 以下字段均为**单选**;除特别说明外,草稿未标「必填」的维度**本期按选填**处理(录入员可按实际成交品类填写;若产品要求全部必填,评审后统一改为必填)。 | 字段 | 选项(与草稿、原型一致) | 必填 | 默认 | | --- | --- | --- | --- | | **公母** | 公牛 / 母牛 / 公母混合 | **是** | **公牛** | | **重量** | 50斤以下 / 50-100斤 / 100-200斤 / 200-300斤 / 300-500斤 / 500-800斤 / 800斤以上 | 否 | — | | **生长阶段** | 犊牛 / 架子牛 / 屠宰牛 | 否 | — | | **月龄** | 1月龄 / 2-3月龄 / 4-5月龄 / 6-7月龄 / 8-9月龄 / 10-11月龄 / 12月龄 | 否 | — | | **膘情** | 43% / 45% / 50% / 53% | 否 | — | ### 2.6 价格、单位与均价 | 字段 | 规则 | | --- | --- | | **最低价、最高价** | **必填**;均为**正数**(>0);**最低价 ≤ 最高价**;支持小数位数与项目金额字段惯例一致(**默认建议**最多 2 位小数) | | **单位** | **必填**;**单选**:**元/头**、**元/斤**;**默认 元/斤** | | **均价** | **必填**;由系统根据最低价、最高价**自动计算**并展示(用户**不可手工改均价**,除非产品明确要求可覆盖——**本期按不可改**) | **均价计算规则(本期)** - 公式:**均价 = (最低价 + 最高价) ÷ 2** - 在最低价、最高价任一变更且均合法时**实时重算**;未填全或非法时不展示有效均价,保存时若均价无效则拒绝提交。 - 展示时带单位后缀(与所选「单位」一致,如 `12.50 元/斤`)。 ### 2.7 出栏情况(单选,必填) | 选项 | 含义概要 | | --- | --- | | 货源充足 | 当期出栏/到货相对充足 | | 货源减少 | 相对前期或预期,货源偏紧 | | 货源增多 | 相对前期或预期,货源增加 | ### 2.8 变化因素(多选,必填) - **至少选择 1 项**;可多选。 - 选项:天气 / 节日 / 政策 / 供大于求 / 供不应求 / 其他产地冲击 / 产地抬价 / 其他 - 列表、详情以中文标签展示,多项以顿号、逗号或标签组展示(与项目惯例一致)。 ### 2.9 预测概率(三项,必填) | 字段 | 规则 | | --- | --- | | **预测看涨概率** | **必填**;**正数**;单位为 **%**(界面标注「%」);取值范围 **(0, 100]** | | **预测看平概率** | 同上 | | **预测看跌概率** | 同上 | | **合计约束** | **看涨% + 看平% + 看跌% = 100%**(**默认建议**允许 ±0.01 浮点误差;或统一按整数百分比且合计必须为 100) | - 任一项变更时,宜**实时校验合计**;不等 100% 时拒绝保存并提示「看涨、看平、看跌概率之和须为 100%」。 - 草稿写「相加等于 1」在百分比语境下理解为 **100%**,本节以此为准。 ### 2.10 出栏建议 - **必填**;多行文本(`textarea`)。 - **默认建议**长度 **1~500** 字(去除首尾空白后计数);仅空白视为未填。 ### 2.11 删除与可见性 - 删除采用与项目其他业务台账一致的**逻辑删除**:删除后默认不在列表与常规查询中展示。 - **本期不提供**回收站。 - 若日度行情已被报表固化、分析任务引用等下游引用,**宜禁止删除**并提示原因(**默认建议禁止**)。 ### 2.12 列表筛选项与记录字段的关系 | 筛选项 | 与记录字段关系 | | --- | --- | | 行情日期 | 选填;对「行情日期」**精确**匹配指定日,或提供**起止日期**区间(产品择一,**默认建议**支持单日 + 可选结束日区间) | | 渠道(交易市场) | 选填;对登记时所选**渠道****精确**匹配 | | 产地 | 选填;对省/市/县编码**精确**至所选层级,或按县编码精确(与级联组件回传一致) | > **说明:** 草稿第 2 条「栏位编号模糊匹配、分页列市场栏位列表」为**笔误**(与市场栏位管理混淆),以原型及本节为准:列表对象为**日度行情**,筛选维度为**行情日期、渠道、产地**等(原型若另有筛选项,以原型增补)。 支持多条件**组合筛选**(同时满足)。 ### 2.13 重复登记(业务约束) **默认建议**:同一 **行情日期 + 产地(至县)+ 渠道 + 公母 + 重量 + 生长阶段 + 月龄 + 膘情** 组合在未删除记录中**仅允许一条**;重复保存时提示「该维度组合当日行情已存在」。 若产品允许多条并存(如分时段报价),须评审后单独放开并更新本节。 --- ## 3. 功能范围 **本期实现:** | 能力 | 说明 | | --- | --- | | 日度行情列表 | 日期/渠道/产地等筛选;分页;见 **§5.2** | | 新增日度行情 | 录入全部业务字段;见 **§5.1** | | 修改日度行情 | 各业务字段均可改;见 **§5.3** | | 查看详情 | 只读展示;见 **§5.4** | | 删除日度行情 | 单条逻辑删除;见 **§5.5** | | 工具栏 | 搜索、重置、新增 | **本期不实现(除非后续单独立项):** - 行情自动采集、爬虫、第三方行情 API - 批量导入/导出、图表看板、同比环比自动分析 - 按重量/月龄/膘情等多维度的列表筛选(原型未要求可不做) - 预测概率自动归一(用户须自行凑满 100%) - 与交易订单、结算单价自动回写 --- ## 4. 业务流程概览 ### 4.1 总览 ```mermaid flowchart TD A[进入市场行情登记] --> B{用户操作} B -->|检索| C[选择日期/渠道/产地等] C --> D[搜索列表] B -->|登记| E[新增日度行情] E --> F[填写维度与价格等] F --> G{校验} G -->|通过| H[保存并刷新列表] G -->|未通过| E D --> I{行操作} I -->|查看| J[只读详情] I -->|编辑| K[修改表单] K --> G I -->|删除| L[二次确认] L -->|允许| M[逻辑删除] L -->|有关联| N[提示不可删] M --> D J --> D B -->|重置| O[清空筛选] O --> D ``` ### 4.2 典型使用顺序 1. 维护好「交易市场管理」主数据后,运营人员按日 **新增** 行情:选昨天或指定日期、产地、渠道,填写牛只维度与价格、预测及出栏建议。 2. 系统根据最低价、最高价 **自动计算均价**;录入三项预测概率并保证 **合计 100%**。 3. 日常按 **日期、渠道、产地** 查询历史行情。 4. 信息有误时 **修改** 对应记录(均价随价格区间联动重算)。 5. 确认无下游引用后 **删除** 无效记录;需要完整字段时 **查看** 详情。 --- ## 5. 详细功能需求 ### 5.1 新增日度行情 #### 5.1.1 业务字段汇总 | 字段 | 必填 | 规则摘要 | | --- | --- | --- | | 行情日期 | 是 | YYYY-MM-DD;默认昨天;不宜晚于今天 | | 产地 | 是 | 省/市/县三级,须选至县 | | 渠道 | 是 | 单选;联动交易市场管理;宜仅可选「正常」市场 | | 公母 | 是 | 公牛/母牛/公母混合;默认公牛 | | 重量 | 否 | 七档重量单选 | | 生长阶段 | 否 | 犊牛/架子牛/屠宰牛 | | 月龄 | 否 | 七档月龄单选 | | 膘情 | 否 | 43%/45%/50%/53% | | 最低价、最高价 | 是 | 正数;最低价 ≤ 最高价 | | 单位 | 是 | 元/头 或 元/斤;默认元/斤 | | 均价 | 是 | 自动计算,不可手改(本期) | | 出栏情况 | 是 | 货源充足/减少/增多 | | 变化因素 | 是 | 多选,至少 1 项 | | 预测看涨/看平/看跌概率 | 是 | 正数%;三者之和 = 100% | | 出栏建议 | 是 | textarea;1~500 字(建议) | #### 5.1.2 界面行为(与原型一致) | 用户操作 | 界面行为 | | --- | --- | | 打开新增 | 行情日期默认「昨天」;公母默认「公牛」;单位默认「元/斤」;渠道下拉加载交易市场 | | 选择渠道 | 展示市场名称;不可选停业/注销(默认建议) | | 填写最低价/最高价 | 实时计算并展示均价 | | 填写三项概率 | 实时或失焦校验合计是否为 100% | | 变化因素 | 多选勾选;至少一项 | | 保存 | 全部校验通过后提交 | #### 5.1.3 保存与取消 | 操作 | 行为 | | --- | --- | | **确定** | 校验通过后保存;关闭弹窗并**刷新列表** | | **取消** | 关闭弹窗,不保存 | #### 5.1.4 校验摘要 | 规则 | 说明 | | --- | --- | | 必填与格式 | 见 **§5.1.1**;空白、非法日期、区划未选至县、渠道未选则拒绝 | | 价格 | 正数;最低价 ≤ 最高价;均价有效 | | 概率合计 | 看涨 + 看平 + 看跌 = 100% | | 变化因素 | 至少 1 项 | | 维度重复 | 符合 **§2.13** 时拒绝并提示 | --- ### 5.2 查询日度行情列表 #### 5.2.1 筛选 | 条件 | 规则 | | --- | --- | | 行情日期 | 选填;精确日或日期区间(**§2.12**) | | 渠道 | 选填;精确匹配 | | 产地 | 选填;与级联选定层级一致 | #### 5.2.2 列表规则 - 默认每页 **20** 条。 - 默认排序:**行情日期倒序**,同日按 **创建时间倒序**(**默认建议**)。 - 工具栏:**搜索**、**重置**、**新增**。 #### 5.2.3 展示列(与原型一致,宜包含) 行情日期、产地(简写)、渠道(市场名称)、公母、重量、生长阶段、月龄、膘情、价格区间(最低价~最高价 + 单位)、均价、出栏情况、操作。 | 列 | 展示说明 | | --- | --- | | 价格 | 如 `10.00~12.00 元/斤` 或分列展示 | | 均价 | 展示自动计算结果及单位 | | 变化因素/概率/出栏建议 | 列表可省略或摘要;**详情**展示全量 | | 操作 | 查看、编辑、删除 | --- ### 5.3 修改日度行情 | 项 | 要求 | | --- | --- | | 入口 | 列表「编辑」;详情可提供「编辑」 | | 可改范围 | **§5.1.1** 全部字段(含行情日期、渠道、价格与概率) | | 均价 | 随最低价、最高价变更**重新自动计算** | | 校验 | 同 **§5.1.4**(含维度重复时排除自身 id) | | 保存 | **确定** 保存并刷新;**取消** 放弃 | --- ### 5.4 查看日度行情详情 | 项 | 要求 | | --- | --- | | 展示内容 | **§5.1.1** 全部字段;变化因素完整标签;三项概率及合计;出栏建议全文 | | 只读 | 全部不可编辑 | | 操作 | 可提供 **编辑**、**删除**;**关闭** 返回 | | 审计信息 | 宜含创建人、创建时间、修改人、修改时间 | --- ### 5.5 删除日度行情 | 项 | 要求 | | --- | --- | | 入口 | 列表「删除」;详情可提供「删除」 | | 确认 | 删除前**二次确认**(宜展示行情日期 + 渠道 + 产地摘要) | | 删除方式 | **逻辑删除**(**§2.11**) | | 关联约束 | 存在下游引用时**拒绝删除** | | 批量删除 | **本期不提供** | --- ## 6. 操作与权限矩阵(汇总) 在**已授权**前提下: | 操作 | 列表/详情 | 说明 | | --- | --- | --- | | 查询列表、筛选 | 列表页 | 需列表查询权限 | | 新增 | 「新增」 | 需新增权限 | | 查看 | 行内/详情 | 需查看权限 | | 修改 | 行内/详情 | 需修改权限 | | 删除 | 行内/详情 | 需删除权限 | 无权限的按钮**不展示或禁用**(与若依按钮权限惯例一致)。 --- ## 7. 与相关模块对照(便于评审) | 维度 | 交易市场管理(畜牧流通) | 市场栏位管理 | 市场行情登记(本模块) | | --- | --- | --- | --- | | 数据性质 | 市场主档 | 栏位编号主档 | **按日行情快照** | | 核心内容 | 名称、地址、状态 | 编号、备注 | 日期、产地、渠道、品类维度、价格、预测 | | 外部联动 | — | — | **渠道**依赖交易市场主数据 | | 区划 | 详细地址文本 | 无 | **省/市/县三级** | | 计算字段 | 无 | 无 | **均价**自动计算 | | 列表筛选 | 名称+状态 | 栏位编号模糊 | **日期+渠道+产地** | --- ## 8. 异常与提示(业务侧) | 场景 | 提示方向(示例) | | --- | --- | | 行情日期为空/未来 | 请选择行情日期 / 行情日期不能晚于今天 | | 产地未选至县 | 请选择至县级产地 | | 渠道未选 | 请选择渠道(交易市场) | | 无可用市场 | 请先在交易市场管理中维护正常状态的市场 | | 价格非法 | 请输入有效的最低价和最高价 / 最低价不能大于最高价 | | 均价无效 | 请完善价格区间以生成均价 | | 概率合计≠100% | 看涨、看平、看跌概率之和须为 100% | | 变化因素未选 | 请至少选择一项变化因素 | | 出栏建议为空/超长 | 请输入出栏建议 / 出栏建议不能超过 N 字 | | 维度重复 | 该维度组合当日行情已存在 | | 删除受阻 | 存在关联业务,无法删除 | **本期不涉及** HTTP 响应结构、错误码表等技术约定。 --- ## 9. 非功能需求(摘要) | 项 | 要求 | | --- | --- | | 易用性 | 新增默认昨天、公牛、元/斤;均价与概率校验有即时反馈 | | 一致性 | 区划组件、逻辑删除、分页与项目其他模块一致 | | 准确性 | 均价公式、概率合计规则在界面有说明或错误提示 | --- ## 10. 修订记录 | 版本 | 说明 | | --- | --- | | 1.0 | 初稿:依据草稿与原型;日度行情 CRUD;渠道联动交易市场管理;均价=(最低+最高)/2;概率合计100%;修正草稿列表筛选笔误;剔除技术栈与接口格式 |