-
Notifications
You must be signed in to change notification settings - Fork 0
14 land adoption and traceability prd
本文档细化用户租地、用户认养、农业生产记录、收成/产出邮寄和溯源展示。V1 以真实农业资产、可解释的套餐权益和可完成的邮寄履约为核心。
用户购买租地/认养套餐
→ 系统分配真实地块、养殖个体或养殖批次份额
→ 平台按计划代种植或代养殖
→ 农事/养殖人员持续记录生产过程
→ 形成采收/产出批次
→ 按套餐约定分批或一次邮寄到家
→ 用户查看物流、售后和完整溯源
V1 的租地收成和认养产出不进入集市云仓、平台代销或用户收益账本。
用户在下单前选择:
- 农场。
- 农场区域或种植专区。
- 租赁套餐。
- 套餐允许的作物。
- 可选的代种植服务项。
用户不直接操作复杂 GIS 地图抢占任意坐标。支付成功后,系统根据套餐所需面积、地块可用周期和作物要求锁定并分配真实地块或地块占用单元。
平台分配采用两步预留:候选预览不占容量;操作员点击锁定时生成默认 5 分钟的 allocation_token,确认时原子锁订单和地块、重查时间重叠/可用面积/版本后转为正式占用。主动释放或超时都保留预留历史,不能只在前端隐藏候选。
用户端在分配完成后展示:
- 农场和区域。
- 真实地块编号。
- 简化地图位置或地块示意图。
- 面积或占用份额。
- 种植周期。
- 当前状态。
- 农事记录和预计采收时间。
位置展示统一使用农场公开 GCJ02 点位、公开地址和区域/地块示意图。地块、栏舍、仓库内部精确坐标默认不向用户公开;用户点击导航时打开农场目标点位,不要求先授权获取用户当前位置。地图不可用时仍展示地址、示意图和复制入口。
- 保留真实地块和可追溯体验,不把租地做成纯虚拟权益。
- 避免 V1 直接承担复杂地图绘制、并发选地和碎片面积计算。
- 物理地块与占用周期分开后,同一地块可按季节重复使用。
- 平台可以根据轮作、土壤、排期和现场情况做合理分配。
- 一个物理地块可以有多期历史占用记录。
- 同一时间范围内,可用面积不得被超额分配。
- 整块租赁时,一个有效占用周期只能关联一个用户订单。
- 份额租赁时,所有有效占用面积之和不得超过地块可租面积。
- 地块维修、休耕、污染隔离或异常冻结期间不可创建新占用。
- 订单取消时释放尚未开始的占用;已开始种植后按异常履约处理。
| 配置项 | 说明 |
|---|---|
| 套餐名称 | 用户端名称 |
| 可选农场/区域 | 限制资产范围 |
| 分配方式 | 整块、面积份额 |
| 面积/份额 | 套餐占用的真实生产容量 |
| 可选作物 | 用户可选择的作物范围 |
| 预计周期 | 播种到主要采收的预计天数 |
| 套餐售价拆分 | 服务价值金额与交付价值金额之和必须等于套餐商品价 |
| 交付口径 | 固定数量或最低交付数量 |
| 交付单位 | 斤、公斤、箱、份等 |
| 预计采收次数 | 一次或多次 |
| 延期容忍期 | 必填,固定选项 0、3、7、15、30 个自然日,默认 7 天 |
| 包含服务 | 播种、浇水、施肥、除草、采收、包装等 |
| 可选服务 | 用户可额外购买的服务 |
| 邮寄规则 | 是否包邮、可配送区域、冷链说明 |
| 异常处理规则 | 减产、延期、补足、替代和退款口径 |
| 展示材料 | 图片、视频、农场介绍、作物说明 |
套餐承诺的是可验收的交付数量或最低数量。实际地块产量高于套餐约定时,平台可在套餐中明确赠送、按比例增加或保留为平台产出;V1 不使用模糊的“全部产出归属”表述。
| 状态码建议 | 中文状态 | 说明 |
|---|---|---|
pending_payment |
待付款 | 套餐订单已创建 |
paid_pending_allocation |
已付款待分配 | 等待分配地块 |
allocated |
已分配 | 已锁定真实地块占用周期 |
planting |
种植中 | 已生成种植批次并开始生产 |
harvesting |
采收中 | 已进入一次或多次采收 |
pending_delivery |
待邮寄 | 已形成可交付收成 |
partial_delivered |
部分已寄 | 多次履约尚未完成 |
completed |
已完成 | 约定数量已履约且售后结束 |
delayed |
已延期 | 生产或履约延期 |
exception |
异常处理中 | 减产、质量或资产异常 |
after_sale |
售后中 | 邮寄或品质售后 |
closed |
已关闭 | 取消、全额退款或作废 |
订单状态、地块占用状态、种植批次状态和邮寄履约状态分别记录,不能用一个字段替代全部事实。
| 模式 | 适用对象 | 用户看到的内容 |
|---|---|---|
| 单体认养 | 牛、羊、猪等可唯一识别的大牲畜 | 个体编号/耳标、品种、照片、栏舍、健康和防疫记录 |
| 批次份额认养 | 鸡群、蜂箱群、蛋品等不适合逐只对应的场景 | 养殖批次、份额、栏舍/蜂场、群体记录、约定产出 |
认养套餐发布时必须固定分配模式。订单支付后按模式分配真实个体或批次份额,不能为了展示效果虚构不存在的一一对应关系。
认养同样采用“候选预览 → 5 分钟临时预留 → 原子确认”。单体预留锁定真实资产,份额预留锁定养殖批次容量;确认失败、主动释放或超时均不得留下幽灵占用,替换时新增分配关系并保留原链路。
- 养殖资产必须有平台唯一编号。
- 可选配置耳标、芯片或现场编号。
- 同一有效周期内一个资产不能重复分配给多个排他认养订单。
- 资产更换必须生成异常事件,保留原资产和替代资产关系。
- 生产记录可以来自个体记录,也可以继承所属养殖批次的公共记录。
- 养殖批次记录可分配总份额。
- 所有有效订单占用份额之和不得超过总份额。
- 产出按订单约定数量或份额规则履约。
- 批次调整、合并或更换栏舍时保留完整事件轨迹。
| 配置项 | 说明 |
|---|---|
| 套餐名称 | 用户端名称 |
| 认养分类/品种 | 牛、羊、猪、鸡、蜜蜂等 |
| 分配模式 | 单体、批次份额 |
| 认养周期 | 预计开始和结束周期 |
| 交付品类 | 肉品、鸡蛋、蜂蜜或其他产出 |
| 套餐售价拆分 | 服务价值金额与交付价值金额之和必须等于套餐商品价 |
| 交付口径 | 固定数量或最低交付数量 |
| 预计交付次数 | 一次或多次 |
| 延期容忍期 | 必填,固定选项 0、3、7、15、30 个自然日,默认 7 天 |
| 服务内容 | 饲养、防疫、健康检查、产出处理 |
| 邮寄规则 | 包装、冷链、配送范围、运费承担 |
| 异常处理 | 死亡、疾病、延期、减产、替换和退款 |
| 展示材料 | 品种、基地、图片、视频、报告 |
| 状态码建议 | 中文状态 | 说明 |
|---|---|---|
pending_payment |
待付款 | 套餐订单已创建 |
paid_pending_allocation |
已付款待分配 | 等待分配个体或批次份额 |
allocated |
已分配 | 分配关系已确认 |
breeding |
养殖中 | 周期进行中 |
producing |
产出中 | 已形成一次或多次产出 |
pending_delivery |
待邮寄 | 已形成可交付产出 |
partial_delivered |
部分已寄 | 多次履约尚未完成 |
completed |
已完成 | 约定数量已履约且售后结束 |
delayed |
已延期 | 养殖或产出延期 |
replacement_pending |
待替换 | 原认养个体异常,等待替代 |
exception |
异常处理中 | 疾病、死亡、减产或品质异常 |
after_sale |
售后中 | 邮寄或品质售后 |
closed |
已关闭 | 取消、全额退款或作废 |
至少记录:
- 农场、区域、地块占用周期。
- 作物、品种、种子/种苗批次。
- 计划播种、计划采收和实际时间。
- 负责人。
- 预计产量和实际产量。
- 当前生产状态。
至少记录:
- 农场、栏舍/蜂场。
- 物种、品种、数量或份额。
- 开始、预计结束和实际结束时间。
- 负责人。
- 健康、防疫和产出状态。
事件类型使用可配置字典,V1 至少支持:
- 播种、移栽、浇水、施肥、除草、病虫害处理、采收。
- 入栏、饲喂、称重、健康检查、防疫、用药、转栏、产出。
- 现场图片、视频、操作人员、操作时间、物料和备注。
- 是否对用户公开。
- 草稿、待审核、已发布、已撤回状态。
每次实际采收或产出独立记录:
- 来源生产批次。
- 品类和规格。
- 总数量、合格数量、损耗数量。
- 检测状态。
- 可履约数量。
- 入库位置。
- 生产/采收日期和保质期。
订单应交付数量
- 历史已分配履约数量
- 已退款未履约数量
= 本次最多可分配数量
一次采收/产出可以服务多个订单,一个订单也可以由多个采收/产出批次分批履约。每次分配必须记录订单、产出批次、数量和单位。
- 每次邮寄生成独立履约单和物流单号。
- 用户在首次发货前确认地址;分批发货可沿用地址,也允许在出库前修改。
- 邮寄运费按套餐快照处理,不临时改变历史订单规则。
- 平台因生产节奏主动拆成多次邮寄时,新增包裹产生的额外运费由平台承担;包邮套餐的全部正常分批均不得再次收费。
- 只有用户主动要求额外拆包、升级配送方式或改到套餐配送范围外地址时,才能在用户确认报价后创建独立补运费单。
- 履约单必须关联实际采收/产出批次,用户可从物流详情进入溯源页。
| 异常 | 推荐处理顺序 | 用户侧结果 |
|---|---|---|
| 作物减产 | 同农场同品种补足 → 审核通过的等价批次补足 → 延期 → 退未履约部分 | 仍以约定交付数量为目标 |
| 作物绝收 | 等价批次替代 → 改期重种 → 退未履约部分 | 展示原因、证据和方案 |
| 动物疾病 | 隔离治疗 → 延期观察 → 替换等价资产 | 保留原记录和替换关系 |
| 动物死亡 | 分配等价个体 → 无可替代时延期或退未履约部分 | 不删除原个体档案 |
| 产出延期 | 更新预计时间 → 超过套餐阈值允许取消未履约部分 | 用户收到进度提醒 |
| 品质不合格 | 禁止进入履约 → 更换合格批次 | 不向用户寄出不合格品 |
| 包裹损坏/变质 | 补发优先 → 无货时退对应数量金额 | 关联原履约单处理 |
| 物流丢失 | 补发或退款 | 记录物流责任与处理结果 |
套餐发布前必须把商品价拆成“农业服务价值”和“农产品交付价值”,两者合计严格等于套餐商品价。订单支付时按商品实际支付金额同比例固化:
service_refund_base_amount
= 订单明细商品实付 × 套餐服务价值 ÷ 套餐商品价
delivery_refund_base_amount
= 订单明细商品实付 - service_refund_base_amount
- 资产正式分配且生产尚未开始前取消,按 CRMEB 原订单售后规则退还尚未履行的服务和交付金额。
- 生产开始后,减产、绝收、死亡、延期等农业未履约只按
delivery_refund_base_amount计算;服务部分视为已进入实际农业服务,额外补偿必须使用独立补偿方案和账本。 - 分批退款使用累计差额,最后一次吸收合法分钱尾差:
累计未履约应退
= delivery_refund_base_amount
× 累计已确认退款数量
÷ 承诺交付数量
本次退款
= 累计未履约应退
- 历史已退款金额
- 已生成未完成退款金额
- 累计退款金额不得超过
delivery_refund_base_amount,累计退款数量不得超过承诺交付数量;已履约数量、已退款数量与剩余承诺数量必须始终闭合。
等价替换必须同时满足:交付品类和单位相同、质量等级不低于套餐快照、承诺数量不减少、溯源材料完整、预计完成时间不超过原承诺日加延期容忍期。单体认养还要求物种相同,且品种、性别、日龄/体重区间和健康等级不低于套餐快照;替换关系只新增,不删除原资产档案。
- 满足全部等价条件且未超过延期容忍期的方案,通知用户后进入 3 个自然日确认期;用户未响应时按已披露规则自动接受。
- 降低质量、减少数量、超出延期容忍期、改变品类或要求用户补款的方案必须显式确认;3 个自然日未响应时默认拒绝,并进入未履约退款。
- 用户确认、拒绝和超时结果均记录方案版本、规则快照、通知送达情况与时间,不允许覆盖历史方案。
-
承诺最晚交付日 + 延期容忍期是用户可无条件申请未履约部分退款的边界;边界前仍须持续展示最新预计日期和异常证据。 - 同一产出批次不足以覆盖多个有效订单时,先扣除已经出库的事实,再按各订单未履约承诺数量等比例分配合格产出。
- 实体数量取整数:先按比例向下取整,再把余量按小数余数从大到小分配;余数相同时按订单支付时间、订单 ID 升序。不得由运营手工挑选优先用户。
- 分配后的缺口分别进入补足、替换、延期或退款,不得用后续用户的权益弥补前一用户。
每个异常事件至少记录:
- 事件类型、发生时间和发现人。
- 关联农场、地块/资产、生产批次、订单和履约单。
- 原因、图片/视频/报告等证据。
- 影响数量、预计延期天数。
- 处理方案、审批人和审批时间。
- 用户通知记录。
- 实际处理结果和关闭时间。
flowchart LR
A["农场"] --> B["区域"]
B --> C["地块或栏舍"]
C --> D["种植/养殖批次"]
D --> E["农事/养殖事件"]
D --> F["采收/产出批次"]
F --> G["检测报告与证书"]
F --> H["商品 SKU 或云仓批次"]
H --> I["用户订单明细"]
I --> J["邮寄履约与溯源码"]
- 普通农产品、鸡蛋、蜂蜜等以批次溯源为主。
- 牛、羊、猪等大牲畜可在批次之上增加个体编号和个体事件。
- 用户订单展示实际分配到该订单的采收/产出批次,而不是只展示商品通用宣传内容。
- 云仓活动商品和后续二次零售订单均可追溯到来源产出批次或审核通过的供应链批次。
| 状态 | 说明 |
|---|---|
| 草稿 | 现场人员录入,用户不可见 |
| 待审核 | 提交负责人或平台运营审核 |
| 已发布 | 用户端可见 |
| 已撤回 | 因错误或争议暂不展示,但历史记录保留 |
已发布内容修改时新增版本,保留修改前内容、修改原因、修改人和审核人。二维码由系统本地生成并指向稳定的溯源档案地址。
| 页面 | 核心能力 |
|---|---|
| 农场/区域 | 基础资料、状态、负责人 |
| 地块与占用日历 | 物理地块、面积、当前/未来占用、休耕和异常 |
| 租地套餐 | 作物、周期、交付数量、服务、邮寄和异常规则 |
| 租地订单 | 分配地块、查看批次、异常、履约和售后 |
| 认养资产/批次 | 个体档案、批次份额、栏舍和可分配容量 |
| 认养套餐 | 分配模式、周期、交付数量、服务和异常规则 |
| 认养订单 | 分配资产/份额、替换、产出、履约和售后 |
| 生产批次 | 种植/养殖计划、负责人和状态 |
| 过程记录审核 | 审核并发布农事/养殖记录 |
| 采收/产出批次 | 数量、质量、检测、库存和订单分配 |
| 邮寄履约 | 分批履约、物流、补发和退款 |
| 异常事件 | 证据、影响、处理方案、审批和通知 |
| 溯源档案 | 版本、报告、证书、商品/订单关联和二维码 |
| 页面 | 核心能力 |
|---|---|
| 农场专区 | 租地、认养入口和农场内容 |
| 租地列表/详情 | 套餐、作物、周期、交付、服务、邮寄和异常规则 |
| 租地下单 | 选择作物与服务、确认规则并支付 |
| 我的土地 | 地块编号、周期、农事时间线、预计采收和履约 |
| 认养列表/详情 | 品种、分配模式、周期、产出、服务和异常规则 |
| 认养下单 | 确认套餐并支付 |
| 我的认养 | 个体/批次份额、养殖时间线、预计产出和履约 |
| 收成/产出履约 | 地址、分批发货、物流、售后 |
| 溯源详情 | 资产、过程事件、产出批次、报告、证书和履约关联 |
V1 可先复用平台权限页面并提供适配移动设备的录入表单:
- 扫描地块、资产或批次二维码进入记录页。
- 新增农事/养殖事件并上传现场图片。
- 录入采收、产出、损耗和检测状态。
- 处理打包、出库和物流。
- 上报异常并查看处理结果。
- 每个已付款租地订单都能追溯到真实地块占用周期。
- 同一地块同一时间的有效占用不超过可用容量。
- 单体认养不会在有效周期内重复分配。
- 批次份额认养的有效份额不超过批次容量。
- 用户可看到经过审核发布的真实过程记录。
- 每次采收/产出都能记录总量、合格量、损耗和来源批次。
- 一个订单可分批邮寄,每个履约单可追溯到实际产出批次。
- 套餐交付数量、已履约数量和剩余数量始终可核对。
- 异常不会通过删除资产或生产记录掩盖,替换关系完整保留。
- 商品详情、订单详情和物流详情可进入同一份稳定溯源档案。
- 首页
- 项目总览
- 项目立项
- 端与角色
- 供应链经营闭环
- 模块地图
- V1 范围 PRD
- 任务拆解
- 结算与账本
- V1 结算口径
- 云仓秒杀
- CRMEB 底座能力映射
- 当前菜单页面审计
- V1 决策与术语
- 云仓流程与状态机
- 租地认养与溯源 PRD
- V1 数据模型草案
- 开发前设计计划
- V1 信息架构
- 页面与原型规格
- V1 API 契约草案
- 事件任务权限通知
- 五项目代码改造蓝图
- 测试验收发布与手册计划
- CRMEB 视觉基线审计
- G3/G4 决策登记表
- 用户端 uni-app 复用审计
- 开发前主清单
- 自主设计工作指引
- V1 需求追踪矩阵
- G3 技术专项验证报告
- V1 P0 页面矩阵
- 写操作契约注册表
- 事件任务操作注册表
- 状态异常事务矩阵
- 数据库字段字典
- 页面 API 文件追踪
- V1 ER 图
- API 字段契约注册表
- 平台管理员手册
- 商户手册
- 用户帮助
- 服务与现场手册
- 开发任务包
- 测试目录与 Fixtures
- 发布与运维手册
- 设计交付与研发交接