package com.wanrong.distribution.server.impl; import javax.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition; import org.springframework.util.StringUtils; import com.wanrong.distribution.dao.AppUserDao; import com.wanrong.distribution.share.dto.UserDTO; import com.wanrong.distribution.share.interfaces.AppUserHierarchyService; import com.wanrong.distribution.share.interfaces.AppUserService; import com.wanrong.distribution.share.query.UserQuery; import com.wanrong.module.commons.QueryResult; import com.wanrong.module.commons.Result; import com.wanrong.module.commons.SingleResult; import com.wanrong.web.share.dto.EvidenceInfoDTO; import com.wanrong.web.share.dto.MerchantInfoDTO; import com.wanrong.web.share.dto.MerchantProudctDTO; import com.wanrong.web.share.query.MerchantInfoQuery; import com.wanrong.web.share.query.MerchantProudctQuery; @Service("appUserService") public class AppUserServiceImpl implements AppUserService { protected Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired AppUserDao appUserDao; @Autowired AppUserHierarchyService appUserHierarchyService; @Resource(name = "transactionManager") private PlatformTransactionManager platformTransactionManager; /** * 新增AppUser */ public Result insertAppUser(UserDTO info){ Result result = new Result(); //关闭事务自动提交 DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = platformTransactionManager.getTransaction(def); try { //插入用户 appUserDao.insertAppUser(info); //查询商户的父UserId int fatherUserId = 0; UserDTO userFather = appUserDao.queryAppUserBySpid(info.getParentSpId()); if(!StringUtils.isEmpty(userFather)){ fatherUserId = userFather.getId(); } //插入商户层级关系 Result rest = appUserHierarchyService.insertAppUserHierarchy(false,info.getId(),fatherUserId); if(!rest.isSuccess()){ platformTransactionManager.rollback(status); // 添加失败 回滚事务; result.setSuccess(false); }else{ result.setSuccess(true); platformTransactionManager.commit(status); //提交事务 } } catch (Exception e) { result.setSuccess(false); platformTransactionManager.rollback(status); //添加失败 回滚事务; logger.error("",e); } return result; } @Override public SingleResult<UserDTO> queryAppUser(UserQuery userQuery) { // TODO Auto-generated method stub return null; } @Override public SingleResult<UserDTO> queryAppUserBySpid(String spId) { // TODO Auto-generated method stub return null; } @Override public QueryResult<UserDTO> queryAppUserList(UserQuery query) { // TODO Auto-generated method stub return null; } @Override public int queryMyAppUserCount(UserQuery query) { // TODO Auto-generated method stub return 0; } @Override public Result updateAppUser(UserDTO userDTO) { // TODO Auto-generated method stub return null; } @Override public Result uploadFile(EvidenceInfoDTO evidenceInfoDTO) { // TODO Auto-generated method stub return null; } @Override public QueryResult<MerchantProudctDTO> queryMerchantProductList(MerchantProudctQuery query) { // TODO Auto-generated method stub return null; } @Override public SingleResult<MerchantInfoDTO> queryMerchantInfo(MerchantInfoQuery query) { // TODO Auto-generated method stub return null; } }
相关推荐
Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...
在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建可维护、模块化和松耦合的应用程序提供了一种强大的方式。本项目聚焦于Spring、Spring MVC和JDBC Template的集成应用,用于实现数据库的增删改查操作。...
Spring MVC是Spring框架的一部分,专为构建Web应用程序而设计,它提供了模型-视图-控制器(MVC)架构模式的实现。MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。将这三个框架整合在一起...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本示例中,"Spring-MVC的demo" 提供了一个完整的Spring MVC学习项目,包含了数据库操作、JDBC...
总之,Spring MVC、Spring和MyBatis的组合为商城购物平台提供了强大的功能支持,包括用户界面处理、业务逻辑管理和数据持久化。开发者可以通过灵活配置和扩展,构建出高效、稳定且易于维护的电商平台。
这个架构结合了Spring MVC的MVC设计模式、Spring框架的依赖注入与事务管理,以及Mybatis的灵活数据库操作,形成了一套强大的开发工具集。下面我们将详细探讨这些关键知识点。 **Spring MVC** Spring MVC是Spring...
在Spring MVC项目中,这类工具可以帮助开发者自动生成常见的CRUD操作代码,针对单个数据表创建增删改查的控制器、服务、DAO及实体类,减少了手动编写这些重复代码的时间。这样的功能在处理大量简单业务逻辑时尤其...
Spring MVC负责Web层的交互,Spring负责业务层的管理和事务控制,MyBatis则简化了数据库操作,而Redis作为缓存系统,提升了系统的响应速度和整体性能。这四个组件的协同工作,使得开发者能够快速、稳定地构建大型、...
总的来说,"Spring+MVC增删改查.rar"提供的内容可能包括了Spring MVC的配置文件、控制器类、模型类、数据库相关的配置以及一些简单的JSP视图。这些文件将共同演示如何在Spring MVC环境中实现基本的CRUD操作,对于...
Spring MVC是Spring框架的一部分,专为构建Web应用程序而设计。它遵循模型-视图-控制器(Model-View-Controller,MVC)设计模式,将业务逻辑、数据处理和用户界面分离。Spring MVC通过DispatcherServlet作为前端控制...
标题 "基于主流技术(Springboot、Spring MVC)" 暗示了我们即将探讨的是关于使用Spring框架构建Web应用程序的知识,特别是Spring Boot和Spring MVC这两个关键组件。Spring Boot简化了Spring应用的初始设置和配置,...
在IT行业中,Spring框架是一个广泛使用的Java应用开发框架,它为构建企业级应用程序提供了全面的解决方案。Spring框架的核心是依赖注入(Dependency Injection,DI),它允许开发者松耦合地管理对象之间的关系。...
在这个"spring MVC整合实例"中,我们将探讨如何将 Spring MVC 与 Oracle 10g 数据库相结合,以及使用注释方式进行配置。 1. **Spring MVC 基础**: - **DispatcherServlet**:Spring MVC 的核心组件,它作为前端...
总结来说,这个"spring MVC3 + mybatis 3 - demo工程"为初学者和开发者提供了一个实战平台,展示了Spring MVC3与MyBatis3如何协同工作,帮助他们快速理解和应用这两个框架。通过研究和实践这个Demo,可以加深对Web...
本项目标题为"Java+maven+spring MVC+Spring+Hibernate整合",它旨在演示如何利用这些技术来创建一个完整的Web应用程序框架。下面将详细阐述其中涉及的技术及其整合过程。 首先,Maven是Apache软件基金会开发的一款...
Spring MVC是Spring框架的一部分,专为构建Web应用程序设计。它采用模型-视图-控制器(Model-View-Controller,MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可维护性和可扩展性。在Spring MVC...
通过深入学习这些内容,你将具备构建高效、可维护的Java EE企业级应用的能力,能够灵活运用Spring、Spring MVC和MyBatis这三个框架,为你的职业生涯奠定坚实的基础。同时,配套的PPT将帮助你直观地理解各个概念和...
在"Spring MVC+ibatis+Oracle资源整合,实现简单的增删改查"的项目中,开发者可能已经创建了学生(stu)相关的实体类、Mapper接口、XML配置文件和DAO实现。例如,"stu"可能是学生表的名称,对应的实体类为Student,...
Spring MVC是Spring框架的一部分,专为构建Web应用程序而设计。它提供了一种模型-视图-控制器(MVC)架构模式的实现,用于分离业务逻辑、用户界面和数据访问。在图书管理系统中,Spring MVC处理HTTP请求,调用业务...
2. **声明式事务管理**:Spring AOP可以用来实现声明式事务管理,开发者只需在方法上添加`@Transactional`注解,Spring就会自动管理事务的开始、提交、回滚。这种方式简化了事务管理,使得代码更加整洁。 在实际...