首页 > 其他分享 >苍穹外卖

苍穹外卖

时间:2023-08-14 22:38:05浏览次数:39  
标签:mapper 这里 接口 文档 外卖 swagger 苍穹 page

 POJO :又分为了  Entity  DTO  VO

 1、GIT 

在idea创建git   再点击对勾, 再点击绿色指向的, 传到gitee

 

2、进行MD5加密    DigestUtils.md5DigestAsHex      getBytes()是将password输出为编码格式iso-8859-1

password = DigestUtils.md5DigestAsHex(password.getBytes());

 

3、swagger   主要帮助后端做接口测试

Knife4j对swagger进行增强封装

 {1}、

{2}、  这两个都是写在配置内里面的

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
@Bean
public Docket docket() {
log.info("准备生成接口文档");
ApiInfo apiInfo = new ApiInfoBuilder()
.title("苍穹外卖项目接口文档")
.version("2.0")
.description("苍穹外卖项目接口文档")
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
//3、
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("开始生成静态资源映射");
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
{4}swagger  常用注解 用于解释说明用处的和swagger上面的显示 让swagger接口文档有更好的可读性

 例:

 

 

二、CRUD

1、我们先把项目接口以json格式传到apifox里面  方便看文档写CRUD

以YApi的方式导入

 登录后可以看到的

 

2、新增员工

{1}  DTO为前端页面传过来的数据 而entity实体类里面的数据是完整的  DTO可能不完整(因为前端导入的数据不完整)

   最后传到service层

 

 {2}  首先传到service层    再到serviceImpl现实

  这里由于EmployeeDTO是个不完整的数据, 现在Employee传入mapper层 

 所以现在需要把EmployeeDTO数据复制到Employee里面,以及把Employee里的属性值补齐

    (1)MD5加密   DigestUtils.md5DigestAsHex

    (2)LocalDateTime.now() 当前时间

    (3)StatusConstant.ENABLE PasswordConstant.DEFAULT_PASSWORD 都为写好了的类,直接调用

    (4)最后传给mapper

 

{3} mapper层

因为sql内容简单,这里直接使用注解完成

 

{4} 功能测试 这里我们使用到接口进行测试

(1)首先需要设置全局参数,因为jwt令牌会检验   如果不进行jwt检验 则会报401错误

  参数名称:token   yml文件配置的

  参数值: 可以通过员工登录来获取token的值,来用于crud的jwt检验

  参数类型: hearder  

 

 

 

{5}完善代码 : username设置的是唯一的,当出现重复会报500

现将写入异常管理

MessageConstant.ACCOUNT_EXISTS_FOUND 为参数不存在

MessageConstant.UNKNOWN_ERROR为参数未知错误

String[] split1 = message.split(" ") 将空格做为分离   保存在数组中

 

{6} 完善代码2   将添加的 createUser updateUser动态的注入

这里就需要得到用户的id

这里我们就用到了 ThreadLocal

在jwt这里可以得到id

 ThreadLocal的三大类   set get remove

 JWT这里获取

 最后动态注入

 

3、分页查询

{1} 首先查看api文档

请求参数:name page pageSize  对应我们的EmployeeLoginDTO 类

响应: data: 为 PageResult 类里面的属性值

 

 {2} controller  现在我们已经知道了 请求参数和响应的数据内容

通过前端请求的EmployeeLoginDTO 来响应PageResult  调用service层

 {3} service 

1、这里通过插件 pagehelper进行分页查询

2、 employeeMapper.pagequery(employeePageQueryDTO)通过调用mapper执行sql语句来获取查询的数据

3、这里利用了插件 pagehelper 所有需要使用page来放回

3、 这里的page获取的查询的数据,通过page来得到PageResult里面属性的值

 

 

{4}mapper

1、这里通过执行sql语句来获取数据 ,放在page集合里面

2、concat是包含的意思

 

 

{5} 测试发现这里的时间格式不一致

1、直接在实体内加上@JsonFormat

 2、统一放在配置类中

 

标签:mapper,这里,接口,文档,外卖,swagger,苍穹,page
From: https://www.cnblogs.com/1468697304qq/p/17623780.html

相关文章

  • 构建高效外卖系统平台:从需求到实现
    随着科技的不断进步和人们生活节奏的加快,外卖成为了越来越多人的饮食选择。为了满足这一需求,开发一套高效的外卖系统平台变得尤为重要。本文将从需求分析开始,逐步引导您了解如何开发一套完整的外卖系统平台。第一步:需求分析在开始开发外卖系统平台之前,我们需要明确平台所需要具备的......
  • 外卖点餐源码|点餐小程序源码h5
     外卖点餐源码 外卖点餐系统是一种软件,可以让餐馆、咖啡店或酒吧在线接受订单。它通常允许顾客选择和支付食物,然后在订单发出时提醒厨房。这是在员工和客户之间没有联系的情况下发生的。网上订购系统是一个过程,人们可以通过使用互联网,坐在家里或任何地方,从当地的一些餐......
  • 快速部署外卖系统:利用现代工具简化开发流程
    在竞争激烈的外卖市场中,快速部署高效稳定的外卖系统是餐饮企业成功的关键之一。本文将介绍如何利用现代工具简化外卖系统的开发流程,并附带代码示例,帮助开发者快速搭建功能完备、用户友好的外卖平台。1.简介在外卖业务快速增长的背景下,开发者需要快速交付稳定的外卖系统,满足用户的......
  • 外卖多门店小程序开源版开发
    外卖多门店小程序开源版开发外卖多门店小程序开源版的开发可以按照以下步骤进行:确定需求:明确外卖多门店小程序的功能和特点,包括用户注册登录、浏览菜单、下单支付、订单管理等。技术选型:选择适合开发小程序的技术框架,如微信小程序原生开发、uni-app、taro等。数据库设计:设计合适的......
  • 瑞吉外卖管理系统
    reggie介绍这是一个简单的外卖管理系统,主要是curd,学习链接https://www.bilibili.com/video/BV13a411q753/软件架构vue+springboot+mybatisplus+redis+mysql操作演示前端登录输入手机号和验证码,完成登录,来到点菜页面。点菜页面中通过分类获取套餐和菜品(套餐中包含......
  • 苍穹外卖项目介绍
         ......
  • 基于安卓的校园外卖点餐系统
    本文主要概述了如何开发一个基于Android的校园外卖系统,使用者可以通过手机下载校园外卖系统,可以通过手机下单系统进行点餐,用户的功能有:点菜、我的订单、地址管理等功能,管理员功能有:菜品管理、类别管理、订单管理、餐厅管理、留言评论管理和用户管理。基于Android的校园外卖系统......
  • 推荐美团外卖优惠券微信小程序
     去微信公众平台注册自己的账号,打开微信开发者工具添加小程序-把解压的源码添加进去,appid改成自己小程序的演示地址:www.runruncode.com/wxapp/19477.html在pages/index/index.js文件搜流量主广告改成自己的广告ID,到微信公众平台登陆自己的小程序-开发管理-开发设置-服务器域......
  • 机制的外卖员问题动态规划
    publicstaticvoidmain(String[]args){//517Scannerscanner=newScanner(System.in);while(scanner.hasNext()){intcurrent=scanner.nextInt();inttarget=scanner.nextInt();int[]dp=ne......
  • 瑞吉外卖踩坑记录
    踩坑一p18在p18中的测试登录环节中,一直跳转到登录页面,控制台显示未登录解决方案:在controller层中把employee.getId()改为emp.getId()......