class OrderView(APIView):
def post(self, request):
uid = request.user.id
car_list = request.data.get('id_list')
print(car_list)
print(uid)
# 查询商品信息
car_obj = Car.objects.filter(id__in=car_list)
total_money = 0
try:
with transaction.atomic():
# 添加订单
uuid_str = str(uuid.uuid4())
order_obj = carmodel.Orders.objects.create(order_id=uuid_str, user_id=uid)
# 添加订单详情
for i in car_obj:
order_detail_obj = goodsmodel.GoodDeatil.objects.create(
goods=i.goods, orders=order_obj, number=i.number, title=i.title, price=i.price
)
total_money += i.price * i.number
order_obj.total_amount = total_money
order_obj.save()
# 删除购物车
car_obj.delete()
return Response({"code": 200, "msg": "订单添加成功"})
except Exception as e:
print(e)
return Response({"code": 500, "msg": "订单添加失败"})
相关推荐
汽车Obj模型在虚拟环境路径漫游中的应用
Obj模型格式是一种广泛使用的3D模型文件格式,最初由Wavefront Technologies开发。它以其简单性和兼容性被设计为一种标准,可以跨平台和软件使用。由于其文本格式的特性,Obj格式允许用户容易地手动编辑,这在3D建模领域特别有用。渲染是将3D模型转换成2D图像的过程,其本质是模拟光线与物体之间的相互作用。这个过程通常由渲染引擎来完成,渲染引擎会考虑模型的几何形状、材质、光源以及观察者的视角,计算出最终图像中的每个像素颜色和亮度。
ssm系列实战(5)——实现购物车功能,事务实现提交订单
本篇为实战系列第五篇,用session实现购物车功能 什么是Session: 使用Cookie和附加URL参数都可以将上一次请求的状态信息传递到下一次请求中,但是如果传递的状态信息较多,将极大降低网络传输效率和增大服务器端程序处理的难度。 Session技术是一种将会话状态保存在服务器端的技术 ,它可以比喻成是医院发放给病人的病历卡和医院为每个病人保留的病历档案的结合方式 。 客户端...
carModel.zip 汽车模型 obj格式
carModel.zip 汽车模型 obj格式 carModel.zip 汽车模型 obj格式
电商中订单使用事务
在一个电子商务系统中,正常的应该是订单生成成功后,相应的库存进行减少必须要保证两者的一致性,但有时候因为某些原因,比如程序逻辑问题,并发等问题,导致下单成功而库存没有减少的情况。这种情况我们是不允许发生的,MySQL的中的事务刚好可以解决这一问题,首先得选择数据库的存储引擎为InnoDB的,事务规定了只有下订单完成了,并且相应的库存减少了才允许提交事务,否则就事务回滚,确保数据一致性。...
linux操作系统使用以太网连接ubuntu,设置固定ipv4
首先,您需要确定要配置的网络接口。可以使用ifconfig -a或ip addr命令来列出当前系统上的所有网络接口及其相关信息。找到您要配置的网络接口名称,例如eth0、ens33或enp0s3;保存并关闭文件后,您需要重启网络服务以使更改生效。在linux操作系统中,要使用交换机连接以太网可以直接使用交互界面;如果你的操作系统没有交互界面,你可以使用命令方式配置;点击ipv4,方式为手动,可以设置ip和子网了;开头,后接网络接口名称。第三步:点击有线最右边圆形控件;第二步:点击有线设置;
【ELF2学习板】基于OpenMP与RK3588多核架构优化FFTW的并行计算效率
本文详细介绍了如何在ELF2学习板上利用OpenMP与RK3588多核架构优化FFTW的并行计算效率。通过编译支持OpenMP的FFTW库、合理设置线程绑定与调度策略,以及内存访问优化等技巧,显著提升了FFT计算的性能。实测数据显示,多核并行优化可使4096点FFT计算速度提升一倍以上,特别适合信号处理、图像分析等高性能计算场景。
【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)
涉及订单的生成、并发处理、支付、评论等 关键:MySQL事务、并发处理的悲观锁/乐观锁、支付宝支付SDK的使用...... 仅作为个人笔记!
从门禁到支付:Uniapp+NFC开发避坑指南(支持Mifare Classic)
本文详细介绍了Uniapp结合NFC技术开发门禁与支付系统的实战指南,特别针对Mifare Classic卡片进行深度优化。内容涵盖环境配置、设备兼容性处理、卡片安全机制解析以及高性能读写优化策略,帮助开发者快速实现跨平台的智能硬件交互解决方案。
实战应用:基于快马平台生成支持事务的电商订单数据库模块
这个模块的核心在于,当用户下单时,系统必须像一位严谨的财务官,确保“扣减库存”和“生成订单”这两个动作要么同时成功,要么同时失败,绝不能出现库存扣了但订单没生成,或者订单生成了但库存没变的尴尬局面。我只需要在网页上描述清楚我的需求——比如“用Spring Boot实现一个包含事务的订单创建接口”——它就能帮我生成一个结构清晰的项目骨架和核心代码片段,省去了从零搭建项目、配置依赖的繁琐步骤。当然,真实的电商系统还会涉及更复杂的分库分表、读写分离、缓存策略等,但这个模块无疑为后续的扩展打下了坚实的基础。
Creo报错代码-9?手把手教你重新生成许可证文件(基于Creo 10.0)
本文详细解析Creo报错代码-9的成因及解决方案,重点介绍如何重新生成许可证文件以应对网络环境变化导致的验证失败。通过分步指南和高级技巧,帮助用户有效管理多网络环境下的Creo许可证问题,提升工作效率。
AI之KE:Knowledge Engineering知识工程的简介、发展、应用案例之详细攻略
AI之KE:Knowledge Engineering知识工程的简介、发展、应用案例之详细攻略 目录 Knowledge Engineering知识工程的简介 0.1、What 0.2、How 0.3、Why 1、知识工程过程的5个活动 2、知识图谱的应用 Knowledge Engineering知识工程的发展 1、前知识工程时期——1950-1970时期:图...
SSM商城项目实战:订单管理
在SSM商城项目中,订单管理是一个非常重要的功能模块。本文将详细介绍订单管理的实现思路和步骤代码。
拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...
拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...
php 订单取消,php如何实现取消订单?
php实现取消订单的方法:首先【order_status】为1时代表客户下单确定;然后为2时代表客户已付款;最后为0时代表订单已取消,运用swoole的异步毫秒定时器。php实现取消订单的方法:一、业务场景:当客户下单在指定的时间内如果没有付款,那我们需要将这笔订单取消掉,比如好的处理方法是运用延时取消,这里我们用到了swoole,运用swoole的异步毫秒定时器不会影响到当前程序的运行。二、说明...
【K210+STM32项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(更新3.0版本)(完整工程资料源码)
STM32F407STM32F407_2(含有app功能)
Android性能分析深度指南:Perfetto工具全面解析
本文深入探讨Android性能优化工具Perfetto的应用与实践。作为Google推出的新一代追踪系统,Perfetto整合了CPU调度、内存分配、电池状态等多维度分析功能,通过高性能数据处理和可视化界面帮助开发者定位性能瓶颈。文章系统介绍了Perfetto的架构原理、配置方法和核心功能,包括CPU性能分析、内存泄漏检测等关键技术。通过电商应用卡顿优化的实战案例,展示了如何利用数学建模(如帧时间公式$T_{\text{render}}\leq16.67\text{ms}$)指导性能调优。
SAP NACE V1 销售订单打印配置
SAP NACE V1 销售订单打印配置
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Django实战(18):提交订单
前面的内容已经基本上涵盖了Django开发的主要方面,我们从需求和界面设计出发,创建模型和修改模型,并通过scaffold作为开发的起点;在scaffold的基础上重新定制模板,并且通过Model类和Form类对用户输入的数据进行校验。我们也涉及到了单元测试。为了提高开发用户界面的效率,更好地实现模板,我们还讨论了对静态资源(css,js,image等)的管理,并通过模板继承的方式实现了整个站点的...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
17 SAP集成测试-成品销售业务主线-采购订单审批(MM模块-ME29N采购订单审批)
实际项目实施过程中,蓝图汇报完毕后,各个模块都完成了后台配置和对应的接口和功能开发,在上线前一个阶段,就需要进行集中的多模块测试,项目上称为集成测试,用于模拟上线后的实际业务操作,集成测试的目的就是为了验证蓝图定义的业务流程和当前的系统功能是否衔接和匹配上。公司代码:1088 BOTECK-CN Shanghai CNY工厂代码:1087 BOTECK CN Super Factory1。
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
新蜂商城订单系统深度剖析:从创建到支付的完整生命周期
新蜂商城是一个前后端分离的开源电商项目,其订单系统作为核心模块,涵盖了从购物车到支付完成的全流程管理。本文将详细解析新蜂商城订单系统的实现机制,帮助开发者快速掌握电商订单的设计思路与最佳实践。 ## 订单系统核心功能模块 新蜂商城订单系统的核心业务逻辑集中在 `src/main/java/ltd/newbee/mall/service/impl/NewBeeMallOrderServiceIm
Springboot+RocketMQ通过事务消息优雅的实现订单支付功能
RocketMQ Springboot
订单功能模块设计与实现
在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到购物车结算,然后显示购物车的商品列表,点击去结算,然后到了未提交前的订单列表, 点击提交订单后,生成此订单,返回订单的订单号,付款金额,订单预计到达时间。订单系统是一个非常重要的系统,我们的移动端、PC端都需要订单系统,所以这里我们将订单系统单独作为一个服务来,留出接口供客户单来调用 今天我们来看下这个订单系统到底...
谷粒商城13——订单模块完成、分布式事务应用、RabbitMQ、Seata、电商项目订单场景的分析完善
谷粒商城13——订单模块完成、分布式事务应用、RabbitMQ、Seata、电商项目订单场景的分析完善
Java电商平台之订单功能和支付功能实现
下单支付流程 1.选择商品添加至购物车。 2.点击支付,创建订单。 3.将订单写入数据库。 4.同时扣减库存,将订单数据同时同步到redis,并且设置过期时间。 5.取消订单(超时未支付),退回商品库存。 6.定时清理未支付异常订单,退回商品库存。 订单中遇到的问题: 1.重复下单,恶习重复下单, 2.如何安全扣减库存,不超卖不少卖 redis队列采用fifo先进先出算法实现。 ...
完整电商项目--(八)商品订单模块(1):订单结算与 mysql事务
文章目录订单结算页面重点:提交订单创建订单数据表注意事项:订单表介绍提交订单数据: 订单结算页面 位置:在购物车中选择好商品之后,就 可以点击 去结算按钮,进入到这个结算页面 这里最关键的一点是: 涉及到金钱的交易,要保证数据的准确性! 我们不能相信前端 传递过来的 商品价格信息,而是应该自己根据redis当中勾选的商品id,进行计算价格。 其他的并没有什么好说的,前端需要的数据从后端传递过去即可 (1)用户地址信息 (2)支付方式选择 支付方式,我们 直接选择是0,1就可以代表那种支
713



被折叠的 条评论
为什么被折叠?



