SpringCloud项目笔记(外卖订餐系统)

项⽬需求

客户端:针对普通⽤户,⽤户登录、⽤户退出、菜品订购、我的订单。
后台管理系统:针对管理员,管理员登录、管理员退出、添加菜品、查询菜品、修改菜品、删除菜品、
订单处理、添加⽤户、查询⽤户、删除⽤户。
在这里插入图片描述
客户端:针对普通用户,用户登录、用户退出、菜品订购、我的订单。

后台管理系统:针对管理员,管理员登录、管理员退出、添加菜品、查询菜品、修改菜品、删除菜品、订单处理、添加用户、查询用户、删除用户。

account 提供账户服务:用户和管理的登录退出。

menu 提供菜品服务:添加菜品、删除菜品、修改菜品、查询菜品。

order 提供订单服务:添加订单、查询订单、删除订单、处理订单。

user 提供用户服务:添加用户、查询用户、删除用户。

分离出一个服务消费者,调用以上四个服务提供者,服务消费者包含了客户端的前端页面和后台接口、后台管理系统的前端页面和后台接口。用户 / 管理员直接访问的资源都保存在服务消费者中,服务消费者根据具体的需求调用四个服务提供者的业务逻辑,通过 Feign 实现负载均衡。

四个服务提供者和一个服务消费者都需要在注册中心进行注册,同时可以使用配置中心来对配置文件进行统一集中管理。

Class 1:微服务环境搭建

  • 编写pom文件
  • 创建eurekaserver(注册中心)模块
  • 创建configserver
  • 创建服务提供者order
    在这里插入图片描述

启动报错在这里插入图片描述
解决:

<!--新版本的Spring Cloud对熔断器Hystrix有要求,Eureka中必须添加对Hystrix的依赖才可以。-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

Class 2:创建服务提供者menu

编写mapper、xml

Class 3服务消费者整合menu(上、下)

1、写了findAll接口,因为layui的要求,返回MenuVo
2、在menuVO里面给count属性查询赋值
3、menu的findAll接口整合type,在mapper.xml中加入association标签

  • 使用了th标签,必须要走后台;
  • 因为layui框架要求返回的数据格式有规定,所以创建MenuVo,并代替Menu返回(在menu服务中修改)

Class 4服务消费者整合feign(上、下)

注意点
1、服务提供者接收数据要使用@RequestBody(在menu的save接口体现)
2、数据库有空字段时,前端页面的下一页功能无法实现

  • menu添加删除功能、添加功能(先findAllTypes)
  • menu添加编辑功能(查findMenuById时,要将resultType改成resultMap)

Class 5 创建、整和服务提供者user

创建user模块,编写接口,写feign,返回UserVo

Class 6 服务消费者整合account

  • 创建account模块,使用多态返回登录功能
  • client整合account模块,创建feign和handler
  • client的登录接口(出现两个异常)
因为object是LinkedHashMap类型
java.util.LinkedHashMap cannot be cast to com.jl.entity.Admin

java.lang.Integer cannot be cast to java.lang.Long
  • 获取session必须走转发,jsp底层就是servlet,必须走后台,html直接访问是没有后台的,必须走后台才能访问
  • 退出登录

Class 7 Order(订单服务)

  • 创建order模块
  • 创建Order实体类,需要Admin、Menu、User、type
  • 完成order配置文件,完成订阅的功能
  • client整合order,完成点击名称,显示订单列表功能(需要MenuRepository和UserRepository的支持)
  • 在这里插入图片描述

Class 8 后台管理系统

  • 添加过滤器
  • 退出功能
  • 处理订单(增加findAllByState功能和updateState功能)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值