|
|
|
@ -36,17 +36,17 @@ import com.baiye.modules.system.repository.UserRepository;
|
|
|
|
|
import com.baiye.modules.system.service.CompanyService;
|
|
|
|
|
import com.baiye.modules.system.service.UserService;
|
|
|
|
|
import com.baiye.modules.system.service.dto.CompanyDto;
|
|
|
|
|
import com.baiye.modules.system.service.dto.CreateUserDTO;
|
|
|
|
|
import com.baiye.modules.system.service.dto.UserQueryCriteria;
|
|
|
|
|
import com.baiye.modules.system.service.mapstruct.UserMapper;
|
|
|
|
|
import com.baiye.service.UserCacheClean;
|
|
|
|
|
import com.baiye.util.*;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
|
import org.springframework.cache.annotation.CacheConfig;
|
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
|
import org.springframework.data.domain.Page;
|
|
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
@ -81,9 +81,11 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
private final OrganizeRepository organizeRepository;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@SneakyThrows
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public Boolean fileCreateUser(MultipartFile file, Long companyId, UserDto userDto) throws IOException {
|
|
|
|
|
public Boolean fileCreateUser(MultipartFile file, Long companyId, UserDto userDto){
|
|
|
|
|
List<UserFavorOfExcel> userFavorOfExcels =
|
|
|
|
|
EasyExcelFactory.read(file.getInputStream())
|
|
|
|
|
.head(UserFavorOfExcel.class)
|
|
|
|
@ -144,6 +146,51 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
companyService.deleteCompanyByCompanyId(companyId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void createUserOrFile(CreateUserDTO userDTO) {
|
|
|
|
|
Long companyId = null;
|
|
|
|
|
User user = new User();
|
|
|
|
|
boolean flag = Boolean.FALSE;
|
|
|
|
|
Long userId = SecurityUtils.getCurrentUserId();
|
|
|
|
|
Set<Role> roles = userDTO.getRoles();
|
|
|
|
|
if (CollUtil.isNotEmpty(roles)) {
|
|
|
|
|
for (Role role : roles) {
|
|
|
|
|
if (role.getId() == DefaultNumberConstants.EIGHT_NUMBER) {
|
|
|
|
|
flag = Boolean.TRUE;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (flag){
|
|
|
|
|
CompanyDto companyDto = new CompanyDto();
|
|
|
|
|
companyDto.setCompanyName(userDTO.getUsername());
|
|
|
|
|
companyDto.setStatus(DefaultNumberConstants.ZERO_NUMBER);
|
|
|
|
|
companyId = companyService.createCompany(companyDto).getId();
|
|
|
|
|
}
|
|
|
|
|
companyId = companyId != null ? companyId :
|
|
|
|
|
SecurityUtils.getCompanyId();
|
|
|
|
|
userDTO.setPassword(passwordEncoder.encode("123456"));
|
|
|
|
|
BeanUtil.copyProperties(userDTO, user);
|
|
|
|
|
user.setCompanyId(companyId);
|
|
|
|
|
user.setUsername(flag ||
|
|
|
|
|
userId == DefaultNumberConstants.ONE_NUMBER ? user.getUsername() :
|
|
|
|
|
companyService.findById(companyId).getCompanyName().concat(StrPool.COLON).concat(user.getUsername()));
|
|
|
|
|
user.setWhichUserId(userId);
|
|
|
|
|
User userCreateResult = create(user);
|
|
|
|
|
MultipartFile file = userDTO.getFile();
|
|
|
|
|
if (file != null && !file.isEmpty()) {
|
|
|
|
|
if (userId != DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
|
throw new BadRequestException("非超级管理员不能创建用户");
|
|
|
|
|
}
|
|
|
|
|
CompanyDto dto = new CompanyDto();
|
|
|
|
|
dto.setUserId(userCreateResult.getId());
|
|
|
|
|
fileCreateUser(file,
|
|
|
|
|
companyId, Convert.convert(UserDto.class, userCreateResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) {
|
|
|
|
|