Commit 6128e14e authored by lings's avatar lings

人员导入

parent 61387519
package io.hmit.modules.serviceOrder.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import io.hmit.common.annotation.LogOperation;
import io.hmit.common.constant.Constant;
import io.hmit.common.exception.ErrorCode;
import io.hmit.common.page.PageData;
import io.hmit.common.utils.ConvertUtils;
import io.hmit.common.utils.ExcelUtils;
import io.hmit.common.utils.Result;
import io.hmit.common.validator.AssertUtils;
......@@ -10,6 +15,7 @@ import io.hmit.common.validator.ValidatorUtils;
import io.hmit.common.validator.group.AddGroup;
import io.hmit.common.validator.group.DefaultGroup;
import io.hmit.common.validator.group.UpdateGroup;
import io.hmit.modules.security.user.SecurityUser;
import io.hmit.modules.serviceOrder.dto.UserDTO;
import io.hmit.modules.serviceOrder.excel.UserExcel;
import io.hmit.modules.serviceOrder.service.RoleUserService;
......@@ -18,12 +24,18 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
......@@ -42,6 +54,8 @@ public class UserController {
private UserService userService;
@Autowired
private RoleUserService roleUserService;
@Value("${QR.download-path}")
private String QRPath;
@GetMapping("page")
@ApiOperation("分页")
......@@ -63,7 +77,7 @@ public class UserController {
@RequiresPermissions("serviceOrder:user:info")
public Result<UserDTO> get(@PathVariable("id") Long id){
UserDTO data = userService.get(id);
roleUserService.getRoleIdList(data.getId());
data.setRoleIdList(roleUserService.getRoleIdList(data.getId()));
return new Result<UserDTO>().ok(data);
}
......@@ -119,4 +133,48 @@ public class UserController {
ExcelUtils.exportExcelToTarget(response, null, list, UserExcel.class);
}
@PostMapping("importUserByExcel")
@ApiOperation("导入")
@LogOperation("导入")
// @RequiresPermissions("ops:assets:export")
public Result importUserByExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
if (file.isEmpty()) {
return new Result<>().error(ErrorCode.UPLOAD_FILE_EMPTY);
}
String file_path = QRPath + file.getOriginalFilename();
File filePath = new File(file_path);
if (!filePath.getParentFile().exists()) {
filePath.mkdirs();
}
try {
file.transferTo(filePath);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
ImportParams params_import = new ImportParams();
params_import.setHeadRows(1);
params_import.setTitleRows(0);
String[] importFields = {"用户名","手机号","生日","地址_地区","详细地址"};
params_import.setImportFields(importFields);
params_import.setNeedVerify(true);
try {
// List<UserExcel> list = ExcelImportUtil.importExcel(filePath, UserExcel.class, params_import);
ExcelImportResult<UserExcel> result = null;
result = ExcelImportUtil.importExcelMore(filePath, UserExcel.class, params_import);
if (!result.isVerfiyFail()) {
List<UserExcel> list = result.getList();
for (UserExcel userExcel : list) {
userService.save(ConvertUtils.sourceToTarget(userExcel,UserDTO.class));
}
return new Result().ok("成功");
}else{
return new Result().error("上传的表格内容存在空值和错误!");
}
} catch (Exception e) {
// throw new IOException(e.getMessage());
return new Result().error(e.getMessage());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment