Browse Source

JpaTransaction事务处理,鉴于SpringMVC与Spring容器冲突,需要在SpringMVC配置开启AOP代理

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@3122 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
yingp 10 years ago
parent
commit
b641e5cf75

+ 2 - 0
src/main/java/com/uas/platform/b2b/dao/TokenDao.java

@@ -3,9 +3,11 @@ package com.uas.platform.b2b.dao;
 import java.util.List;
 import java.util.List;
 
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
 
 
 import com.uas.platform.b2b.model.Token;
 import com.uas.platform.b2b.model.Token;
 
 
+@Repository
 public interface TokenDao extends JpaRepository<Token, Long> {
 public interface TokenDao extends JpaRepository<Token, Long> {
 	
 	
 	public List<Token> findByUuAndUserType(Long uu, String userType);
 	public List<Token> findByUuAndUserType(Long uu, String userType);

+ 16 - 16
src/main/java/com/uas/platform/b2b/service/impl/EnterpriseServiceImpl.java

@@ -72,7 +72,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	 * 不可用的SAAS域名
 	 * 不可用的SAAS域名
 	 */
 	 */
 	private static final String[] UNUSABLE_SAASURL = { "www", "uas", "make", "trade", "usoft", "usoftchina", "usofterp", "report", "",
 	private static final String[] UNUSABLE_SAASURL = { "www", "uas", "make", "trade", "usoft", "usoftchina", "usofterp", "report", "",
-			"ubtob", "test" };
+			"ubtob", "ubtoc", "test", "static", "saas", "saas-static", "admin", "administrator", "manage", "manager" };
 
 
 	@Override
 	@Override
 	public String bussinessCodeEnable(String code) {
 	public String bussinessCodeEnable(String code) {
@@ -87,11 +87,11 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public Enterprise findEnterpriseByUuAndEnBussinessCode(Long uu,String enBussinessCode){
-		Enterprise enterprise =enterpriseDao.findEnterpriseByUuAndEnBussinessCode(uu, enBussinessCode);
+	public Enterprise findEnterpriseByUuAndEnBussinessCode(Long uu, String enBussinessCode) {
+		Enterprise enterprise = enterpriseDao.findEnterpriseByUuAndEnBussinessCode(uu, enBussinessCode);
 		return enterprise;
 		return enterprise;
 	}
 	}
-	
+
 	@Override
 	@Override
 	public Enterprise registerEnterprise(Enterprise enterprise, Boolean isSaas) {
 	public Enterprise registerEnterprise(Enterprise enterprise, Boolean isSaas) {
 		Enterprise en = enterpriseDao.findEnterpriseByEnBussinessCode(enterprise.getEnBussinessCode());
 		Enterprise en = enterpriseDao.findEnterpriseByEnBussinessCode(enterprise.getEnBussinessCode());
@@ -110,7 +110,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 			User user = null;
 			User user = null;
 			// 允许管理员账户已存在,添加对照关系,先根据手机号和邮箱判断是否是已存在的User
 			// 允许管理员账户已存在,添加对照关系,先根据手机号和邮箱判断是否是已存在的User
 			List<User> existUsers = userDao.findUserByUserTel(enterprise.getEnAdminTel());
 			List<User> existUsers = userDao.findUserByUserTel(enterprise.getEnAdminTel());
-			if(CollectionUtils.isEmpty(existUsers)) {
+			if (CollectionUtils.isEmpty(existUsers)) {
 				existUsers = userDao.findUserByUserEmail(enterprise.getEnAdminEmail());
 				existUsers = userDao.findUserByUserEmail(enterprise.getEnAdminEmail());
 			}
 			}
 			// 不是已存在的用户,新建一个Admin User,设置手机号、邮箱、名字等
 			// 不是已存在的用户,新建一个Admin User,设置手机号、邮箱、名字等
@@ -597,17 +597,17 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 		if (en == null) {
 		if (en == null) {
 			enterprise.setEnDate(new Date());
 			enterprise.setEnDate(new Date());
 			enterprise.setEnable(Constant.YES);
 			enterprise.setEnable(Constant.YES);
-		    enterprise.setEnStatus((short) Status.UNAUDIT.value());// 审核状态设为未审核
-            enterprise.setEnSendStatus((short) Status.NOT_UPLOAD.value());// 上传状态设为未上传
+			enterprise.setEnStatus((short) Status.UNAUDIT.value());// 审核状态设为未审核
+			enterprise.setEnSendStatus((short) Status.NOT_UPLOAD.value());// 上传状态设为未上传
 			Enterprise newEnterprise = enterpriseDao.save(enterprise);// 保存enterprise
 			Enterprise newEnterprise = enterpriseDao.save(enterprise);// 保存enterprise
 			User user = null;
 			User user = null;
 			// 允许管理员账户已存在,添加对照关系,先根据手机号和邮箱判断是否是已存在的User
 			// 允许管理员账户已存在,添加对照关系,先根据手机号和邮箱判断是否是已存在的User
 			List<User> existUsers = userDao.findUserByUserTel(enterprise.getEnAdminTel());
 			List<User> existUsers = userDao.findUserByUserTel(enterprise.getEnAdminTel());
-			if(CollectionUtils.isEmpty(existUsers)) {
+			if (CollectionUtils.isEmpty(existUsers)) {
 				existUsers = userDao.findUserByUserEmail(enterprise.getEnAdminEmail());
 				existUsers = userDao.findUserByUserEmail(enterprise.getEnAdminEmail());
 			}
 			}
 			// 不是已存在的用户,新建一个Admin User,设置手机号、邮箱、名字等
 			// 不是已存在的用户,新建一个Admin User,设置手机号、邮箱、名字等
-			boolean ok=false;
+			boolean ok = false;
 			if (CollectionUtils.isEmpty(existUsers)) {
 			if (CollectionUtils.isEmpty(existUsers)) {
 				user = new User();
 				user = new User();
 				user.setUserName(enterprise.getEnAdminName());// 管理员姓名
 				user.setUserName(enterprise.getEnAdminName());// 管理员姓名
@@ -615,22 +615,22 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 					user.setUserName("管理员");// 默认“管理员”
 					user.setUserName("管理员");// 默认“管理员”
 				}
 				}
 				user.setUserEmail(enterprise.getEnAdminEmail());
 				user.setUserEmail(enterprise.getEnAdminEmail());
-				user.setUserTel(enterprise.getEnAdminTel());				
+				user.setUserTel(enterprise.getEnAdminTel());
 				user.setEnable(Constant.YES);
 				user.setEnable(Constant.YES);
 			} else {// 已存在的User,直接用已存在的User
 			} else {// 已存在的User,直接用已存在的User
-				ok=true;
+				ok = true;
 				user = existUsers.get(0);
 				user = existUsers.get(0);
 			}
 			}
 			user.addEnterprise(newEnterprise);// 添加userenterpris对应关系
 			user.addEnterprise(newEnterprise);// 添加userenterpris对应关系
 			User newUser = userDao.save(user);// 保存user
 			User newUser = userDao.save(user);// 保存user
-			if(!ok){
+			if (!ok) {
 				newUser.setUserPwd(Md5Utils.encode(enterprise.getEnAdminPassword(), newUser.getUserUU()));
 				newUser.setUserPwd(Md5Utils.encode(enterprise.getEnAdminPassword(), newUser.getUserUU()));
 				userDao.save(newUser);
 				userDao.save(newUser);
-			}		
+			}
 			newEnterprise.setEnAdminuu(newUser.getUserUU());// 设置管理员UU号
 			newEnterprise.setEnAdminuu(newUser.getUserUU());// 设置管理员UU号
 			newEnterprise.setEnIsErp(Constant.YES);
 			newEnterprise.setEnIsErp(Constant.YES);
 			newEnterprise = enterpriseDao.save(newEnterprise);// 再次保存enterprise
 			newEnterprise = enterpriseDao.save(newEnterprise);// 再次保存enterprise
-			enterpriseDao.callInitProcedure(newEnterprise.getUu());//设置对照关系
+			enterpriseDao.callInitProcedure(newEnterprise.getUu());// 设置对照关系
 			registeRecord(newEnterprise, "一键注册", "成功");
 			registeRecord(newEnterprise, "一键注册", "成功");
 			return newEnterprise;
 			return newEnterprise;
 		}
 		}
@@ -641,8 +641,8 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 	public Set<Enterprise> findByNameKey(String name) {
 	public Set<Enterprise> findByNameKey(String name) {
 		Set<Enterprise> enterprises = new HashSet<Enterprise>();
 		Set<Enterprise> enterprises = new HashSet<Enterprise>();
 		Set<String> keys = SearchKeyUtils.splitToKeys(name, true);
 		Set<String> keys = SearchKeyUtils.splitToKeys(name, true);
-		for (String key : keys){
-            System.out.println(key);
+		for (String key : keys) {
+			System.out.println(key);
 			enterprises.addAll(enterpriseDao.findByEnName(key));
 			enterprises.addAll(enterpriseDao.findByEnName(key));
 		}
 		}
 		return enterprises;
 		return enterprises;

+ 2 - 4
src/main/resources/spring/context.xml

@@ -1,7 +1,6 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:context="http://www.springframework.org/schema/context"
 	xmlns:context="http://www.springframework.org/schema/context"
-	xmlns:aop="http://www.springframework.org/schema/aop"
-	xmlns:task="http://www.springframework.org/schema/task"
+	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:task="http://www.springframework.org/schema/task"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
 	xmlns:cache="http://www.springframework.org/schema/cache"
 	xmlns:cache="http://www.springframework.org/schema/cache"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd   
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd   
@@ -77,8 +76,7 @@
 		id="transactionManager">
 		id="transactionManager">
 		<property name="entityManagerFactory" ref="entityManagerFactory" />
 		<property name="entityManagerFactory" ref="entityManagerFactory" />
 	</bean>
 	</bean>
-	<tx:annotation-driven mode="aspectj"
-		transaction-manager="transactionManager" />
+	<tx:annotation-driven transaction-manager="transactionManager" />
 
 
 	<bean id="transactionInterceptor"
 	<bean id="transactionInterceptor"
 		class="org.springframework.transaction.interceptor.TransactionInterceptor">
 		class="org.springframework.transaction.interceptor.TransactionInterceptor">

+ 5 - 2
src/main/webapp/WEB-INF/spring/webmvc.xml

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
-	xmlns:context="http://www.springframework.org/schema/context"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+
+	<!-- 开启@AspectJ AOP代理 -->
+	<aop:aspectj-autoproxy />
 
 
 	<mvc:annotation-driven>
 	<mvc:annotation-driven>
 		<mvc:message-converters register-defaults="true">
 		<mvc:message-converters register-defaults="true">