MyCat - 订单模块 - 提交订单业务分析 | 学习笔记

简介: 快速学习 MyCat - 订单模块 - 提交订单业务分析

开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat - 订单模块 - 提交订单业务分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/758/detail/13318


MyCat - 订单模块 - 提交订单业务分析

前言:

由于下单的业务涉及到的模块较多所以并不去实现此模块。但是可以在这里去分析下单模块业务。

 

一、时序图

如图所示:

image.png

此图描述了下单流程,当用户在前端提交了订单它会将我们在页面上选择的信息通过请求会传递到订单微服务。

到达订单微服务后,订单微服务接收到页面传递过来的订单信息会去组装订单数据。

注意:订单微服务组装的信息有当前提交订单的数据有哪些、计算当前提交的订单涉及到的总数量总金额、补充当前的状态信息,比如评价的状态,支付的状态,发货的状态,订单的状态。

完成后就可以将订单信息以及订单明细信息直接插入到订单 MySQL 数据库当中,插入的信息既包含订单的信息、明细的信息还包含订单日志的信息也需要订单日志的信息插入到其数据库当中,插入到数据库之后,数据库会通过订单微服务调用商品微服务作用是减商品的库存。

用户提交了多少商品,多少件就需要减掉对应的商品库存,之后会给前端反映成功的结果。

 

二、创建 OrderController

image.png

生成注解 RestController 和 RequestMapping("/order")。

public class ordercontroller{

声明方法并提交订单数据 Tborder。

public Result add(Tborder order){

添加注解 PostMapping。

public Result add Tborder order){

由于页面提交过来的数据都是 Json 格式所以需要加一个注解 RequestBody。

public Result add(RequestBody Tborder order){

为了让此程序不报错,添加 return new Result(flag:true,Statuscode.ok,message:“提交成功“结果。

1、编写 service 接口

生成接口 orderservice。如图:

image.png

在此接口声明方法提交订单的方法并用返回代码 void。

2、编写 service 实现类

新建实现类 OrderServicelmpl。如图:

image.png

并且在此实现类当中实现 orderService 接口,并加 Service 注解。

public class OrderServiceImpl implements OrderService{)

在 orderService 接口中声明 add 方法。

public void add(Tborder order){

//1获取购物车中的商品数据信息

//2统计计算(计算总商品的数量、总金额)

//3组装订单数据信息并保存订单、

//4组装订单明细信息并保存对应的订单明细、

//5保存订单日志信息、

//6调用商品微服务扣减库存(给用户增加优惠积分)、

//7删除商品购物车中商品数据。

之后在 Controller 中注入 orderService 并注解 Autowired。

private OrderService orderService;

之后在 Controller 中调用 orderService 并调用方法 add(order)。

public Result add(RequestBody Tborder order){

orderservice. add (order);

相关文章
|
10月前
|
存储 负载均衡 监控
硬件负载均衡设备的常见故障有哪些?
硬件负载均衡设备的常见故障有哪些?
759 142
|
10月前
|
数据采集 自然语言处理 DataWorks
阿里云DataWorks接入DeepSeek大模型
2025年2月18日,阿里云DataWorks正式接入DeepSeek-R1(671B)与DeepSeek-R1-Distill-Qwen-32B大模型。此举显著提升平台的数据处理、分析和治理能力,简化数据开发流程,并支持智能数据查询、自动化报告生成等应用场景,推动企业级数据治理智能化进程,助力企业实现数据驱动的创新发展。
649 11
|
10月前
|
人工智能 架构师 云栖大会
2024云栖大会 | 产品生态伙伴专场论坛暨产品生态伙伴颁奖典礼
2024云栖大会 | 产品生态伙伴专场论坛暨产品生态伙伴颁奖典礼
|
机器学习/深度学习 人工智能 负载均衡
利用AI智能分析代理IP流量:提升网站性能的新策略
在数字时代,网站性能至关重要。代理IP技术广泛应用于突破地域限制、保护隐私和优化访问速度,但也带来了服务器负担加重和安全风险。AI智能分析代理IP流量成为有效策略,通过精准识别、动态调整和预测分析,提升网站性能和安全性。案例显示,某电商平台通过AI智能分析成功提升了访问速度和安全性,用户满意度显著提高。未来,AI技术将进一步优化代理IP应用,助力网站发展。
362 5
|
物联网 vr&ar Android开发
移动应用与系统:探索现代移动技术的发展趋势####
【10月更文挑战第29天】 本文深入探讨了移动应用开发和移动操作系统的最新趋势,分析了它们对日常生活和行业的影响。随着智能手机的普及和技术的进步,移动应用和操作系统不断进化,以满足用户的需求和期望。文章将通过具体案例和数据分析,揭示这一领域的创新点和未来发展方向。 ####
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
消息中间件 开发者
【RabbitMQ深度解析】Topic交换器与模式匹配:掌握消息路由的艺术!
【8月更文挑战第24天】在消息队列(MQ)体系中,交换器作为核心组件之一负责消息路由。特别是`topic`类型的交换器,它通过模式匹配实现消息的精准分发,适用于发布-订阅模式。不同于直接交换器和扇形交换器,`topic`交换器支持更复杂的路由策略,通过带有通配符(如 * 和 #)的模式字符串来定义队列与交换器间的绑定关系。
395 2
|
消息中间件 存储 Kafka
面试题:Kafka如何保证高可用?有图有真相
面试题:Kafka如何保证高可用?有图有真相
371 0
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)