本文参考传智播客巴巴运动网
在后台修改订单的时候为了防止两个以上的工作人员同时修改订单,需要对订单进行锁定。
锁定的具体方法如下:
public Order getLockOrder(String orderid, String employee){
em.createQuery("update Order o set o.employee=?1 where o.orderid=?2 and o.employee is null")
.setParameter(1, employee).setParameter(2, orderid).executeUpdate();
em.flush();//让数据库马上提交
return this.find(orderid);
}
在订单表(Order)中,有一个Employee属性,我们只需要更新一下这个属性,就可以锁定订单,如果该属性不为null,则说明已经有人锁定了这个订单,我们不能更新该属性,只能等待该订单解锁以后再去更新。
每当工作人员试图打开订单时都会进行如下操作:
/**
* 订单信息查看
*/
@Controller("/control/order/view")
public class OrderViewAction extends Action {
@Resource OrderService orderService;
@Override @Permission(model="order",privilegeValue="view")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
OrderForm formbean = (OrderForm) form;
String username = WebUtil.getEmployee(request).getUsername();
Order order = orderService.getLockOrder(formbean.getOrderid(), username);
if(!order.getEmployee().equals(username)){
request.setAttribute("message", "该订单已被"+ order.getEmployee() + "锁定");
request.setAttribute("urladdress", SiteUrl.readUrl("control.order.list"));
return mapping.findForward("message");
}
request.setAttribute("order", order);
return mapping.findForward("order");
}
}
if语句判断如果Order的Employee和username相同的话则可以继续,否则显示订单已经被锁定。
订单解锁的方法:
public void unLock(String orderid){
em.createQuery("update Order o set o.employee=?1 where o.orderid=?2")
.setParameter(1, null).setParameter(2, orderid).executeUpdate();
}
只需要将对应的order的employee设置为null就行了。
分享到:
相关推荐
根据提供的文件信息,我们可以推断出这是一套关于“新巴巴运动网”项目的视频教程及相关源码资料。接下来,我们将围绕这个项目的背景、教程内容、技术栈等方面进行深入解析。 ### 项目背景 “新巴巴运动网”项目...
【巴巴运动网原码】指的是巴巴运动网的源代码,它是构建巴巴运动网这一在线平台的基础。源码是程序员用编程语言编写的未被编译的原始代码,它揭示了网站的功能实现细节、数据处理逻辑以及用户交互方式。了解并研究...
巴巴运动网源码和jar文件,完整的源码和用到的jar文件。工程配置后可直接运行。。。
1. **框架结构**:首先,我们需要了解巴巴运动网 lib3 的整体框架,包括其模块划分、文件组织和依赖关系。这有助于我们快速定位代码功能,便于后续的开发和维护。 2. **编程语言**:根据项目名称,我们可以推测项目...
5. AJAX(Asynchronous JavaScript and XML):为了提供无刷新的用户体验,巴巴运动网可能使用了AJAX技术来异步加载数据,比如在用户滚动时加载更多内容,或者在不刷新页面的情况下更新信息。 6. SEO优化:前端代码...
巴巴运动网的源代码设计涵盖了电子商务网站的关键模块,包括但不限于前端用户界面、后台管理、商品展示、购物车、订单处理、用户注册与登录等。 1. **前端用户界面**:前端部分是用户与网站交互的窗口,源代码可能...
在"巴巴运动网 lib1"的案例中,这个库可能包含了特定的运动相关功能的实现,比如体育赛事管理、运动员信息处理等。 要使用这个jar包,开发者需要将其添加到他们的项目构建路径中。对于Maven项目,可以在pom.xml文件...
【巴巴运动网源码(传智播客)】是一套基于Java编程语言开发的网站源码,主要用于构建体育运动类的在线服务平台。这套源码在IT教育领域,特别是由传智播客这样的知名教育机构中被用作教学案例,帮助学员理解和实践...
总结来说,"新巴巴运动网page包"是传智播客新巴巴运动网项目的一个关键组件,提供了分页功能的实现,通过Maven本地仓库的管理,简化了项目的依赖管理和开发流程。对于学习者来说,这是一个了解和实践Java Web开发...
传智巴巴运动网源代码 传智播客巴巴运动网项目实战 基于分布式构架的大型商品交易平台,系统围绕一个业务中心的思想,实现了多种类型的客户端应用,如:基于浏览器的web交易系统,基于手机的wap交易系统,用于内部...
"巴巴运动网完整源代码"是一个包含网站源代码的压缩包,主要针对的是体育类网站的开发和构建。源代码是编程术语,指的是程序的原始形式,由人类可读的编程语言编写,它包含了实现特定功能的所有指令。在这个压缩包中...
新巴巴运动网数据库和开发文档资源的提供,对于想要了解或进行该项目开发的人员来说,是一份非常宝贵的学习和参考资料。这份2016年的最新版本包含了一系列关键元素,可以帮助开发者更好地理解系统的架构和功能。 ...
巴巴运动网商品交易系统是一套面向大型企业开发的商品交易系统,具备先进的电子商务运营及管理理念。订单流转实现多部门协同处理,满足大型企业多部门协作处理业务的需求。系统包含以下模块: 产品管理:产品具有...
在本课程"07_传智播客巴巴运动网_用户管理模块分析"中,我们将深入探讨用户管理系统的核心概念和实现细节,特别是针对基于JSP技术的Web应用。用户管理模块是任何在线服务系统的基础,它负责处理用户的注册、登录、...
### 新巴巴运动网项目知识点概览 #### 一、项目背景与概述 - **电子商务概念:** 电子商务是指通过互联网来进行买卖交易和服务的一种商务模式。它涵盖了从交易前的市场调研、广告宣传,到交易过程中的订单处理、...
【标题】"传智播客巴巴运动网源码及在线支付源码"涉及的主要知识点是JavaWeb开发和在线支付系统的实现。这个资源包含了两个部分,一个是"传智播客--网上支付源码.rar",另一个是"巴巴运动网源码.zip"。下面将对这两...
从文件名称"shop9"来看,这可能是巴巴运动网的一个子模块或者版本迭代,可能包含了购物车、订单管理、商品分类等与电商紧密相关的功能。通过分析和学习这个源码,开发者可以深入理解大型Web应用的架构设计,学习如何...
黎活明老师巴巴运动网velocity_ppt文档