下单基本流程小结|学习笔记

简介: 快速学习下单基本流程小结

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)下单基本流程小结】学习笔记,与课程紧密联系,让用户快速学习知识。

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


下单基本流程小结


1、确认订单就是将之前所完成的预订单的状态更新为可见本质上是更新的操作

//6.确认订单

updateOrderStatus (order);

//确认更新状态设置支付状态设置日期

private void updateOrderStatus (TradeOrder order) {order. setOrderStatus (ShopCode . SHOP_ORDER_CONFIRM. getCode());order . setPayStatus (ShopCode . SHOP_ORDER_PAY_ STATUS_ NO_ PAY. getCode());

order . setConfirmTime(new Date());

int r = orderMapper . updateByPrimaryKey(order);

//返回值小于0,代表有问题订单确认失败

if(r<=0){

CastException.cast(ShopCode.SHOP_ ORDER_ CONFIRM_ FAIL);

}

//如果没问题代表订单完成

log. info("订单:"+order . get0rderId()+" 确认订单成功");

}

2、//7.返回成功状态

Return new Result(ShopCode.

SHOP_SUCCESS.getSuccess(), ShopCode . SHOP_ SUCCESS.

getMessage());

3、@Override

public Result confirmOrder(TradeOrder order) {

//1.校验订单

checkOrder(order);

//2.生成预订单

Long orderId = savePreOrder(order);

try {

//3.扣减库存

reduceGoodsNum( order);

//4.扣减优惠券

updateCouponStatus( order);

//5.使用余额

reduceMoneyPaid(order);

//6.确认订单

updateOrderStatus ( order);

//7.返回成功状态return new Result(ShopCode.SHOP_SUCCESS.getSuccess(),

ShopCode . SHOP_ SUCCESS. getMessage());

} catch (Exception e) {

相关文章
|
消息中间件 存储 监控
【最佳实践】Beats导入RabbitMQ日志至阿里云Elatic Stack实现可视化分析
RabbitMQ是一个开放源消息代理,创建于2007年以实现 AMQP,并且在过去的十二年中,不断增加插件列表,目前已包括 HTTP,STOMP,SMTP 和其他协议。它也是 Kafka 的一个强劲的竞争者。
2060 0
【最佳实践】Beats导入RabbitMQ日志至阿里云Elatic Stack实现可视化分析
|
12月前
|
机器学习/深度学习 人工智能 计算机视觉
字节豆包大模型团队突破残差连接局限!预训练收敛最快加速80%
字节跳动豆包大模型团队提出“超连接”创新方法,突破残差连接局限,引入可学习的深度和宽度连接,动态调整网络层间连接强度。该方法在大型语言模型预训练中实现最快收敛速度,加速80%,并在图像生成、分类等任务中表现出色,显著提升准确率和稳定性。论文链接:https://arxiv.org/pdf/2409.19606
288 5
|
11月前
|
机器学习/深度学习 人工智能 缓存
《AI赋能鸿蒙Next:元宇宙数据智能分类与检索的破局之道》
在鸿蒙Next元宇宙中,数据如星辰繁多。通过自然语言处理、计算机视觉、深度学习等AI技术,实现文本、图像、视频的智能分类与检索。融合多模态数据处理,构建智能缓存与索引机制,提升用户体验,推动元宇宙生态发展。
300 25
|
Oracle 关系型数据库 MySQL
OceanBase 与传统数据库的对比
【8月更文第31天】随着云计算和大数据技术的发展,分布式数据库因其高扩展性、高可用性和高性能而逐渐成为企业和开发者关注的焦点。在众多分布式数据库解决方案中,OceanBase作为一个由阿里巴巴集团自主研发的分布式数据库系统,以其独特的架构设计和卓越的性能表现脱颖而出。本文将深入探讨OceanBase与其他常见关系型数据库管理系统(如MySQL、Oracle)之间的关键差异,并通过具体的代码示例来展示这些差异。
1441 1
|
安全
2023 年河南省高等职业教育技能大赛信息安全管理与评估赛项竞赛规程方案
2023 年河南省高等职业教育技能大赛信息安全管理与评估赛项竞赛规程方案
|
XML JSON 缓存
深入理解RESTful API设计原则与实践
在现代软件开发中,构建高效、可扩展的应用程序接口(API)是至关重要的。本文旨在探讨RESTful API的核心设计理念,包括其基于HTTP协议的特性,以及如何在实际应用中遵循这些原则来优化API设计。我们将通过具体示例和最佳实践,展示如何创建易于理解、维护且性能优良的RESTful服务,从而提升前后端分离架构下的开发效率和用户体验。
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
248 1
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
存储 人工智能 机器人
基于AI人工智能大模型下的物流运输业务场景搭建
党的二十大报告深刻阐述了我国物流运输发展事业上所获得的整体成绩,并对今后一段时期内对大数据背景下物流运输新事业,新管理,新运营进行了深度分析,研究。提出运用先进技术,智能化设备及高端产品等新型手段提高企业的高质量发展构想。为努力打造新型智慧物流,开启智能化物流打开了新的局面。 引言 随着科技的不断发展,设备的不断更新,智能化技术的不断涌现,低代码技术,人工智能AI技术等新型智能化应用逐步成为行业应用的主流模式,大数据背景下,阿里云,冀之云,宝之云等“云”技术服务平台成为了行业自动化办公应用中不可或缺的一部分,本文以人工智能AI技术在物流业行业发展中的设计与应用为例,作简要说明。