From 0650ebdd29d1a501de81438e1d0b7de1c0a52031 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 24 三月 2023 11:39:48 +0800
Subject: [PATCH] bug修改
---
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 93 insertions(+), 8 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 42e9098..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;
/**
@@ -136,17 +146,92 @@
@ApiOperation("鐢ㄦ埛瀵煎嚭")
- @PostMapping("/import")
+ @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, "鐢ㄦ埛瀵煎嚭");
}
- @ApiOperation("閮ㄩ棬瀵煎叆")
+ @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