`
whoosh
  • 浏览: 233808 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

巴巴运动网订单模块的锁定管理

阅读更多

本文参考传智播客巴巴运动网

 

在后台修改订单的时候为了防止两个以上的工作人员同时修改订单,需要对订单进行锁定。

锁定的具体方法如下:

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就行了。

分享到:
评论

相关推荐

    百度云 2016年版新巴巴运动网项目12天完整视频教程以及源码

    根据提供的文件信息,我们可以推断出这是一套关于“新巴巴运动网”项目的视频教程及相关源码资料。接下来,我们将围绕这个项目的背景、教程内容、技术栈等方面进行深入解析。 ### 项目背景 “新巴巴运动网”项目...

    巴巴运动网原码

    【巴巴运动网原码】指的是巴巴运动网的源代码,它是构建巴巴运动网这一在线平台的基础。源码是程序员用编程语言编写的未被编译的原始代码,它揭示了网站的功能实现细节、数据处理逻辑以及用户交互方式。了解并研究...

    巴巴运动网源码和jar文件

    巴巴运动网源码和jar文件,完整的源码和用到的jar文件。工程配置后可直接运行。。。

    巴巴运动网 lib3

    1. **框架结构**:首先,我们需要了解巴巴运动网 lib3 的整体框架,包括其模块划分、文件组织和依赖关系。这有助于我们快速定位代码功能,便于后续的开发和维护。 2. **编程语言**:根据项目名称,我们可以推测项目...

    巴巴运动网源码巴巴运动网源码

    【巴巴运动网源码】是一个基于Java开发的分布式系统,其设计和实现充分展示了现代互联网应用的高效能和可扩展性。在当前的数字化时代,此类源码对于开发者来说是一份宝贵的参考资料,可以帮助他们理解大型网站的架构...

    巴巴运动网 部分 前端代码

    5. AJAX(Asynchronous JavaScript and XML):为了提供无刷新的用户体验,巴巴运动网可能使用了AJAX技术来异步加载数据,比如在用户滚动时加载更多内容,或者在不刷新页面的情况下更新信息。 6. SEO优化:前端代码...

    巴巴运动网源代码-完整版

    巴巴运动网的源代码设计涵盖了电子商务网站的关键模块,包括但不限于前端用户界面、后台管理、商品展示、购物车、订单处理、用户注册与登录等。 1. **前端用户界面**:前端部分是用户与网站交互的窗口,源代码可能...

    巴巴运动网 lib1

    在"巴巴运动网 lib1"的案例中,这个库可能包含了特定的运动相关功能的实现,比如体育赛事管理、运动员信息处理等。 要使用这个jar包,开发者需要将其添加到他们的项目构建路径中。对于Maven项目,可以在pom.xml文件...

    巴巴运动网源码(传智播客)

    【巴巴运动网源码(传智播客)】是一套基于Java编程语言开发的网站源码,主要用于构建体育运动类的在线服务平台。这套源码在IT教育领域,特别是由传智播客这样的知名教育机构中被用作教学案例,帮助学员理解和实践...

    新巴巴运动网page包

    总结来说,"新巴巴运动网page包"是传智播客新巴巴运动网项目的一个关键组件,提供了分页功能的实现,通过Maven本地仓库的管理,简化了项目的依赖管理和开发流程。对于学习者来说,这是一个了解和实践Java Web开发...

    传智巴巴运动网源代码[两个模块]

    传智巴巴运动网源代码 传智播客巴巴运动网项目实战 基于分布式构架的大型商品交易平台,系统围绕一个业务中心的思想,实现了多种类型的客户端应用,如:基于浏览器的web交易系统,基于手机的wap交易系统,用于内部...

    巴巴运动网完整源代码

    "巴巴运动网完整源代码"是一个包含网站源代码的压缩包,主要针对的是体育类网站的开发和构建。源代码是编程术语,指的是程序的原始形式,由人类可读的编程语言编写,它包含了实现特定功能的所有指令。在这个压缩包中...

    2016最新版新巴巴运动网数据库+开发文档

    新巴巴运动网数据库和开发文档资源的提供,对于想要了解或进行该项目开发的人员来说,是一份非常宝贵的学习和参考资料。这份2016年的最新版本包含了一系列关键元素,可以帮助开发者更好地理解系统的架构和功能。 ...

    巴巴运动网详细设计说明书

    巴巴运动网商品交易系统是一套面向大型企业开发的商品交易系统,具备先进的电子商务运营及管理理念。订单流转实现多部门协同处理,满足大型企业多部门协作处理业务的需求。系统包含以下模块: 产品管理:产品具有...

    07_传智播客巴巴运动网_用户管理模块分析

    在本课程"07_传智播客巴巴运动网_用户管理模块分析"中,我们将深入探讨用户管理系统的核心概念和实现细节,特别是针对基于JSP技术的Web应用。用户管理模块是任何在线服务系统的基础,它负责处理用户的注册、登录、...

    新巴巴运动网

    ### 新巴巴运动网项目知识点概览 #### 一、项目背景与概述 - **电子商务概念:** 电子商务是指通过互联网来进行买卖交易和服务的一种商务模式。它涵盖了从交易前的市场调研、广告宣传,到交易过程中的订单处理、...

    传智播客巴巴运动网源码及在线支付源码

    【标题】"传智播客巴巴运动网源码及在线支付源码"涉及的主要知识点是JavaWeb开发和在线支付系统的实现。这个资源包含了两个部分,一个是"传智播客--网上支付源码.rar",另一个是"巴巴运动网源码.zip"。下面将对这两...

    巴巴运动网源码 巴巴运动网 EJB+JPA+SSH

    从文件名称"shop9"来看,这可能是巴巴运动网的一个子模块或者版本迭代,可能包含了购物车、订单管理、商品分类等与电商紧密相关的功能。通过分析和学习这个源码,开发者可以深入理解大型Web应用的架构设计,学习如何...

Global site tag (gtag.js) - Google Analytics