From e8514175f6cf73c5d006ec4d253afb46b18f1840 Mon Sep 17 00:00:00 2001 From: whyczh <hzjl@qq.com> Date: 星期三, 28 四月 2021 09:25:40 +0800 Subject: [PATCH] 添加批量导入用户功能 --- src/main/java/com/whyc/controller/UserController.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/controller/UserController.java b/src/main/java/com/whyc/controller/UserController.java index fe4fc6f..c1c921a 100644 --- a/src/main/java/com/whyc/controller/UserController.java +++ b/src/main/java/com/whyc/controller/UserController.java @@ -1,5 +1,8 @@ package com.whyc.controller; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,13 +14,17 @@ import com.whyc.service.JobService; import com.whyc.service.LoginService; import com.whyc.service.UserService; +import com.whyc.util.UserExcelVerify; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -35,6 +42,9 @@ @Resource private JobService jobService; + + @Resource + private UserExcelVerify userExcelVerify; @PostMapping @ApiOperation(value = "娣诲姞鐢ㄦ埛") @@ -145,4 +155,55 @@ return jobService.delete(id); } + + @PostMapping("/importUserExcel") + @ApiOperation(value = "瀵煎叆鐢ㄦ埛鏁版嵁") + public Response importExcel2(@RequestParam("file") MultipartFile file) { + Response response = new Response(); + ImportParams importParams = new ImportParams(); + // 鏁版嵁澶勭悊 + importParams.setTitleRows(0); //璁剧疆鏍囬绗�1琛屽紑濮� + importParams.setHeadRows(1); //璁剧疆寮�濮嬭浠庣3琛屽紑濮� + // 闇�瑕侀獙璇� + importParams.setNeedVerify(true); + //璁惧強涓�涓嚜瀹氫箟鏍¢獙 锛堣嚜瀹氫箟鏍¢獙鍚嶅瓧涓嶅彲閲嶅锛� 浣跨敤娉ㄨВ娉ㄥ叆 + //UserExcelVerify userExcelVerify = new UserExcelVerify(); + importParams.setVerifyHandler(userExcelVerify); + try { + ExcelImportResult<User> result = ExcelImportUtil.importExcelMore(file.getInputStream(), User.class, + importParams); + List<User> successList = result.getList(); + //澶辫触缁撴灉闆� + List<User> failList = result.getFailList(); + /*failList.forEach(user -> { + System.out.println("楠岃瘉澶辫触鐨勪俊鎭細"+user+userExcelVerify.verifyHandler(user).getMsg()); + }); + successList.forEach(x->{ + System.out.println("閫氳繃楠岃瘉鐨勬暟鎹細"+x.toString()); + });*/ + String msg = ""; + for (User entity : result.getFailList()) { + msg += "绗�" + entity.getRowNum() + "琛岀殑閿欒鏄細" + entity.getErrorMsg()+";\n"; + //System.out.println(msg); + } + if (!successList.isEmpty()){ + boolean success = userService.addBatch(successList); + if (success && failList.isEmpty()){ + response.set(1,"鎴愬姛瀵煎叆"+successList.size()+"鏉℃暟鎹�;"); + } + }else{ + response.set(1,failList,"鎴愬姛瀵煎叆"+successList.size()+"鏉℃暟鎹�"+";瀵煎叆澶辫触"+failList.size()+"鏉℃暟鎹�;\n"+msg); + } + + + } catch (IOException e) { + e.printStackTrace(); + response.setMsg(0,"瀵煎叆澶辫触"); + } catch (Exception e) { + e.printStackTrace(); + response.setMsg(0,"瀵煎叆澶辫触"); + } + return response; + } + } -- Gitblit v1.9.1