|
|
@@ -1,11 +1,26 @@
|
|
|
package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
import com.uas.message.mail.service.MailService;
|
|
|
-import com.uas.platform.b2b.dao.*;
|
|
|
-import com.uas.platform.b2b.model.*;
|
|
|
+import com.uas.platform.b2b.dao.DistributeDao;
|
|
|
+import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
+import com.uas.platform.b2b.dao.RoleDao;
|
|
|
+import com.uas.platform.b2b.dao.UserDao;
|
|
|
+import com.uas.platform.b2b.dao.VendorDao;
|
|
|
+import com.uas.platform.b2b.model.Distribute;
|
|
|
+import com.uas.platform.b2b.model.Enterprise;
|
|
|
+import com.uas.platform.b2b.model.Role;
|
|
|
+import com.uas.platform.b2b.model.SearchFilter;
|
|
|
+import com.uas.platform.b2b.model.User;
|
|
|
+import com.uas.platform.b2b.model.UserInfo;
|
|
|
+import com.uas.platform.b2b.model.Vendor;
|
|
|
import com.uas.platform.b2b.service.UserService;
|
|
|
import com.uas.platform.b2b.service.VendorService;
|
|
|
-import com.uas.platform.b2b.support.*;
|
|
|
+import com.uas.platform.b2b.support.MessageConf;
|
|
|
+import com.uas.platform.b2b.support.SPageUtils;
|
|
|
+import com.uas.platform.b2b.support.SendMailService;
|
|
|
+import com.uas.platform.b2b.support.SystemSession;
|
|
|
+import com.uas.platform.b2b.support.TokenService;
|
|
|
+import com.uas.platform.b2b.support.UsageBufferedLogger;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
import com.uas.platform.core.exception.SystemException;
|
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
@@ -26,9 +41,17 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
+ * @author US50
|
|
|
* @since 2016-9-26 21:18:35 账户中心统一管理;部分功能保留,但转移到v2目录
|
|
|
* @see com.uas.platform.b2b.v2.service.impl.UserServiceImpl
|
|
|
*
|
|
|
@@ -40,6 +63,8 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
@Autowired
|
|
|
+ private RoleDao roleDao;
|
|
|
+ @Autowired
|
|
|
private VendorDao vendorDao;
|
|
|
@Autowired
|
|
|
private DistributeDao distributeDao;
|
|
|
@@ -52,8 +77,6 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
private EnterpriseDao enterpriseDao;
|
|
|
@Autowired
|
|
|
- private CommonDao commonDao;
|
|
|
- @Autowired
|
|
|
private MailService mailService;
|
|
|
@Autowired
|
|
|
private MessageConf messageConf;
|
|
|
@@ -63,20 +86,6 @@ public class UserServiceImpl implements UserService {
|
|
|
static final String UU_REGEXP = "^\\d{4,}$";
|
|
|
|
|
|
static final String NUM_REGEXP= "^[0-9]*$";
|
|
|
- /**
|
|
|
- * 匹配中文正则式
|
|
|
- */
|
|
|
- private static final String CHINESE_REGEXP = "^[\u4e00-\u9fa5]*$";
|
|
|
-
|
|
|
- /**
|
|
|
- * 匹配英文正则式
|
|
|
- */
|
|
|
- private static final String ENGLISH_REGEXP = "^[A-Za-z]+$";
|
|
|
-
|
|
|
- /**
|
|
|
- * 不需要展示的日志记录
|
|
|
- */
|
|
|
- private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
|
|
|
|
|
|
/**
|
|
|
* 展示给用户查看的日志
|
|
|
@@ -135,12 +144,6 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public boolean bindUser(String userUU, String enUU) {
|
|
|
- // 打印SystemSession
|
|
|
- // UserEnterprise实体???
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public boolean isTelUseable(String tel) {
|
|
|
return userDao.findUserByUserTel(tel).size() == 0;
|
|
|
@@ -170,7 +173,6 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public User updateUserInfo(User user){
|
|
|
User newUser = userDao.findOne(user.getUserUU());
|
|
|
- Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
if (newUser != null) {
|
|
|
newUser.setUserName(user.getUserName());
|
|
|
newUser.setUserSex(user.getUserSex());
|
|
|
@@ -182,7 +184,8 @@ public class UserServiceImpl implements UserService {
|
|
|
// 修改用户角色,只对用户的当前企业的角色进行修改
|
|
|
if (!CollectionUtils.isEmpty(user.getRoles())) {
|
|
|
Set<Role> existRoles = newUser.getRoles();
|
|
|
- if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
|
|
|
+ // 保留用户在其他企业的角色
|
|
|
+ if (!CollectionUtils.isEmpty(existRoles)) {
|
|
|
Iterator<Role> iterator = existRoles.iterator();
|
|
|
Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
while (iterator.hasNext()) {
|
|
|
@@ -240,7 +243,8 @@ public class UserServiceImpl implements UserService {
|
|
|
StringBuffer newRoles = new StringBuffer();
|
|
|
if (!CollectionUtils.isEmpty(user.getRoles())) {
|
|
|
Set<Role> existRoles = newUser.getRoles();
|
|
|
- if (existRoles != null) {// 保留用户在其他企业的角色
|
|
|
+ // 保留用户在其他企业的角色
|
|
|
+ if (existRoles != null) {
|
|
|
Iterator<Role> iterator = existRoles.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Role role = iterator.next();
|
|
|
@@ -265,7 +269,8 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
} else {
|
|
|
Set<Role> existRoles = newUser.getRoles();
|
|
|
- if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
|
|
|
+ // 保留用户在其他企业的角色
|
|
|
+ if (!CollectionUtils.isEmpty(existRoles)) {
|
|
|
Iterator<Role> iterator = existRoles.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Role role = iterator.next();
|
|
|
@@ -300,28 +305,13 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public SPage<User> findByPageInfo(PageInfo pageInfo, String keyword) {
|
|
|
Page<User> users = getUsersByPage(pageInfo, keyword);
|
|
|
- SPage<User> userInfos = new SPage<User>();
|
|
|
+ Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
if (!CollectionUtils.isEmpty(users.getContent())) {
|
|
|
for (User user : users.getContent()) {
|
|
|
- Set<Role> roles = user.getRoles();
|
|
|
- Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
- if (!CollectionUtils.isEmpty(roles)) {
|
|
|
- Iterator<Role> iterator = roles.iterator();
|
|
|
- while (iterator.hasNext()) {
|
|
|
- Role role = iterator.next();
|
|
|
- if (!role.getEnUU().equals(enuu)) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ user.setCurrentEnterpriseRoles(enUU);
|
|
|
}
|
|
|
}
|
|
|
- userInfos.setTotalPage(users.getTotalPages());
|
|
|
- userInfos.setSize(users.getSize());
|
|
|
- userInfos.setPage(users.getNumber());
|
|
|
- userInfos.setTotalElement(users.getTotalElements());
|
|
|
- userInfos.setContent(users.getContent());
|
|
|
- return userInfos;
|
|
|
+ return SPageUtils.covertSPage(users);
|
|
|
}
|
|
|
|
|
|
private Page<User> getUsersByPage(final PageInfo pageInfo, String keyword) {
|
|
|
@@ -346,7 +336,6 @@ public class UserServiceImpl implements UserService {
|
|
|
if (user1.getEnterprise() == null) {
|
|
|
user1.setCurrentEnterprise();// 随便绑定一个用户所属企业
|
|
|
}
|
|
|
- Enterprise enterprise = user1.getEnterprise();
|
|
|
user1 = userDao.save(user1);
|
|
|
return user1;
|
|
|
} else {
|
|
|
@@ -365,7 +354,21 @@ public class UserServiceImpl implements UserService {
|
|
|
AccountUtils.saveUser(detail, null);
|
|
|
}
|
|
|
|
|
|
- static final String defaultPassword = "111111";
|
|
|
+ /**
|
|
|
+ * 通过用户UU查询用户信息
|
|
|
+ *
|
|
|
+ * @param userUUList 用户UU号
|
|
|
+ * @return List<User>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<User> findByUserUUList(List<Long> userUUList) {
|
|
|
+ List<User> users = userDao.findAll(userUUList);
|
|
|
+ Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ users.forEach(user -> user.setCurrentEnterpriseRoles(enUU));
|
|
|
+ return users;
|
|
|
+ }
|
|
|
+
|
|
|
+ static final String defaultPassword = "111111";
|
|
|
|
|
|
@Override
|
|
|
public User addUser(User user, HttpServletRequest request) {
|
|
|
@@ -381,6 +384,14 @@ public class UserServiceImpl implements UserService {
|
|
|
try {
|
|
|
Long userUU = addUserToAccountCenter(user);
|
|
|
user.setUserUU(userUU);
|
|
|
+ List<Role> roles = roleDao.findByEnUUAndDesc(SystemSession.getUser().getEnterprise().getUu(), "普通用户");
|
|
|
+ if (!CollectionUtils.isEmpty(roles)) {
|
|
|
+ Set<Role> set = new HashSet<>();
|
|
|
+ set.add(roles.get(0));
|
|
|
+ user.setRoles(set);
|
|
|
+ } else {
|
|
|
+ enterpriseDao.callInitProcedure(SystemSession.getUser().getEnterprise().getUu());
|
|
|
+ }
|
|
|
user.addEnterprise(SystemSession.getUser().getEnterprise());
|
|
|
user.setCurrentEnterprise();
|
|
|
userDao.save(user);
|
|
|
@@ -472,7 +483,6 @@ public class UserServiceImpl implements UserService {
|
|
|
user.setUserPwd(Md5Utils.encode(defaultPassword, user.getUserUU()));
|
|
|
try {
|
|
|
user.setUserPwd(defaultPassword);
|
|
|
-// postToAccountCenter(user, defaultPassword);
|
|
|
user = userDao.save(user);
|
|
|
} catch (Exception e) {
|
|
|
userDao.delete(user);
|
|
|
@@ -495,9 +505,11 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public User findShieldUuserInfo(String userName) {
|
|
|
User user = null;
|
|
|
- if (userName.contains("@")) { // 邮箱登录
|
|
|
+ // 邮箱登录
|
|
|
+ if (userName.contains("@")) {
|
|
|
user = findUserByUserEmail(userName);
|
|
|
- } else if (userName.matches(TEL_REGEXP)) {// 手机号登录
|
|
|
+ //手机号登录
|
|
|
+ } else if (userName.matches(TEL_REGEXP)) {
|
|
|
user = findUserByUserTel(userName);
|
|
|
} else if (userName.matches(UU_REGEXP)) {
|
|
|
user = findUserByUserUU(Long.parseLong(userName));
|
|
|
@@ -524,7 +536,8 @@ public class UserServiceImpl implements UserService {
|
|
|
model.put("uu", user.getUserUU());
|
|
|
model.put("checkcode", encodeString);
|
|
|
model.put("rootpath", AgentUtils.getHost(request));
|
|
|
- if ("admin".equals(type)) {// 发送给管理员
|
|
|
+ // 发送给管理员
|
|
|
+ if ("admin".equals(type)) {
|
|
|
User admin = userDao.findOne(user.getEnterprise().getEnAdminuu());
|
|
|
// 发送邮件
|
|
|
model.put("email", admin.getUserEmail());
|
|
|
@@ -538,7 +551,7 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Override
|
|
|
public String checkForget(Long userUU, String checkcode) {
|
|
|
- String encodeString = null;
|
|
|
+ String encodeString;
|
|
|
if (tokenService.isCertified("user", userUU, checkcode)) {
|
|
|
encodeString = tokenService.getEncodeToken("user", userUU);
|
|
|
} else {
|
|
|
@@ -577,18 +590,21 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public UserInfo findUserByKeyWord(String keyWord) {
|
|
|
User user = null;
|
|
|
- if (keyWord.contains("@")) { // 按邮箱查找
|
|
|
+ // 按邮箱查找
|
|
|
+ if (keyWord.contains("@")) {
|
|
|
user = findUserByUserEmail(keyWord);
|
|
|
- } else if (keyWord.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
+ //按手机号查找
|
|
|
+ } else if (keyWord.matches(TEL_REGEXP)) {
|
|
|
user = findUserByUserTel(keyWord);
|
|
|
- } else if (keyWord.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
+ // 按UU号查找
|
|
|
+ } else if (keyWord.matches(UU_REGEXP)) {
|
|
|
user = findUserByUserUU(Long.parseLong(keyWord));
|
|
|
}
|
|
|
if (user == null) {
|
|
|
throw new IllegalOperatorException("未查找到您输入账号的用户信息");
|
|
|
}
|
|
|
-
|
|
|
- UserInfo simpleUser = new UserInfo(user); // 将user重新封装为简单对象,只返回前台需要的用户信息
|
|
|
+ // 将user重新封装为简单对象,只返回前台需要的用户信息
|
|
|
+ UserInfo simpleUser = new UserInfo(user);
|
|
|
return simpleUser;
|
|
|
}
|
|
|
|
|
|
@@ -606,32 +622,13 @@ public class UserServiceImpl implements UserService {
|
|
|
List<User> users = new ArrayList<User>();
|
|
|
Set<User> userSet = new HashSet<User>();
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
-// if (keyword.contains("@")) { // 按邮箱查找
|
|
|
-// users = userDao.findUserByUserEmailAndEnUU(keyword, enUU);
|
|
|
-// } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
-// users = userDao.findUserByUserTelAndEnUU(keyword, enUU);
|
|
|
-// } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
-// users = userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword));
|
|
|
-// } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
-// users = userDao.findUserByUserNameAndEnUU(keyword, enUU);
|
|
|
-// }
|
|
|
userSet.addAll(userDao.findUserByUserEmailAndEnUU(keyword, enUU));
|
|
|
userSet.addAll(userDao.findUserByUserTelAndEnUU(keyword, enUU));
|
|
|
userSet.addAll(userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword)));
|
|
|
userSet.addAll(userDao.findUserByUserNameAndEnUU(keyword, enUU));
|
|
|
if (!CollectionUtils.isEmpty(userSet)) {
|
|
|
for (User user : users) {
|
|
|
- Set<Role> roles = user.getRoles();
|
|
|
- Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
- if (!CollectionUtils.isEmpty(roles)) {
|
|
|
- Iterator<Role> iterator = roles.iterator();
|
|
|
- while (iterator.hasNext()) {
|
|
|
- Role role = iterator.next();
|
|
|
- if (!role.getEnUU().equals(enuu)) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ user.setCurrentEnterpriseRoles(enUU);
|
|
|
}
|
|
|
}
|
|
|
return userSet;
|
|
|
@@ -665,12 +662,19 @@ public class UserServiceImpl implements UserService {
|
|
|
if (user == null) {
|
|
|
throw new IllegalArgumentException("不存在的用户!");
|
|
|
}
|
|
|
-
|
|
|
Set<Enterprise> enterprises = user.getEnterprises();
|
|
|
if (CollectionUtils.isEmpty(enterprises)) {
|
|
|
- enterprises = new HashSet<Enterprise>();
|
|
|
+ enterprises = new HashSet<>();
|
|
|
}
|
|
|
enterprises.add(SystemSession.getUser().getEnterprise());
|
|
|
+ List<Role> roles = roleDao.findByEnUUAndDesc(SystemSession.getUser().getEnterprise().getUu(), "普通用户");
|
|
|
+ if (roles.size() > 0) {
|
|
|
+ Set<Role> set = user.getRoles();
|
|
|
+ set.add(roles.get(0));
|
|
|
+ user.setRoles(set);
|
|
|
+ } else {
|
|
|
+ enterpriseDao.callInitProcedure((SystemSession.getUser().getEnterprise().getUu()));
|
|
|
+ }
|
|
|
user.setEnterprises(enterprises);
|
|
|
userDao.save(user);
|
|
|
try {
|
|
|
@@ -689,7 +693,7 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
Set<Enterprise> enterprises = user.getEnterprises();
|
|
|
if (CollectionUtils.isEmpty(enterprises)) {
|
|
|
- enterprises = new HashSet<Enterprise>();
|
|
|
+ enterprises = new HashSet<>();
|
|
|
}
|
|
|
if (enter != null) {
|
|
|
enterprises.add(enter);
|
|
|
@@ -860,7 +864,6 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
} else {
|
|
|
if (!CollectionUtils.isEmpty(butes)) {
|
|
|
-// distributeDao.delete(butes.get(0));
|
|
|
List<Distribute> deleteList = new ArrayList<>();
|
|
|
// 删除时,同时删除其绑定权限的其他用户
|
|
|
List<Distribute> distributes = distributeDao.findByVendorIdAndLeaderUU(vendors.get(0).getId(), u.getUserUU());
|