|
|
@ -24,6 +24,7 @@ import cn.hutool.core.text.StrPool;
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
|
import com.baiye.config.BusinessConfig;
|
|
|
|
import com.baiye.config.BusinessConfig;
|
|
|
|
import com.baiye.config.properties.FileProperties;
|
|
|
|
import com.baiye.config.properties.FileProperties;
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
@ -54,6 +55,7 @@ import com.baiye.modules.telemarkting.service.ExtensionNumberService;
|
|
|
|
import com.baiye.util.*;
|
|
|
|
import com.baiye.util.*;
|
|
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@ -74,6 +76,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
import java.util.concurrent.ConcurrentMap;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -135,12 +138,14 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
public Boolean fileCreateUser(List<UserFavorOfExcel> excels, Long companyId, UserDto userDto) {
|
|
|
|
public Map<String, String> fileCreateUser(List<UserFavorOfExcel> excels, Long companyId, UserDto userDto) {
|
|
|
|
Company byId = companyService.findById(companyId);
|
|
|
|
Company byId = companyService.findById(companyId);
|
|
|
|
|
|
|
|
Map<String, String> map = Maps.newConcurrentMap();
|
|
|
|
if (CollUtil.isNotEmpty(excels) && byId != null) {
|
|
|
|
if (CollUtil.isNotEmpty(excels) && byId != null) {
|
|
|
|
User copyUser;
|
|
|
|
User copyUser;
|
|
|
|
Set<Role> roles = new HashSet<>();
|
|
|
|
Set<Role> roles = new HashSet<>();
|
|
|
|
roles.add(repository.findById((long) DefaultNumberConstants.FIVE_NUMBER).orElseGet(Role::new));
|
|
|
|
roles.add(repository.findById((long) DefaultNumberConstants.FIVE_NUMBER).orElseGet(Role::new));
|
|
|
|
|
|
|
|
|
|
|
|
for (UserFavorOfExcel user : excels) {
|
|
|
|
for (UserFavorOfExcel user : excels) {
|
|
|
|
copyUser = new User();
|
|
|
|
copyUser = new User();
|
|
|
|
BeanUtil.copyProperties(user, copyUser);
|
|
|
|
BeanUtil.copyProperties(user, copyUser);
|
|
|
@ -154,18 +159,20 @@ public class UserServiceImpl implements UserService {
|
|
|
|
if (userRepository.findByPhone(user.getPhone()) != null) {
|
|
|
|
if (userRepository.findByPhone(user.getPhone()) != null) {
|
|
|
|
throw new EntityExistException(User.class, "phone", user.getPhone());
|
|
|
|
throw new EntityExistException(User.class, "phone", user.getPhone());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 随机密码
|
|
|
|
|
|
|
|
String randomNumbers = RandomUtil.randomNumbers(DefaultNumberConstants.SIX_NUMBER);
|
|
|
|
copyUser.setUsername(username);
|
|
|
|
copyUser.setUsername(username);
|
|
|
|
copyUser.setPassword(passwordEncoder.encode
|
|
|
|
copyUser.setPassword(passwordEncoder.encode
|
|
|
|
(org.apache.commons.lang3.StringUtils.isEmpty(user.getPassword())
|
|
|
|
(org.apache.commons.lang3.StringUtils.isEmpty(user.getPassword())
|
|
|
|
? user.getPassword() : "123456"));
|
|
|
|
? user.getPassword() : randomNumbers));
|
|
|
|
copyUser.setWhichUserId(userDto.getId());
|
|
|
|
copyUser.setWhichUserId(userDto.getId());
|
|
|
|
copyUser.setCompanyId(companyId);
|
|
|
|
copyUser.setCompanyId(companyId);
|
|
|
|
copyUser.setEnabled(Boolean.FALSE);
|
|
|
|
copyUser.setEnabled(Boolean.FALSE);
|
|
|
|
|
|
|
|
map.put(username, randomNumbers);
|
|
|
|
userRepository.save(copyUser);
|
|
|
|
userRepository.save(copyUser);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return Boolean.TRUE;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return Boolean.FALSE;
|
|
|
|
return map;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -214,7 +221,8 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
public void createUserOrFile(CreateUserDTO userDTO) {
|
|
|
|
public Map<String, String> createUserOrFile(CreateUserDTO userDTO) {
|
|
|
|
|
|
|
|
Map<String, String> userMap = Maps.newConcurrentMap();
|
|
|
|
Long companyId = null;
|
|
|
|
Long companyId = null;
|
|
|
|
User user = new User();
|
|
|
|
User user = new User();
|
|
|
|
boolean flag = Boolean.FALSE;
|
|
|
|
boolean flag = Boolean.FALSE;
|
|
|
@ -236,9 +244,10 @@ public class UserServiceImpl implements UserService {
|
|
|
|
companyDto.setStatus(DefaultNumberConstants.ZERO_NUMBER);
|
|
|
|
companyDto.setStatus(DefaultNumberConstants.ZERO_NUMBER);
|
|
|
|
companyId = companyService.createCompany(companyDto).getId();
|
|
|
|
companyId = companyService.createCompany(companyDto).getId();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
String randomNumbers = RandomUtil.randomNumbers(DefaultNumberConstants.SIX_NUMBER);
|
|
|
|
companyId = companyId != null ? companyId :
|
|
|
|
companyId = companyId != null ? companyId :
|
|
|
|
SecurityUtils.getCompanyId();
|
|
|
|
SecurityUtils.getCompanyId();
|
|
|
|
userDTO.setPassword(passwordEncoder.encode("123456"));
|
|
|
|
userDTO.setPassword(passwordEncoder.encode(randomNumbers));
|
|
|
|
// 验证子账号
|
|
|
|
// 验证子账号
|
|
|
|
Integer sonUserNum = companyService.findCompanyInfo(companyId).getSonUserNum();
|
|
|
|
Integer sonUserNum = companyService.findCompanyInfo(companyId).getSonUserNum();
|
|
|
|
int size = userRepository.findByCompanyId(companyId).size();
|
|
|
|
int size = userRepository.findByCompanyId(companyId).size();
|
|
|
@ -253,6 +262,7 @@ public class UserServiceImpl implements UserService {
|
|
|
|
user.setWhichUserId(userId);
|
|
|
|
user.setWhichUserId(userId);
|
|
|
|
user.setIsReview(Boolean.FALSE);
|
|
|
|
user.setIsReview(Boolean.FALSE);
|
|
|
|
user.setTurnCrmNum(50);
|
|
|
|
user.setTurnCrmNum(50);
|
|
|
|
|
|
|
|
userMap.put(user.getUsername(), randomNumbers);
|
|
|
|
User userCreateResult = create(user);
|
|
|
|
User userCreateResult = create(user);
|
|
|
|
|
|
|
|
|
|
|
|
//todo 如果是管理员 则创建任务
|
|
|
|
//todo 如果是管理员 则创建任务
|
|
|
@ -276,9 +286,12 @@ public class UserServiceImpl implements UserService {
|
|
|
|
CompanyDto dto = new CompanyDto();
|
|
|
|
CompanyDto dto = new CompanyDto();
|
|
|
|
dto.setUserId(userCreateResult.getId());
|
|
|
|
dto.setUserId(userCreateResult.getId());
|
|
|
|
List<UserFavorOfExcel> userFavorOfExcels = ReadExcelUtils.readExcelByClass(file, UserFavorOfExcel.class);
|
|
|
|
List<UserFavorOfExcel> userFavorOfExcels = ReadExcelUtils.readExcelByClass(file, UserFavorOfExcel.class);
|
|
|
|
fileCreateUser(userFavorOfExcels,
|
|
|
|
Map<String, String> map = fileCreateUser(userFavorOfExcels,
|
|
|
|
companyId, Convert.convert(UserDto.class, userCreateResult));
|
|
|
|
companyId, Convert.convert(UserDto.class, userCreateResult));
|
|
|
|
|
|
|
|
// 插入文件导入用户
|
|
|
|
|
|
|
|
userMap.putAll(map);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return userMap;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|