|
|
@@ -1,38 +1,10 @@
|
|
|
package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
-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;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
-import org.springframework.util.StringUtils;
|
|
|
-
|
|
|
import com.uas.account.entity.UserDetail;
|
|
|
import com.uas.account.util.AccountUtils;
|
|
|
import com.uas.message.mail.service.MailService;
|
|
|
-import com.uas.platform.b2b.dao.CommonDao;
|
|
|
-import com.uas.platform.b2b.dao.DistributeDao;
|
|
|
-import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
-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.dao.*;
|
|
|
+import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.service.UserService;
|
|
|
import com.uas.platform.b2b.service.VendorService;
|
|
|
import com.uas.platform.b2b.support.MessageConf;
|
|
|
@@ -42,9 +14,29 @@ import com.uas.platform.b2b.support.TokenService;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
import com.uas.platform.core.exception.SystemException;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
+import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
+import com.uas.platform.core.persistence.criteria.CriterionExpression;
|
|
|
+import com.uas.platform.core.persistence.criteria.LogicalExpression;
|
|
|
+import com.uas.platform.core.persistence.criteria.SimpleExpression;
|
|
|
import com.uas.platform.core.util.AgentUtils;
|
|
|
import com.uas.platform.core.util.encry.Md5Utils;
|
|
|
+import com.uas.search.b2b.model.SPage;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @since 2016-9-26 21:18:35 账户中心统一管理;部分功能保留,但转移到v2目录
|
|
|
@@ -292,6 +284,51 @@ public class UserServiceImpl implements UserService {
|
|
|
return newUser;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public SPage<User> findByPageInfo(PageInfo pageInfo, String keyword) {
|
|
|
+ Page<User> users = getUsersByPage(pageInfo, keyword);
|
|
|
+ SPage<User> userInfos = new SPage<User>();
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userInfos.setTotalPage(users.getTotalPages());
|
|
|
+ userInfos.setSize(users.getSize());
|
|
|
+ userInfos.setPage(users.getNumber());
|
|
|
+ userInfos.setTotalElement(users.getTotalElements());
|
|
|
+ userInfos.setContent(users.getContent());
|
|
|
+ return userInfos;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Page<User> getUsersByPage(final PageInfo pageInfo, String keyword) {
|
|
|
+ Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ if(StringUtils.hasText(keyword)) {
|
|
|
+ if (keyword.contains("@")) { // 按邮箱查找
|
|
|
+ return userDao.findUserByUserEmailAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
+ } else if (keyword.matches(TEL_REGEXP)) { // 按手机号查找
|
|
|
+ return userDao.findUserByUserTelAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
+ } else if (keyword.matches(UU_REGEXP)) { // 按UU号查找
|
|
|
+ return userDao.findByEnUUAndUserUU(enuu, Long.parseLong(keyword.trim()), pageInfo);
|
|
|
+ } else if (!keyword.contains("@") && (keyword.matches(CHINESE_REGEXP) || keyword.matches(ENGLISH_REGEXP))) {// 按名字查找
|
|
|
+ return userDao.findUserByUserNameAndEnUU(keyword.trim(), enuu, pageInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return userDao.findEnUUByAndPage(enuu, pageInfo);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public User updatePassword(User user, String password, String newPassword) {
|