下单接口定义和编码步骤分析|学习笔记

简介: 快速学习下单接口定义和编码步骤分析

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)下单接口定义和编码步骤分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12410


下单接口定义和编码步骤分析


内容介绍:

一、接口定义

二、总结


一、接口定义

整个接口会定义到 shop-api 这个项目当中,在这里面去定义一个接口,叫做 IOrderService,

image.png

这个接口当中提供一个方法,而这个方法的业务非常简单,就是用来确认订单的(订单系统通过接口调用订单服务),然后编写一个 Result-comfirmOrder,它接收一个参数,这个参数是在外部层提交过来的订单对象,之后把这个订单对象传递过来,然后在这里边完成下单业务之后去给客户端做一个响应,在处理完之后返回一个结果,将这个结果封装到 result 当中,这就是分析的通用的响应的一个类。在服务层处理完业务之后,将这个处理的结果封装到 result 对象当中,这是整个一个下单的接口。

接下来到 order-service 当中去创建一个 order 一个实现类 OrderServicelmpl 去实现所定义的接口,在 return null 去完成整个业务。

整个业务分析要做六件事情,将来这个方法如果全部都写在一个方法当中,那么这个方法将来会变得非常庞大,所以在这个地方将每一个步骤都抽取成子方法,统一完成调用。基本上流程都是和时序图是一样的。

第一步是校验订单;

第二步是生成预订单;

第三步是扣减库存;

第四步是扣减优惠券;

第五步是使用余额;

第六步是确认订单;

把上里的整个代码结构进行分析,先去返回一个 null ,服务层接收到这个下单的请求之后首先校验订单,再进行一个生成预订单的操作,图下这几步正式扣减库存、扣减优惠券,再使用余额确认订单,要保证扣减库存、扣减优惠券、使用余额、确认订单返回成功状态这几步原则性,也就是说这几步如果要成功那么全部都成功,如果有一个失败整个的这几步全部都要回退,所以把是这几步放到一个 try case 里面去,如果这里面它出现了异常,那么程序进入 catch 里面,在 catch 里面完成失败补偿机制,在这里边发送消息,去返回一个当前确认订单失败的信息,整个代码的结构就是这样。

接下来要一步一步去实现,而关于整个下单的大体框架

第一步是确认订单失败,发送消息;

第二步是返回失败状态。


二、总结

Public interface IOrderService

/**

*确认订单

*@param order

*return Result

*/

Result confirmorder(TradeOrder order);

定义一个接口,这个接口当中需要去接收一个 order 对象,也就是客户端需要下单,把下单的 order 对象的需要去传递过来,那么在业务层整个步骤去完成下单的一个处理。

现在先去完成正常下单成功的,再去完成 catch。

相关文章
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
6月前
|
Java 程序员
JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)
JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)
40 0
|
算法 NoSQL API
微信支付-业务流程图+时序图梳理微信支付链路+封装对接微信API工具类
微信支付-业务流程图+时序图梳理微信支付链路+封装对接微信API工具类
541 0
|
JavaScript 测试技术 Go
(简易)测试数据构造平台:34 - 工具实际功能实现
(简易)测试数据构造平台:34 - 工具实际功能实现
|
存储 安全 算法
区块链游戏DAO模式开发步骤详情 |(源码demo实例分析)
区块链游戏的 DAO 模式开发是指利用 DAO 模式进行游戏开发和管理,其中 DAO 代表着“抵抗者”的意思。这种开发模式颠覆了传统游戏开发中的中心化管理方式,通过去除中介和减少不必要的成本来降低游戏开发的成本。
|
Oracle 关系型数据库
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
180 0
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
|
消息中间件 JSON 数据库
Rest 方式测试下单|学习笔记
快速学习 Rest 方式测试下单
Rest 方式测试下单|学习笔记
|
SQL 存储 Java
【JDBC实战】水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)万字长文
了解水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)。
190 0
【JDBC实战】水果库存系统 [功能实现](接口实现类FruitDAOImpl的功能实现)万字长文
|
JSON 前端开发 测试技术
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
573 0
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
|
缓存 前端开发 JavaScript
接口测试平台代码实现39:接口数据全部保存
接口测试平台代码实现39:接口数据全部保存
接口测试平台代码实现39:接口数据全部保存

热门文章

最新文章