家政项目day3 区域服务模块开发

embedded/2024/10/22 18:31:15/

目录

  • 1 复习下业务流程
  • 2 接口设计
    • 2.1 查询区域服务
      • 2.1.1 接口梳理
      • 2.1.2 接口设计
      • 2.1.3 接口定义

1 复习下业务流程

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

  • 进入区域列表 点击“设置服务”
  • 进入设置服务页面 这个页面应该展示了该区域当前正在运营及停止未运营的服务信息。
  • 添加服务 进入添加服务界面,选择要添加的服务,点击“添加”
  • 设置区域价格 区域价格即该服务在该区域的运营价格,输入修改后的价格。
  • 上架 服务上架后用户可以在首页的服务列表点击该服务进行下单购买。
    ps:当区域服务的状态为草稿状态或下架状态时方可上架。
  • 下架 服务下架后用户将不能对该服务下单。
    ps:当区域服务的状态为上架状态方可下架。
  • 删除 当状态为草稿状态方可删除。
  • 设置热门/取消热门 服务设置为热门将在首页显示

2 接口设计

2.1 查询区域服务

2.1.1 接口梳理

通过上述分析在区域服务模块包括以下接口:

  1. 区域服务分页查询接口
  2. 区域服务新增接口
  3. 区域服务删除接口
  4. 区域服务价格修改接口
  5. 区域服务设置热门接口
  6. 区域服务取消热门接口
  7. 区域服务上架接口
  8. 区域服务下架接口

2.1.2 接口设计

首先明确该接口是一个前后端交互接口,该接口由前端通过HTTP协议进行调用,前端去调用接口需要知道以下内容:

  1. HTTP请求方法
  2. 接口路径
  3. 请求参数类型
  4. 请求参数内容
  5. 响应结果类型
  6. 响应结果状态码
  7. 响应结果内容

所以我们设计接口需要设计这些内容。

  1. HTTP请求方法
    根据RESTful规范:
    查询方法用Get,请求参数比较多可用POST
    新增方法用POST
    修改方法用PUT
    删除方法用DELETE
    本接口是一个分页查询接口,查询条件我们用GET。

  2. 接口路径
    定义为RESTful风格的路径。
    接口路径为:/foundations/operation/serve/page
    可以在类上边使用@RequestMapping指定该类中接口的路径的基础路径。
    在方法中指定具体的路径。

  3. 请求参数类型
    常用的有:
    json格式:application/json,传递json格式字符串,当传递的参数是属于一个对象的属性时可用此格式,比如:新增、修改时通常传递的数据是某个对象的信息就可以使用此格式。
    表单格式:application/x-www-form-urlencoded,传递key/value串,就是在url后通过?和&进行拼接的参数,比如:/foundations/operation/serve/page?pageNo=1&pageSize=10
    当传递的参数比较杂且不属于某个特定的对象时使用此格式,本接口使用application/x-www-form-urlencoded格式。

  4. 请求参数内容
    请求参数的内容根据需求文档和界面原型去识别。
    分页式查询首先有当前页码和每页显示记录数。
    对于查询类的接口还有常用的参数有:排序方式、排序字段。
    再根据需求的梳理,查询某个区域下的服务需要传递一个区域id。
    请求参数如下

参数名称参数说明是否必须
regionId区域IDTRUE
isASC1排序字段1是否升序FALSE
isASC2排序字段2是否升序FALSE
orderBy1排序字段1FALSE
orderBy2排序字段2FALSE
pageNo页码数FALSE
pageSize每页条数FALSE
  1. 响应结果类型
    常见的类型有:text/html、text/plain、application/json等。
    本项目统一使用application/json

  2. 响应结果状态码规定
    HTTP状态码是服务器返回给客户端的数字代码(三位数字),共分为五类:
    1xx: 表示服务器接收到了客户端请求并正在处理
    2xx: 表示成功状态码
    3xx:表示重向定状态码
    4xx:表示客户端错误状态码
    5xx: 表示服务端错误状态码
    当服务端处理成功返回200,其它表示失败。

  3. 响应结果内容
    分页查询通用的响应内容有:数据列表、总页数、总记录数
    数据列表中需要分析具体的属性,根据界面原型进行分析:

参数名称参数说明
severTpeId服务类型id
serveItemName服务项名称
updateTime更新时间
saleStatus售卖状态 :0草稿,1下架,2上架
serveItemId服务项id
referencePrice参考价格
createTime创建时间
regionId区域id
price价格
id主键
isHot是否为热门
serveTypeName服务类型名称

制定分页查询通用的响应内容如下:
msg、code、 data、total、pages是固定的。
data中List数据的内容对于不同的分页查询会不一样。

响应案例:

{"msg": "OK","code": 200,"data": {"list": [{"serveTypeId": 0,"serveItemName": "","updateTime": "","saleStatus": 0,"serveItemId": 0,"referencePrice": 0,"createTime": "","regionId": 0,"price": 0,"id": 0,"isHot": 0,"serveTypeName": ""}],"total": 0,"pages": 0}
}

2.1.3 接口定义


http://www.ppmy.cn/embedded/42784.html

相关文章

Leetcode 面试题 02.01. 移除重复节点

题目描述 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2]输出:[1, 2]提示: 链表长度在[0, 20000]范围内。链…

恶劣天候激光雷达点云模拟方法论文整理

恶劣天候点云模拟方法论文整理 模拟雨天点云:【AAAI2024】模拟雪天点云:【CVPR 2022 oral】模拟雾天点云:【ICCV2021】模拟点云恶劣天候的散射现象:【Arxiv 2021】模拟积水地面的水花飞溅点云:【RAL2022】 模拟雨天点云…

【LeetCode:2769. 找出最大的可达成数字 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

如何优雅的卸载linux上的todesk

要优雅地卸载Linux上的ToDesk,您可以按照以下步骤操作: 打开终端。 输入以下命令来停止ToDesk服务(如果它正在运行的话): sudo systemctl stop todesk 然后,使用包管理器卸载ToDesk。如果您使用的是apt&…

【Python爬虫篇】Selenium在获取网页数据方面的使用及采集中国大学课程评论数据

1 selenium概述 1.什么是selenium? (1)Selenium是一个用于Web应用程序测试的工具。 (2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 (3)支持通过各种driver&#…

【C++高阶(一)】继承

目录 一、继承的概念 1.继承的基本概念 2.继承的定义和语法 3.继承基类成员访问方式的变化 ​编辑 4.总结 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 1.派生类中的默认构造函数 2.派生类中的拷贝构造函数 3.派生类中的移动构造函数…

[SCTF2019]babyre

打开看看还是有花指令 解除后首先pass1是解maze,好像又是三维的 x是25,也就是向下跳五层,注意是立体的 得到 passwd1: ddwwxxssxaxwwaasasyywwdd 接着往下看 有一个加密函数IDA逆向常用宏定义_lodword-CSDN博客 unsigned __int64 __fastca…

如何彻底搞懂装饰器(Decorator)设计模式?

对于任何一个软件系统而言,往现有对象中添加新功能是一种不可避免的实现场景,但这一实现过程对现有系统的影响可大可小。从架构设计上讲,我们也知道存在一个开闭原则(Open-Closed Principle,OCP)&#xff0…