项目的目标
陇耘鲜达平台是为了叁强公司对供应商、客户、配送全链路的管理。 陇耘鲜达配送的物品很多,包括蔬菜、水果、肉类、生活用品、厨房用品等等。
项目中有四个角色
- 叁强公司的运营管理人员
- 商品供应商
- 平台客户
- 配送人员
角色对应的工号的创建
运营人员的账号、商品供应商的账号、平台客户的账号、配送人员的账号都是由平台运营人员创建,创建的账号的密码是随机的。平台的账号的密码在数据库中加密存储的,不可以明文
区域管理
叁强公司希望这个平台对商品供应商、平台客户、配送人员进行区域管理。比如平台总共有个三个区域,区域信息由叁强公司运营人员维护。
叁强公司管理人员会对商品供应商、平台客户、配送人员加上区域标识
- 区域内的客户只能看见运营人员选中的本区域供应商的商品报价价格,不可以看见其他区域的报价价格。
- 配送人员只能看见本区域的供应商信息和客户订单信息,不可以看见其他区域的数据。
业务流程
- 第一步:平台运营人员面向区域的供应商发布商品询价清单
- 第二步:该区域内的供应商能够看到商品清单,对清单中的商品进行报价。供应商只能对本区域的商品进行报价,不可以对其他区域的商品进行报价
- 第三步:平台运营人员查看和对比多家供应商的商品的报价,选出一个供应商的报价。用该供应商的报价单中的各商品的价格作为该区域的商品的定价的价格。 并面向该区域的客户发布
- 该区域的客户登录系统后,就可以看见最新的价格清单。然后进行购物,结算。客户确认了订单和支付了订单,如果想取消,都需要走发起申请,由运营人员审核后,在修改状态
- 第四步:平台运营人员看到客户的订单后,将订单安排给该区域的配送人员。
- 第五步:配送人员就可以看见从供应商那里取哪些货,送到哪些客户,每个客户的商品是哪些。同时配送单有时效性,1个小时内就要过期的配送单给运营人员预警,提醒运营人员关注 。 配送人员从运营商上取得货后,需要拍照上传凭证,支持写备注。 配送人员将货物送到客户那后,需要拍照上传凭证。支持配送人员写备注,
- 第六步:客户点击确认收货,订单完结。如果用户不点击确认收货,运营人员有权限完结这个订单
- 异常情况:当天因为其他原因,订单中部分货物送到了,部分没送到,支持运营人员有权限对订单中的内容进行调整。
结算支持两种方式,一种是线上结算(目前只需要支持微信),一种是线下结算,对于线下结算的单据,
- 我们给平台运营人员一份按照区域按照客户的线下结算订单列表,方便运营人员查看各客户的未支付金额。
- 支持运营人员选择线下结算订单点击已完成结算,并填写结算信息,结算文件或者图片上传
每个角色的平台
- 运营人员在web端进行操作
- 商品供应商、平台客户、配送人员在小程序中操作
特别注意
平台中的商品的数量单位需要有个码表管理
单价的单位默认为‘元’ 平台的金额保留2位小数
平台的商品的数量保留多位小数,根据用户填写的实际情况。
- 商品供应商和平台客户都需要维护地址、联系方式,方便配送人员取货和配送。
支持用户修改密码
支持运营人员重置账号的密码为一个随机密码
订单状态机(开发执行版)
- 订单主状态:
- 待支付:客户提交订单但未完成支付。
- 已支付待审核取消:客户发起取消申请后进入该状态,等待运营审核。
- 待分配配送:支付成功且未分配配送员。
- 配送中:已分配配送员,且配送员已开始执行取货/配送任务。
- 部分送达:订单中存在部分商品已送达、部分未送达。
- 待客户确认收货:配送员完成送货并上传凭证后,等待客户确认。
- 已完结:客户确认收货,或由运营强制完结。
- 已取消:取消审核通过,订单取消完成。
- 状态流转规则:
- 待支付 -> 待分配配送:客户完成支付(线上微信支付成功或线下记账确认下单)。
- 待支付 -> 已取消:客户主动取消且未支付时可直接取消。
- 待分配配送 -> 配送中:运营完成配送员分配,配送员开始执行。
- 配送中 -> 待客户确认收货:配送员完成送货并上传送达凭证。
- 配送中 -> 部分送达:发生缺货、损耗等异常导致部分未送达。
- 部分送达 -> 待客户确认收货:运营完成订单内容调整并确认最终应收金额。
- 待客户确认收货 -> 已完结:客户确认收货或运营强制完结。
- 已支付待审核取消 -> 已取消:运营审核通过,执行退款或线下冲销。
- 已支付待审核取消 -> 待分配配送/配送中:运营审核驳回,恢复原业务状态。
- 状态变更约束:
- 任一状态变更必须记录操作人、操作时间、变更前后状态、变更原因。
- 已完结、已取消状态默认不可逆;若需回退,仅允许运营主管角色执行并记录审计日志。
- 同一订单在同一时刻只允许一个人进行“改单/审核/完结”操作,避免并发冲突。
权限矩阵(角色 + 区域)
- 运营人员(Web):
- 可创建各角色账号、重置密码、维护区域信息、维护商品及数量单位码表。
- 可发布询价、查看并比价、选择区域供应商报价并发布区域价格清单。
- 可查看全部区域数据(如需限制为“仅所属区域”,可后续新增运营子角色)。
- 可审核取消申请、处理异常订单、分配配送员、强制完结订单、维护线下结算信息。
- 供应商(小程序):
- 只能查看并响应本区域询价单,提交本区域报价。
- 只能查看与本区域相关的取货/供货任务,不可查看其他区域数据。
- 需要维护自身基础信息:联系人、联系方式、地址。
- 客户(小程序):
- 只能查看本区域且由运营选中并发布的供应商商品价格。
- 只能下本区域订单、查看本账号订单、发起取消申请、确认收货。
- 需要维护自身基础信息:联系人、联系方式、地址。
- 配送人员(小程序):
- 只能查看本区域供应商信息、本区域客户订单及配送任务。
- 可执行取货/送达操作,上传图片凭证并填写备注。
- 不可查看其他区域的供应商、客户、订单及价格数据。
- 数据权限通用规则:
- 所有查询接口默认按“角色 + 区域”做过滤;越权访问必须返回无权限。
- 导出、报表、详情页与列表页权限一致,避免通过导出绕过权限。
退款与异常处理规则
- 退款规则:
- 未支付订单取消:直接取消,不产生退款。
- 已支付订单取消:客户发起申请,运营审核通过后执行退款。
- 线上支付(微信):按原支付路径退款,记录退款单号、退款时间、退款结果。
- 线下结算订单:通过“线下冲销”处理,记录冲销金额、冲销说明、附件凭证。
- 若退款失败,订单状态保持“已支付待审核取消”,并标记退款异常待人工处理。
- 部分送达/缺货规则:
- 运营可对订单行项目执行减量、删除、补录替代品(可配置是否允许替代)。
- 调整后系统自动重算订单应收金额、已收金额、待退金额,并生成差异记录。
- 若已支付金额大于调整后应收金额,触发部分退款流程;若线下结算则计入冲销。
- 所有异常调整必须填写原因(如缺货、品质问题、配送损耗等)。
- 审计与通知:
- 退款、冲销、异常改单需记录操作日志与附件。
- 关键节点通知相关角色:客户(审核结果、退款结果)、运营(退款失败预警)。
价格版本规则(报价 -> 定价 -> 发布)
- 价格对象定义:
- 供应商报价单:供应商针对询价单提交的原始报价,按区域隔离。
- 区域价格清单:运营选定供应商报价后形成的“对客户可见价格”。
- 版本与生效:
- 每次发布区域价格清单都生成新版本(版本号递增),记录发布人和发布时间。
- 新版本可设置“立即生效”或“定时生效”。
- 生效后,仅最新生效版本对该区域客户可见;未生效版本不可见。
- 下单价格冻结:
- 客户提交订单时,订单行单价按当时生效版本冻结,后续价格变动不影响已下单订单。
- 订单需保存价格版本号,便于追溯“该订单使用的是哪一版价格”。
- 历史追溯与对比:
- 运营可查看各区域历史价格版本及版本差异(商品、单价、生效时间)。
- 客户仅可查看当前生效价格,不可查看历史版本和其他区域版本。
- 发布校验:
- 发布前需校验价格有效性(单价 > 0、单位合法、币种默认元、金额保留2位小数)。
- 若同一区域存在“待生效版本”,新发布需提示是否覆盖或排队生效。