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

目录

  • 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.mzph.cn/news/840865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

先进制造aps专题七 基于ai大模型的生产调度aps系统

"如果我们能够深度定制并开发出适合这些行业的大模型应用,将会带来巨大的变革。比如在医疗行业,大模型在医学图像分析、疾病预测和智能诊断方面有着广阔的应用前景。通过利用大模型技术,医生可以获得更准确的诊断辅助工具,从…

查数据库表以及视图sql

目录 oracle 数据表 视图 mysql 数据表 视图 hive 表 视图 pg 表 视图 oracle 数据表 SELECT a.owner AS owner,a.TABLE_NAME AS bywm,a.comments AS bzwm FROM all_tab_comments a where a.OWNER NOT IN (SYS, SYSTEM, CTXSYS, XDB, EXFSYS, MDSYS, OL…

零拷贝(Zero-Copy)

1.背景 现在有这样一个场景,我们需要在本地选择一个文件后,然后上传到网络上。 我们再看看文件的内容数据的具体搬运过程: 你会发现,在整个文件搬运的过程中,发生了多次的数据拷贝和上下文转换。 4次数据拷贝&#…

每日一题(5)——StringBuffer操作

编写程序,对StringBuffer对象进行追加,插入和修改缓冲区长度等操作; class StringDemo{public static void main(String[] args){boolean btrue;int i321;long l123456;String s1new String("Hello,world!");StringBuffer s2new S…

Rust一维Vec垂直方向拼接、水平方向拼接,多个二维Vec垂直方向拼接

1.在Rust中&#xff0c;拼接二维Vec通常意味着将多个一维Vec组合成一个二维Vec。假设你想要将多个Vec<T>拼接成一个Vec<Vec<T>>&#xff0c;你可以使用迭代器方法来实现。 下面是一个示例&#xff0c;演示如何将多个一维Vec拼接成一个二维Vec&#xff1a; …

深入探索:移动云服务器的强大之处

文章目录 一 什么是移动云二 移动云服务器的使用三 移动云服务器的优点四 在移动云上部署node.js项目五 移动云服务器的应用场景六 移动云服务器的使用体验总结 一 什么是移动云 移动云是指用户可以通过移动设备访问云端的数据和应用&#xff0c;无需在本地设备上进行存储和处…

单片机LCD1602显示电子时钟设计

基于52单片机电子时钟的设计 摘要 本次设计的多功能时钟系统采用STC89C52单片机为核心器件&#xff0c;利用其定时器/计数器定时和记数的原理&#xff0c;结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。将软硬件有机地结合起来&#xff0c;使得系…

汇编实现的操作系统

掌握X86汇编语言和GDB程序调试工具对于程序员来说是非常重要的_gdb 查看x86汇编-CSDN博客 掌握编译器和虚拟机的开发有哪些方面的好处-CSDN博客 Ville Mikael Turjanmaan开发的一个操作系统MenuetOS可运行在IA-32, x86-64平台上&#xff0c;完全用 64 位汇编语言编写。功能包…

Oracle23ai新特性case when子句增加多条件判断

Oracle23ai新特性case when子句增加多条件判断&#xff0c;语句更加灵活易用&#xff0c;更好支持SQL标准。 参考官方文档 CASE Expressions https://docs.oracle.com/en/database/oracle/oracle-database/23/lnpls/plsql-language-fundamentals.html#GUID-216F1B33-493F-4CD…

从参数变化解读 MySQL 8.2.0 发版说明

↑ 关注“少安事务所”公众号&#xff0c;欢迎⭐收藏&#xff0c;不错过精彩内容~ 日前&#xff0c;MySQL 8.2.0 创新版本已正式上线&#xff0c;并提供安装包下载&#xff0c;但 docker 镜像尚未更新。 在 MySQL 8.1.0 刚发版时也做过分析&#xff0c;欢迎阅读&#xff1a; 重…

vue框架学习 -- 跨域问题解决之 proxy 配置

在Vue.js项目中&#xff0c;为了在开发环境下解决跨域问题&#xff0c;我们可以利用 vue.config.js 文件中的 devServer.proxy 配置来设置一个代理服务器。这个代理服务器会拦截特定的请求&#xff0c;并将其转发到目标后端服务器。 以下是一个基本的proxy配置详解&#xff1a;…

区块链技术和应用

文章目录 前言 一、区块链是什么&#xff1f; 二、区块链核心数据结构 2.1 交易 2.2 区块 三、交易 3.1 交易的生命周期 3.2 节点类型 3.3 分布式系统 3.4 节点数据库 3.5 智能合约 3.6 多个记账节点-去中心化 3.7 双花问题 3.8 共识算法 3.8.1 POW工作量证明 总结 前言 学习长…

Drone+Gitee自动执行构建、测试和发布工作流

拉取Drone:(至于版本&#xff0c;你可以下载最新的) sudo docker pull drone/drone:2 拉取runner&#xff1a; sudo docker pull drone/drone-runner-docker 在Gitee中添加第三方应用&#xff1a; 进入个人主页&#xff0c;点击设置&#xff1a; 往下翻&#xff0c;找到数…

前缀和,差分算法理解

前缀和是什么&#xff1a; 前缀和指一个数组的某下标之前的所有数组元素的和&#xff08;包含其自身&#xff09;。前缀和分为一维前缀和&#xff0c;以及二维前缀和。前缀和是一种重要的预处理&#xff0c;能够降低算法的时间复杂度 说个人话就是比如有一个数组&#xff1a; …

H3CNE-6-ICMP数据包分析

ICMP&#xff1a;Internet Control Message Protocol ICMP用来传递差错、控制、查询等信息 Wireshark抓包 Wireshark下载国内镜像 ICMP数据包格式 Type&#xff1a;表示ICMP消息类型 Code&#xff1a;表示同一消息类型中的不同信息 ICMP消息类型和编码类型 ICMP应用 &…

Java 反射基础

概述 Java反射&#xff08;Reflection&#xff09;是Java编程语言的一个特性&#xff0c;它允许在运行时对类、接口、字段和方法进行动态查询和操作。反射提供了一种在运行时查看和修改程序行为的能力&#xff0c;这通常用于实现一些高级功能&#xff0c;如框架、ORM&#xff…

亚马逊开店详细教程(6)- 获得商品的评分

1. 为什么要参加 VINE计划 用户在浏览一个新上架的商品时&#xff0c;通常会参照以往买家的对商品的评论&#xff0c;如果你是新全的商品可能没有任何评论信息&#xff0c;这可以会让一部分用户对购买产品有所顾虑&#xff0c;参加亚马逊Vine计划能够帮助新产品快速获得高质量…

vue实现esc关闭div弹窗的自定义指令

弹窗是 div 实现的&#xff08;非el-dialog&#xff09;,效果&#xff1a;按下esc&#xff0c;关闭弹窗 directive/divEscClose/divEscClose.js export default {bind: function (el, binding, vnode) {let keydownHandler; ​const closeModal () > {if (typeof binding.…

【MySQL精通之路】SQL优化(1)-查询优化

SQL优化方案主博客&#xff1a; 【MySQL精通之路】SQL优化(1)-CSDN博客 SELECT查询优化&#xff1a; 以下优化都由MySQL查询优化器自动进行了处理。我们了解的过程中需要知道我们如何编写SQL以使优化器可以优化我们的查询语句。 之所以分成多博客发布&#xff0c;主要是为了…