Browse Source

Merge remote-tracking branch 'origin/feature-storeapply-201814' into dev

Hu Jie 7 years ago
parent
commit
d1104354b7

+ 3 - 26
src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java

@@ -35,8 +35,6 @@ public class AuthenticationController {
 	@Autowired
 	private RoleService roleService;
 
-	@Autowired
-	private UserLoginTimeDao userLoginTimeDao;
 
 	@RequestMapping(method = RequestMethod.GET, headers = "Accept=application/json")
 	@ResponseBody
@@ -95,30 +93,9 @@ public class AuthenticationController {
 	 */
 	@RequestMapping(value = "/{enUU}")
 	@ResponseBody
-	public void switchEnterprise(@PathVariable("enUU") long enUU) {
-		User user = SystemSession.getUser();
-		//保存登录时间
-		List<UserLoginTime> userLoginTimeList = userLoginTimeDao.findByUserUUAndEnUU(user.getUserUU(), user.getEnterprise() == null ? 0L : user.getEnterprise().getUu());
-		UserLoginTime userLoginTime;
-		if (!CollectionUtils.isEmpty(userLoginTimeList)) {
-			userLoginTime = userLoginTimeList.get(0);
-		} else {
-			userLoginTime = new UserLoginTime();
-			userLoginTime.setUserUU(user.getUserUU());
-			userLoginTime.setEnUU(user.getEnterprise() == null ? 0L : user.getEnterprise().getUu());
-		}
-		userLoginTime.setLoginTime(System.currentTimeMillis());
-		try {
-			userLoginTimeDao.save(userLoginTime);
-		} catch (Exception e) {
-
-		}
-
-		if ( enUU == 0L) {
-			user.setEnterprise(null);
-		} else {
-			user.setCurrentEnterprise(enUU);
-		}
+	public void switchEnterprise(@PathVariable("enUU") long enUU, HttpServletRequest request) {
+		User user = userService.switchEnterprise(enUU);
+		request.getSession().setAttribute("user", user);
 	}
 
 	/**

+ 13 - 0
src/main/java/com/uas/platform/b2c/common/account/service/UserService.java

@@ -207,4 +207,17 @@ public interface UserService {
 	 * @return
 	 */
 	ModelMap anthority(User user,String url);
+
+	/**
+	 * 切换企业
+	 * @param enUU
+	 * @return
+	 */
+	User switchEnterprise(Long enUU);
+
+	/**
+	 * 记录企业的登录时间
+	 * @param enuu
+	 */
+	void saveLoginTime(Long enuu);
 }

+ 6 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/EnterpriseServiceImpl.java

@@ -25,9 +25,11 @@ import com.uas.sso.util.AccountUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -47,6 +49,8 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 	@Autowired
 	private StoreInDao storeInDao;
 
+	@Resource(name = "v2.EnterpriseService")
+	private com.uas.platform.b2c.common.account.v2.service.EnterpriseService v2EnterpriserService;
 
 	@Override
 	public Enterprise getEnterpriseInfo(Long uu) {
@@ -257,10 +261,12 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 			String userSpa = data.toJSONString();
 			// 调用账户中心的接口注册企业
 			detail = AccountUtils.register(detail, userView);
+			v2EnterpriserService.update(detail);
 		} catch (Exception e) {
 			return new ResultMap(CodeType.SYSTEM_ERROR, e.getMessage());
 		}
 
+
 		// 将新注册的企业UU号返回
 		Map<String, Object> result = new HashMap<String, Object>();
 		result.put("enuu", detail.getSpaceUU());

+ 36 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java

@@ -75,6 +75,9 @@ public class UserServiceImpl implements UserService {
 	@Autowired
 	private ResourceItemDao resourceItemDao;
 
+	@Autowired
+	private UserLoginTimeDao userLoginTimeDao;
+
 	@Override
 	public User findUserByUserUU(Long uu) {
 		List<User> users = userDao.findUserByUserUU(uu);
@@ -561,4 +564,37 @@ public class UserServiceImpl implements UserService {
 		map.put("msg","您没有该权限,请联系管理员");
 		return map;
 	}
+
+	@Override
+	public User switchEnterprise(Long enUU) {
+		User user = userDao.findOne(SystemSession.getUser().getUserUU());
+		if ( enUU == 0L) {
+			user.setEnterprise(null);
+		} else {
+			user.setCurrentEnterprise(enUU);
+		}
+		SystemSession.setUser(user);
+		return user;
+	}
+
+	@Override
+	public void saveLoginTime(Long enuu) {
+		User user = SystemSession.getUser();
+		//保存登录时间
+		List<UserLoginTime> userLoginTimeList = userLoginTimeDao.findByUserUUAndEnUU(user.getUserUU(), user.getEnterprise() == null ? 0L : user.getEnterprise().getUu());
+		UserLoginTime userLoginTime;
+		if (!CollectionUtils.isEmpty(userLoginTimeList)) {
+			userLoginTime = userLoginTimeList.get(0);
+		} else {
+			userLoginTime = new UserLoginTime();
+			userLoginTime.setUserUU(user.getUserUU());
+			userLoginTime.setEnUU(user.getEnterprise() == null ? 0L : user.getEnterprise().getUu());
+		}
+		userLoginTime.setLoginTime(System.currentTimeMillis());
+		try {
+			userLoginTimeDao.save(userLoginTime);
+		} catch (Exception e) {
+
+		}
+	}
 }

+ 2 - 1
src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/EnterpriseServiceImpl.java

@@ -43,8 +43,9 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
 
+
     @Override
-    public Enterprise update(UserSpaceView userSpaceView) {
+    public synchronized Enterprise update(UserSpaceView userSpaceView) {
       /*  List<User> admins = userDao.findUserByUserUU(userSpaceView.getAdminUU());
         if (admins.size() != 1) {
             logger.log("更新企业信息出错,管理员有且仅有一个", "当前管理员数量:" + admins.size());