家政项目day2 需求分析(模拟入职后熟悉业务流程)
目录
- 1 项目主体介绍
- 1.1 项目背景
- 1.2 运营模式
- 1.3 项目业务流程
- 2 运营端需求
- 2.1 服务类型管理
- 2.2 服务项目(服务)管理
- 2.3 区域管理
- 2.4 区域服务管理
- 2.5 相关数据库表的管理
- 2.6 设计工程结构
- 2.7 测试接口(接口断点查看业务代码)
- 3 开发区域服务模块
- 3.0 复习下业务流程
- 3.1 接口设计
- 3.1.1 查询区域服务
- 3.1.1.1 接口梳理
- 3.1.1.2 接口设计
1 项目主体介绍
1.1 项目背景
- 互联网+家政是继打车、外卖后的又一个风口,o2o(Online To Offline)是将线下商务的机会与互联网的技术结合在一起,让互联网成为线下交易的前台,同时起到推广和成交的作用。
- 家政服务o2o市场前景非常好,中国社会的家庭小型化、人口老龄化进程加快,加之二胎政策、三孩政策的推行,创造了大量对于家政服务的潜在需求。
1.2 运营模式
先介绍下C2B2C商业模式,消费者不仅可以通过平台获取家政服务,还有机会成为服务提供者。在这个背景下,C2B2C 模式通常指的是:
- 消费者(Consumer):
- 最终的家庭用户,他们需要家政服务,例如清洁、保姆、维修等。
- 企业(Business):
- 在家政 O2O 中,企业通常是在线平台,提供家政服务的中介。这些平台通过在线渠道为消费者提供了查找、预订、支付等服务,同时也可能为家政服务提供者提供了工作机会。
- 消费者(家政服务提供者):
- 在 C2B2C 模式中,一些消费者也可以成为服务的提供者。这些个体可能是独立的家政服务专业人员,他们可以在家政 O2O 平台上注册,提供自己的服务,并被其他需要服务的消费者雇佣。
接着来聊一下C2B2C商业模式:企业到企业到消费者的模式。家政服务平台作为中间商,通过与各种家政服务提供商(家政服务公司)合作,为消费者提供多样化的家政服务选择。

B2B2C与C2B2C的区别是:B2B2C中服务提供者是家政服务中介公司,在C2B2C中是服务提供者是拥有服务技能的服务人员(散户)。
那么言归正传,本项目结合了C2B2C和B2B2C模式,个人和家政服务中介都可以通过平台提供家政服务:

1.3 项目业务流程

核心流程:
- 运营端在运营区域上架家政服务
比如:在北京上架 日常保洁、空调维修。 - 用户端通过定位区域获取当前区域的服务项目,选择家政服务,下单、支付
- 家政服务人员及家政服务公司(机构)通过平台抢单
- 家政服务人员现场服务,平台跟踪管理整个服务过程。
- 服务完成,用户评价、售后服务等。
2 运营端需求
运营基础模块为运营人员提供基础数据管理功能,包括:服务类型管理、服务项管理、区域管理、区域服务管理等子模块。
2.1 服务类型管理
首先先理解下服务和服务类型这两个概念:
服务类型就是对服务项目的分类,如:空调维修和电视维修都属于家电维修分类,空调清洗和洗衣机清洗属于家电清洗分类,服务类型相当于电商系统中的商品分类。
每个服务类型应该包含以下内容:
1)服务类型名称。
2)排序字段,控制在页面上的显示顺序。
3)服务类型图标,在首页显示图标。
4)服务类型图片,在首页显示服务类型图片。
服务即服务项目,本平台提供的家政服务项目,如:空调维修、电视维修、空调清洗、洗衣机清洗,这里都是服务项目,服务相当于电商系统中的商品。
每个服务应该包含以下内容:
1)服务名称
2)服务类型,服务项所属分类。
3)参考服务单价
此价格是参考价格,比如:室内清洁,每小时20元,20元是参考价格,每个地区可能不一样。
4)服务单位
价格的单位,比如:室内清洁,每小时20元,单位是每小时。
5)排序
排序字段,在页面上显示 的顺序。
6)服务图标
在首页显示的服务图标。
7)服务图片
在首页显示的服务图片。
业务流程如下:
1、添加服务类型

注意,服务类型的状态分为启用、禁用、草稿,新添加的服务类型为草稿状态,需要手动启用,具体转化关系如下:

2、服务类型启用
服务类型当前状态为草稿或禁用状态方可启动。

启用后,就可以向当前服务类型下添加具体的服务
3、服务类型禁用
服务类型当前状态为启用状态方可禁用

4、服务类型删除
服务类型当前状态为草稿状态方可删除

2.2 服务项目(服务)管理
服务项即服务项目,简称为服务,它是平台提供的家政服务项目,相当于电商项目中的商品
业务流程:
1、添加服务项

2、服务项启用

3、服务项禁用
如果该服务项在某些区域正在运营将无法禁用,需要先将该服务项在所有区域下架方可禁用。
关于服务项在区域上架和下架的操作参见:区域服务管理模块。

4、服务项删除

2.3 区域管理
本模块是对本项目所运营的地区信息进行管理
每个区域的内容应该包含:
地区选择:从城市列表中选择城市。平台是以城市为单位设置运营的地区。
区域负责人:填写负责人姓名
手机号码:填写负责人的电话
业务流程:
1、添加区域

2、区域启用

3、区域禁用

4、区域删除

2.4 区域服务管理
区域服务管理是为运营地区设置要运营的服务项,不同地区所运营的服务项可能不同,比如:本平台在北京运营了老人陪护服务,而在郑州没有运营老人陪护服务。
业务流程:
1、向区域添加服务流程

2、区域服务上架

3、区域服务下架

4、服务删除

2.5 相关数据库表的管理
首先,2.1-2.5分别讲解了服务类型,服务项,区域,区域服务四个业务,那么每个应该对应一个表:
serve_type:服务类型表
serve_item: 服务项表,存储了本平台的家政服务项目
每个服务项都有一个服务类型,一个服务类型下有多个服务项,服务类型与服务项是一对多关系。
region:区域表,存储运营地区信息,一般情况区域表行政级别是市。
serve: 服务表,存储了各个区域运营的服务及相关信息。
区域和服务项表属于多对多关系,但是不可以把serve简单的认为关联表,假如是关联表的话,只需要两个表的主键字段即可,但是,每个区域的每个服务是不同的价格等等,包含了很多运营信息
因此我们得到数据库架构如下:

2.6 设计工程结构
首先介绍几个目前用到的模块:
| 项目名 | 模块名称 | 功能 |
|---|---|---|
| jzo2o-foundations | 运营端基础服务 | 服务类型、服务、区域管理等 |
| jzo2o-gateway | 网关 | 请求过滤,负载均衡,路由转发 |
那么首先从jzo2o-foundations模块开始熟悉,工程目录结构如下:

2.7 测试接口(接口断点查看业务代码)
搞清楚了项目的工程结构再通过一个具体的接口去读项目的代码。
具体可以把工程启动起来通过接口测试深入源码搞清楚执行流程。
通过swagger接口文档去熟悉模块的接口,通过测试接口去理解接口的整个交互流程。

之后根据请求地址搜索到相应代码,打断点,debug运行熟悉业务代码

3 开发区域服务模块
3.0 复习下业务流程
区域服务管理是为运营地区设置要运营的服务项,不同地区所运营的服务项可能不同,比如:本平台在北京运营了老人陪护服务,而在郑州没有运营老人陪护服务。
- 进入区域列表 点击“设置服务”
- 进入设置服务页面 这个页面应该展示了该区域当前正在运营及停止未运营的服务信息。
- 添加服务 进入添加服务界面,选择要添加的服务,点击“添加”
- 设置区域价格 区域价格即该服务在该区域的运营价格,输入修改后的价格。
- 上架 服务上架后用户可以在首页的服务列表点击该服务进行下单购买。
ps:当区域服务的状态为草稿状态或下架状态时方可上架。 - 下架 服务下架后用户将不能对该服务下单。
ps:当区域服务的状态为上架状态方可下架。 - 删除 当状态为草稿状态方可删除。
- 设置热门/取消热门 服务设置为热门将在首页显示
3.1 接口设计
3.1.1 查询区域服务
3.1.1.1 接口梳理
通过上述分析在区域服务模块包括以下接口:
- 区域服务分页查询接口
- 区域服务新增接口
- 区域服务删除接口
- 区域服务价格修改接口
- 区域服务设置热门接口
- 区域服务取消热门接口
- 区域服务上架接口
- 区域服务下架接口
3.1.1.2 接口设计
相关文章:
家政项目day2 需求分析(模拟入职后熟悉业务流程)
目录 1 项目主体介绍1.1 项目背景1.2 运营模式1.3 项目业务流程 2 运营端需求2.1 服务类型管理2.2 服务项目(服务)管理2.3 区域管理2.4 区域服务管理2.5 相关数据库表的管理2.6 设计工程结构2.7 测试接口(接口断点查看业务代码) 3…...
面试总结之:socket线路切换
"socket线路切换"通常指的是在网络通信过程中,根据当前网络状态或策略来动态更换数据传输路径的技术。这种技术可以提高通信的可靠性和性能。 在实际应用中,线路切换可能涉及到多种技术,例如: 负载均衡:根据每条路径的当前负载情况,动态地选择一条较为空闲的路…...
002 递归评论 mongodb websocket消息推送
文章目录 商品评论CommentController.javaComment.javaCommentServiceImpl.javaCommentRepository.javaCommentService.javaWebSocketConfig.javaWebSocketProcess.javaapplication.yamlproductReview.htmlindex.htmlindex.jsindex.css 订单评论EvaluateMapper.xmlEvaluateMapp…...
高开高走的续作,可不止《庆余年2》
说起最近霸屏的影视剧,莫过于《庆余年2》。火爆全网的讨论度总归是没有辜负观众们五年的等待,在五月的影视市场独占鳌头已成定局。张若昀、陈道明、李沁等一众演员稳定发挥,剧情节奏随着故事发展渐入佳境,评分一路高涨。 对影视作…...
uniapp android使用uni.chooseLocation,app云打包后,定位地址列表一直在加载中
复现BUG 1、自己生成一个证书 参考生成证书流程 2、使用刚生成证书的SHA1 ,重新创建一个高德key 高德开放平台地址 3、打包(打包的包名要与高德申请key所填的包名一致)...
详解http协议
什么是HTTP协议 定义 Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol) 。 它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向&am…...
台湾省军事演习路径规划:A*算法在复杂地形中的应用
❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…...
OpenHarmony鸿蒙软总线使用mbedtls数据加密详解
OpenHarmony鸿蒙软总线子系统中使用了多种的加密技术,本篇介绍调用mbedtls的数据加密。 调用mbedtls加密的源码位于: foundation/communication/dsoftbus/adapter/common/mbedtls/softbus_adapter_crypto.c 这个源码单元,调用mbedTLS库实现了各种加密功能,包括AES-GCM加密…...
【JavaEE】Servlet
文章目录 一、Servlet 是什么二、如何创建Servlet程序1、创建项目2、引入依赖3、创建目录4、编写代码5、打包程序6、部署程序7、验证程序 一、Servlet 是什么 二、如何创建Servlet程序 1、创建项目 2、引入依赖 Maven 项目创建完后,会自动生成一个 pom.xml 的文…...
SpringBoot——整合Redis
目录 Redis 创建Commodity表 启动MySQL和Redis 新建一个SpringBoot项目 pom.xml application.properties Commodity实体类 ComMapper接口 ComService业务层接口 ComServiceImpl业务接口的实现类 ComController控制器 RedisConfig配置类 SpringbootRdisApplication启…...
2024全新Langchain大模型AI应用与多智能体实战开发
2024全新Langchain大模型AI应用与多智能体实战开发 LangChain 就是一个 LLM 编程框架,你想开发一个基于 LLM 应用,需要什么组件它都有,直接使用就行;甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念…...
【JavaEE 初阶(十)】JVM
❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多进阶知识 目录 1.前言2.JVM内存区域划分3.类加载3.1双亲委派模型 4.垃圾回收(GC࿰…...
【Flutter】AspectRatio组件Card组件按钮组件Wrap组件
🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Flutter学习 🌠 首发时间:2024年5月25日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾 目…...
【IDEA软件应用篇】IDEA基础开发设置和开发快捷键
IDEA是一种集成开发环境,可以运行java代码。 本篇文章你将收获到下面的知识: (1)IDEA如何设置字体大小快捷键 (2)如何解决每次进IDEA时,进去的页面都是上次使用完时的那个页面 (3&am…...
机器学习--数学部分笔记
前言 因为周三要考试,所以数学部分写一下笔记 正文 随机事件和随机实验 条件概率 • 在已知事件 𝐵 发生的条件下,事件𝐴发生的概率称为事件 𝐴 的条件概率,记为𝑃(𝐴|𝐵) 全概率…...
基于springboot的在线宠物用品交易网站源码数据库
基于springboot的在线宠物用品交易网站源码数据库 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了在线宠物用品交易网站的开发全过程。通过分析在线宠物用品交易网站管理的不足,创建了一个计算机管理在…...
【Pytorch】13.搭建完整的CIFAR10模型
项目源码 已上传至githubCIFAR10Model,如果有帮助可以点个star 简介 在前文【Pytorch】10.CIFAR10模型搭建我们学习了用Module来模拟搭建CIFAR10的训练流程 本节将会加入损失函数,梯度下降,TensorBoard来完整搭建一个训练的模型 基本步骤 搭建…...
护目镜佩戴自动识别预警摄像机
护目镜佩戴自动识别预警摄像机是一种智能监测设备,专门用于佩戴护目镜的工人进行作业时,能够自动识别有潜在风险的场景,并及时发出预警信号。该摄像机配备人脸识别和智能预警系统,可以检测危险情况并为工人提供实时安全保护&#…...
keep-alive的使用
Vue中的<keep-alive>组件是前端开发中的一个宝藏功能,它如同时光胶囊般保留组件的状态,让组件在切换时仿佛按下暂停键,再次回来时还能继续播放,极大地优化了用户体验和性能。🚀✨ 作用 状态保留:当包…...
【Linux】中的常见的重要指令(中)
目录 一、man指令 二、cp指令 三、cat指令 四、mv指令 五、more指令 六、less指令 七、head指令 八、tail指令 一、man指令 Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: m…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...
