订单模块之确认收货 | 学习笔记

简介: 快速学习订单模块之确认收货

开发者学堂课程【Java Web项目实战2:图书商城订单模块之确认收货】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/35/detail/788


订单模块之确认收货


内容简介:

一、流程

二、开发路径

 

一、流程

/jsps/order/list.jsp

金额:138.8 确认收货 oid


OrderServlet#confirm)

1.获取 oid 参数 oid

2.使用 oid 调用 service

>有异常:保存异常信息,转发到 msg.jsp、 OrderExeeuon

>没异常:保存成功信息,转发到 msg.jsp


OrderService#confirm(String oid)

  • oid 查询订单状态
  • 判断状态是否等于 3 ,如果不是抛出异常
  • 调用 dao 修改订单状态方法,完成修改操作


OrderDao

1.getStateByOid(String oid)

2. updateState(String oid, int state)


订单确认失败,你不是好人!

msg.jsp 显示信息,则

确认成功,交易完成

image.png


二、开发路径

package cn.itcast.bookstore.order.service;

public class OrderException extends Exception

public OrderException()

super();

// TODO Auto-generated constructor stub

public OrderException(String message)

super (message) ;

// TODO Auto-generated constructor stub

 


确认收货

@param request

@param response

@xeturn

throws ServletException

@throws IOException

public Stringconfirm

(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException(

1. 获取oid参数

2.调用service方法

>如果有异常,保存异常信息,转发到mag.jap

3.保存成功信息,转发到msg.jap

String oid = request.getParameter("oid");

orderService.confirm(oid)

确认收货

@param oid

throws OrderException

public void confirm(String oid) throws OrderException (

/+

1.校验订单状态,如果不是3,抛出异常

+/

int state = orderDao.getStateByoid(oid)://获取订单状态

if(state 1= 3)throw new orderException(”订单确认失败,您不是什么好东西!”);

2.修改订单状态为4,表示交易成功

orderDao.updateState(oid, 4)

 

相关文章
|
SQL 缓存 Java
Mybatis-plus缓存机制
MyBatis-Plus(简称MP)是一个基于MyBatis的增强工具,提供了更便捷的CRUD操作和其他功能。与MyBatis相比,MyBatis-Plus并没有引入自己的缓存机制,而是直接使用了MyBatis的缓存机制。 在MyBatis中,缓存分为一级缓存和二级缓存。 1. 一级缓存:一级缓存是SqlSession级别的缓存,它默认是开启的。当查询操作执行时,查询的结果会被缓存在SqlSession的内部数据结构中。如果后续再次执行相同的查询,MyBatis会先检查一级缓存中是否存在结果,如果存在则直接返回缓存的结果,而不会再次执行SQL语句。一级缓存的生命周期与SqlSession相同,
1382 0
|
10月前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
199 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
Kubernetes 负载均衡 网络协议
在k8S中,Headless Service是什么?
在k8S中,Headless Service是什么?
|
存储 数据库 Android开发
安卓Jetpack Compose+Kotlin,支持从本地添加音频文件到播放列表,支持删除,使用ExoPlayer播放音乐
为了在UI界面添加用于添加和删除本地音乐文件的按钮,以及相关的播放功能,你需要实现以下几个步骤: 1. **集成用户选择本地音乐**:允许用户从设备中选择音乐文件。 2. **创建UI按钮**:在界面中创建添加和删除按钮。 3. **数据库功能**:使用Room数据库来存储音频文件信息。 4. **更新ViewModel**:处理添加、删除和播放音频文件的逻辑。 5. **UI实现**:在UI层支持添加、删除音乐以及播放功能。
|
存储 缓存 定位技术
ArcGIS Pro栅格数据批量预处理工具
ArcGIS Pro栅格数据批量预处理工具
1735 0
|
人工智能 算法 BI
一篇带你速通差分算法(C/C++)
一篇带你速通差分算法(C/C++)
IDEA 自定义注解(类注释、方法注释)
IDEA 自定义注解(类注释、方法注释)
6072 1
IDEA 自定义注解(类注释、方法注释)
|
敏捷开发 监控 测试技术
软件架构的艺术:探索演化之路上的18大黄金原则
实际工作表明,一步到位的设计往往不切实际,而演化原则指导我们逐步优化架构,以灵活响应业务和技术的变化。这不仅降低了技术债务和重构风险,还确保了软件的稳定性和可扩展性。同时,架构的持续演进促进了团队协作,激发了成员间的知识共享与技能提升。
250 0
软件架构的艺术:探索演化之路上的18大黄金原则
|
JSON 小程序 前端开发
史上最详细微信小程序授权登录与后端SprIngBoot交互操作说明!!!附源代码
史上最详细微信小程序授权登录与后端SprIngBoot交互操作说明!!!附源代码
3609 2
|
Web App开发 移动开发 小程序
支付宝新一代动态化技术架构与选型综述 | Cube 技术解读
支付宝新一代动态化技术架构与选型综述 | Cube 技术解读
494 0