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关闭自动提交事务改为手动提交
猜你喜欢
转载自x125858805.iteye.com/blog/2369243
今日推荐
周排行