|
|
@@ -52,6 +52,7 @@ import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author US50
|
|
|
@@ -624,15 +625,16 @@ public class UserServiceImpl implements UserService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Set<User> findUsersByKeyWord(String keyword) {
|
|
|
- List<User> users = new ArrayList<User>();
|
|
|
- Set<User> userSet = new HashSet<User>();
|
|
|
+ Set<User> userSet = new HashSet<>();
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
userSet.addAll(userDao.findUserByUserEmailAndEnUU(keyword, enUU));
|
|
|
userSet.addAll(userDao.findUserByUserTelAndEnUU(keyword, enUU));
|
|
|
- userSet.addAll(userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword)));
|
|
|
+ if (keyword.matches(UU_REGEXP)) {
|
|
|
+ userSet.addAll(userDao.findByEnUUAndUserUU(enUU, Long.parseLong(keyword)));
|
|
|
+ }
|
|
|
userSet.addAll(userDao.findUserByUserNameAndEnUU(keyword, enUU));
|
|
|
if (!CollectionUtils.isEmpty(userSet)) {
|
|
|
- for (User user : users) {
|
|
|
+ for (User user : userSet) {
|
|
|
user.setCurrentEnterpriseRoles(enUU);
|
|
|
}
|
|
|
}
|
|
|
@@ -741,6 +743,8 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public boolean addCustomerToUser(Long userUU, List<Vendor> vendors) {
|
|
|
if (!CollectionUtils.isEmpty(vendors)) {
|
|
|
+ List<Distribute> needToSave = new ArrayList<>();
|
|
|
+ List<Distribute> needToRemove = new ArrayList<>();
|
|
|
for (Vendor vendor : vendors) {
|
|
|
Distribute disbute = new Distribute();
|
|
|
if (vendor.getDistribute()) {
|
|
|
@@ -748,15 +752,21 @@ public class UserServiceImpl implements UserService {
|
|
|
if (CollectionUtils.isEmpty(disbutes)) {
|
|
|
disbute.setUserUU(userUU);
|
|
|
disbute.setVendorId(vendor.getId());
|
|
|
- distributeDao.save(disbute);
|
|
|
+ needToSave.add(disbute);
|
|
|
}
|
|
|
} else {
|
|
|
List<Distribute> disbutes = distributeDao.findByUserUUAndVendorId(userUU, vendor.getId());
|
|
|
if (!CollectionUtils.isEmpty(disbutes)) {
|
|
|
- distributeDao.delete(disbutes.get(0));
|
|
|
+ needToRemove.add(disbutes.get(0));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (!CollectionUtils.isEmpty(needToSave)) {
|
|
|
+ distributeDao.save(needToSave);
|
|
|
+ }
|
|
|
+ if (!CollectionUtils.isEmpty(needToRemove)) {
|
|
|
+ distributeDao.delete(needToRemove);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
@@ -764,19 +774,8 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Override
|
|
|
public List<Vendor> findChooseVendor(Long userUU) {
|
|
|
- List<Vendor> vendors = vendorDao.findByVendEnUU(SystemSession.getUser().getEnterprise().getUu());
|
|
|
- List<Vendor> vendors2 = new ArrayList<Vendor>();
|
|
|
- List<Distribute> distributes = distributeDao.findByUserUU(userUU);
|
|
|
- if (!CollectionUtils.isEmpty(distributes) && !CollectionUtils.isEmpty(vendors)) {
|
|
|
- for (Distribute d : distributes) {
|
|
|
- for (int i = 0; i < vendors.size(); i++) {
|
|
|
- if (d.getVendorId().equals(vendors.get(i).getId())) {
|
|
|
- vendors2.add(vendors.get(i));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return vendors2;
|
|
|
+ List<Distribute> distributes = distributeDao.findByUserUUAndVendorUU(userUU, SystemSession.getUser().getEnterprise().getUu());
|
|
|
+ return distributes.stream().map(Distribute::getVendor).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -833,10 +832,11 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Override
|
|
|
public SPage<UserBaseInfo> findUserInfoDistribute(Long id, PageParams params, String keyword) {
|
|
|
- List<Distribute> butes = vendorService.findByVeId(id);
|
|
|
SPage<UserBaseInfo> userBaseInfoSPage = vendorService.findUserInfoByPage(params, keyword);
|
|
|
- if (!CollectionUtils.isEmpty(userBaseInfoSPage.getContent())) {
|
|
|
- if (!CollectionUtils.isEmpty(butes)) {
|
|
|
+ if (!CollectionUtils.isEmpty(userBaseInfoSPage.getContent())) {
|
|
|
+ List<Long> userUUList = userBaseInfoSPage.getContent().stream().map(UserBaseInfo::getUserUU).collect(Collectors.toList());
|
|
|
+ List<Distribute> butes = distributeDao.findByVendorIdAndUserUUIn(id, userUUList);
|
|
|
+ if (!CollectionUtils.isEmpty(butes)) {
|
|
|
for (UserBaseInfo u : userBaseInfoSPage.getContent()) {
|
|
|
for (Distribute d : butes) {
|
|
|
if (u.getUserUU().equals(d.getUserUU())) {
|