From e8a0f05f99f33fa05085536541da6bc27e66a644 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 14 四月 2023 14:57:55 +0800 Subject: [PATCH] bug修改 --- ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java | 97 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 91 insertions(+), 6 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java index fa325a3..3796ae0 100644 --- a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java +++ b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java @@ -1,14 +1,26 @@ package com.ycl.controller.user; import cn.hutool.core.collection.CollUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.controller.BaseController; import com.ycl.dto.*; +import com.ycl.dto.user.UmsAdminParamDto; +import com.ycl.dto.user.UmsUserDto1; +import com.ycl.entity.depart.UmsDepart; +import com.ycl.entity.dict.DataDictionary; import com.ycl.entity.user.UmsAdmin; import com.ycl.entity.user.UmsRole; +import com.ycl.mapper.depart.UmsDepartMapper; +import com.ycl.mapper.dict.DataDictionary2Mapper; +import com.ycl.mapper.user.UmsAdminMapper; +import com.ycl.mapper.user.UmsRoleMapper; import com.ycl.service.redis.RedisService; import com.ycl.service.user.UmsAdminService; import com.ycl.service.user.UmsMenuService; @@ -32,9 +44,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.security.Principal; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -138,15 +148,90 @@ @ApiOperation("鐢ㄦ埛瀵煎嚭") @PostMapping("/export") public void exportUser(HttpServletResponse response) { - List<UmsUserDto> umsUserDtos = adminService.userExp(); + List<UmsUserDto1> umsUserDtos = adminService.userExp(); String sheetName = "鐢ㄦ埛瀵煎嚭"; - EasyExcelUtils.export(response, sheetName, UmsUserDto.class, umsUserDtos); + EasyExcelUtils.export1(response, sheetName, UmsUserDto1.class, umsUserDtos, "鐢ㄦ埛瀵煎嚭"); } + @Resource + private UmsRoleMapper umsRoleMapper; + @Resource + private UmsAdminMapper umsAdminMapper; + @Resource + private DataDictionary2Mapper dataDictionary2Mapper; + @Resource + private UmsDepartMapper umsDepartMapper; @ApiOperation("鐢ㄦ埛瀵煎叆") @PostMapping("/import") public CommonResult importUser(MultipartFile file) throws IOException { - EasyExcelUtils.importDepartFile(file); + EasyExcel.read(file.getInputStream()) + .head(UmsAdminParamDto.class) + .registerReadListener(new ReadListener<UmsAdminParamDto>() { + @Override + public void invoke(UmsAdminParamDto item, AnalysisContext analysisContext) { + UmsAdminParam param = new UmsAdminParam(); + param.setUsername(item.getUsername()); + param.setPassword(item.getPassword()); + param.setNickName(item.getNickName()); + + String sex = item.getSex(); + if (sex.equals("鐢�")){ + param.setSex((byte) 1); + } else if (sex.equals("濂�")) { + param.setSex((byte) 0); + }else { + throw new RuntimeException("鎬у埆杈撳叆鏈夎"); + } + + String isDy = item.getIsDy(); + if (isDy.equals("鏄�")){ + param.setSex((byte) 1); + } else if (isDy.equals("鍚�")) { + param.setSex((byte) 0); + }else { + throw new RuntimeException("鍏氬憳杈撳叆鏈夎"); + } + + param.setMobile(item.getMobile()); + param.setEmail(item.getEmail()); + + String role = item.getRole(); + UmsRole umsRole = umsRoleMapper.selectOne(new LambdaQueryWrapper<UmsRole>().eq(UmsRole::getName, role)); + if (Objects.isNull(umsRole)){ + param.setRoleIds(null); + }else { + List list = new ArrayList<>(); + list.add(umsRole.getId()); + param.setRoleIds(list); + } + + String userType = item.getUserType(); + DataDictionary dataDictionary = dataDictionary2Mapper.selectOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getName, userType)); + if (Objects.isNull(dataDictionary)){ + throw new RuntimeException("鐢ㄦ埛绫诲瀷涓嶅瓨鍦�"); + }else { + param.setUserType(dataDictionary.getId().intValue()); + } + + String department = item.getDepartment(); + UmsDepart umsDepart = umsDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, department)); + if (Objects.isNull(umsDepart)){ + throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�"); + }else { + param.setDepartmentId(umsDepart.getId()); + } + + param.setJobTitle(item.getJobTitle()); + + adminService.importExcl(param); + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); return CommonResult.success(true, "瀵煎叆鎴愬姛"); } -- Gitblit v1.8.0