|
|
|
@ -15,23 +15,20 @@
|
|
|
|
|
*/
|
|
|
|
|
package com.baiye.modules.system.rest;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
|
|
import cn.hutool.core.text.StrPool;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.alibaba.excel.EasyExcelFactory;
|
|
|
|
|
import com.baiye.annotation.Inner;
|
|
|
|
|
import com.baiye.config.properties.RsaProperties;
|
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
|
import com.baiye.constant.RoleNumberConstants;
|
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
|
import com.baiye.model.dto.RoleSmallDto;
|
|
|
|
|
import com.baiye.model.dto.UserDto;
|
|
|
|
|
import com.baiye.modules.system.domain.Role;
|
|
|
|
|
import com.baiye.model.dto.UserFavorOfExcel;
|
|
|
|
|
import com.baiye.model.enums.ResponseCode;
|
|
|
|
|
import com.baiye.modules.system.domain.User;
|
|
|
|
|
import com.baiye.modules.system.domain.vo.UserPassVo;
|
|
|
|
|
import com.baiye.modules.system.service.*;
|
|
|
|
|
import com.baiye.model.dto.RoleSmallDto;
|
|
|
|
|
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.util.RsaUtils;
|
|
|
|
@ -39,6 +36,7 @@ import com.baiye.util.SecurityUtils;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
@ -66,12 +64,13 @@ import java.util.stream.Collectors;
|
|
|
|
|
public class UserController {
|
|
|
|
|
|
|
|
|
|
private final PasswordEncoder passwordEncoder;
|
|
|
|
|
private final CompanyService companyService;
|
|
|
|
|
private final UserService userService;
|
|
|
|
|
private final DataService dataService;
|
|
|
|
|
private final DeptService deptService;
|
|
|
|
|
private final RoleService roleService;
|
|
|
|
|
|
|
|
|
|
@Value("${template.download-personnel-list}")
|
|
|
|
|
private String personnelList;
|
|
|
|
|
|
|
|
|
|
@ApiOperation("导出用户数据")
|
|
|
|
|
@GetMapping(value = "/download")
|
|
|
|
|
@PreAuthorize("@el.check('user:list')")
|
|
|
|
@ -142,18 +141,27 @@ public class UserController {
|
|
|
|
|
|
|
|
|
|
@ApiOperation("导入用户")
|
|
|
|
|
@PostMapping(value = "/importUsers")
|
|
|
|
|
public ResponseEntity<Object> indexConvert(@RequestParam("file") MultipartFile file)
|
|
|
|
|
throws IOException {
|
|
|
|
|
public ResponseEntity<Object> indexConvert(@RequestParam("file") MultipartFile file) {
|
|
|
|
|
if (file != null && !file.isEmpty()) {
|
|
|
|
|
UserDto userDto = JSONUtil.toBean(SecurityUtils.getUser(), UserDto.class);
|
|
|
|
|
userService.fileCreateUser(file, userDto.getCompanyId(), userDto);
|
|
|
|
|
|
|
|
|
|
List<UserFavorOfExcel> userFavorOfExcels;
|
|
|
|
|
try {
|
|
|
|
|
userFavorOfExcels = EasyExcelFactory.read(file.getInputStream())
|
|
|
|
|
.head(UserFavorOfExcel.class)
|
|
|
|
|
.sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER)
|
|
|
|
|
.doReadSync();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new BadRequestException(ResponseCode.READ_FILE_ERROR.getDesc());
|
|
|
|
|
}
|
|
|
|
|
userService.fileCreateUser(userFavorOfExcels, userDto.getCompanyId(), userDto);
|
|
|
|
|
}
|
|
|
|
|
return new ResponseEntity<>(HttpStatus.OK);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation("创建或导入用户")
|
|
|
|
|
@PostMapping(value = "/createUsers")
|
|
|
|
|
public ResponseEntity<Object> createUsers(@Validated @RequestBody CreateUserDTO userDTO) throws IOException {
|
|
|
|
|
public ResponseEntity<Object> createUsers(@Validated @RequestBody CreateUserDTO userDTO) {
|
|
|
|
|
userService.createUserOrFile(userDTO);
|
|
|
|
|
return new ResponseEntity<>(HttpStatus.OK);
|
|
|
|
|
}
|
|
|
|
@ -256,4 +264,9 @@ public class UserController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("人员模板下载")
|
|
|
|
|
@GetMapping("/personnelList")
|
|
|
|
|
public ResponseEntity<Object> downLoadTemplateMove() {
|
|
|
|
|
return new ResponseEntity<>(personnelList, HttpStatus.OK);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|