From 9575242f02f828010548846320fafa1574260ca6 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期五, 17 三月 2023 23:09:35 +0800
Subject: [PATCH] 人员管理导出

---
 ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java |   10 ++--
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java    |   25 ++++++++++++
 ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java             |    5 ++
 ycl-common/src/main/java/com/ycl/dto/UmsUserDto.java                           |   46 +++++++++++++++++++++++
 ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java       |   26 +++++++++++-
 5 files changed, 103 insertions(+), 9 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 bbb7d71..42e9098 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
@@ -6,14 +6,13 @@
 import com.ycl.api.CommonResult;
 import com.ycl.bo.AdminUserDetails;
 import com.ycl.controller.BaseController;
-import com.ycl.dto.UmsAdminLoginParam;
-import com.ycl.dto.UmsAdminParam;
-import com.ycl.dto.UpdateAdminPasswordParam;
+import com.ycl.dto.*;
 import com.ycl.entity.user.UmsAdmin;
 import com.ycl.entity.user.UmsRole;
 import com.ycl.service.redis.RedisService;
 import com.ycl.service.user.UmsAdminService;
 import com.ycl.service.user.UmsMenuService;
+import com.ycl.utils.EasyExcelUtils;
 import com.ycl.utils.redis.RedisKey;
 import com.ycl.vo.user.UserVO;
 import io.swagger.annotations.Api;
@@ -26,9 +25,12 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.security.Principal;
 import java.util.HashMap;
 import java.util.List;
@@ -132,6 +134,24 @@
         return CommonResult.success(page);
     }
 
+
+    @ApiOperation("鐢ㄦ埛瀵煎嚭")
+    @PostMapping("/import")
+    public void exportUser(HttpServletResponse response) {
+        List<UmsUserDto> umsUserDtos = adminService.userExp();
+        String sheetName = "鐢ㄦ埛瀵煎嚭";
+        EasyExcelUtils.export(response, sheetName, UmsUserDto.class, umsUserDtos);
+    }
+
+    @ApiOperation("閮ㄩ棬瀵煎叆")
+    @PostMapping("/import")
+    public CommonResult importUser(MultipartFile file) throws IOException {
+        EasyExcelUtils.importDepartFile(file);
+        return CommonResult.success(true, "瀵煎叆鎴愬姛");
+    }
+
+
+
     @ApiOperation("鑾峰彇鎸囧畾鐢ㄦ埛淇℃伅")
     @RequestMapping(value = "/{id}", method = RequestMethod.GET)
     @ResponseBody
diff --git a/ycl-common/src/main/java/com/ycl/dto/UmsUserDto.java b/ycl-common/src/main/java/com/ycl/dto/UmsUserDto.java
new file mode 100644
index 0000000..7b7ce19
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/dto/UmsUserDto.java
@@ -0,0 +1,46 @@
+package com.ycl.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ycl.entity.depart.UmsDepart;
+import com.ycl.entity.user.UmsRole;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class UmsUserDto {
+
+    @ExcelProperty(value = "鐢ㄦ埛ID", index = 0)
+    private Long id;
+
+    @ExcelProperty(value = "鐢ㄦ埛鍚嶇О", index = 1)
+    private String username;
+
+    @ExcelProperty(value = "鎵�灞炲鍚�", index = 2)
+    private String nickName;
+
+    @ExcelProperty(value = "鑱旂郴鏂瑰紡", index = 3)
+    private String mobile;
+
+    @ExcelProperty(value = "鎵�灞炶鑹�", index = 4)
+    private List<UmsRole> roles;
+
+    @ExcelProperty(value = "鎵�灞為儴闂�", index = 5)
+    private List<UmsDepart> depart;
+
+    @ExcelProperty(value = "鎵�灞炶亴鍔�", index = 6)
+    private String jobTitle;
+
+    @ExcelProperty(value = "鍒涘缓鏃堕棿", index = 7)
+    private Date createTime;
+
+    @ExcelProperty(value = "鏄惁鍚敤", index = 8)
+    private Integer status;
+}
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
index 37c074b..a008173 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -145,17 +145,17 @@
         List<UmsDepart> umsDeparts = sccgDepartMapper.selectDepartList();
         List<UmsDepartDto> res = umsDeparts
                 .stream()
-                .map(umsDepart -> {
+                .map(item -> {
                     UmsDepartDto umsDepartDto = new UmsDepartDto();
-                    umsDepartDto.setId(umsDepart.getId());
-                    umsDepartDto.setDepartType(umsDepart.getDepartType());
-                    UmsDepart umsDepartFather = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepart.getId()));
+                    umsDepartDto.setId(item.getId());
+                    umsDepartDto.setDepartType(item.getDepartType());
+                    UmsDepart umsDepartFather = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, item.getId()));
                     if (Objects.isNull(umsDepartFather)){
                         umsDepartDto.setParentDepartName("");
                     }else {
                         umsDepartDto.setParentDepartName(umsDepartFather.getDepartName());
                     }
-                    umsDepartDto.setDepartDes(umsDepart.getDepartDes());
+                    umsDepartDto.setDepartDes(item.getDepartDes());
                     return umsDepartDto;
                 }).collect(Collectors.toList());
         return res;
diff --git a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
index 5f23c20..5bb9f37 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
@@ -4,10 +4,10 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.dto.UmsAdminParam;
+import com.ycl.dto.UmsUserDto;
 import com.ycl.dto.UpdateAdminPasswordParam;
 import com.ycl.entity.user.UmsAdmin;
 import com.ycl.entity.user.UmsMenu;
-import com.ycl.entity.user.UmsResource;
 import com.ycl.entity.user.UmsRole;
 import com.ycl.vo.user.UserVO;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -97,6 +97,8 @@
      */
     IPage<UmsAdmin> pageUser(UserVO.PageUserVO pageUserVO);
 
+    List<UmsUserDto> userExp();
+
     /**
      * 鎵归噺鍒犻櫎鐢ㄦ埛
      */
@@ -113,4 +115,5 @@
 
     List<UmsAdmin> getDepartUser(Long departId);
     String getTargetTo(String ids, String sendType);
+
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index 2e3e399..3ba1f4d 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -8,6 +8,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.bo.AdminUserDetails;
 import com.ycl.dto.UmsAdminParam;
+import com.ycl.dto.UmsUserDto;
 import com.ycl.dto.UpdateAdminPasswordParam;
 import com.ycl.entity.user.*;
 import com.ycl.exception.ApiException;
@@ -45,6 +46,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -384,6 +386,27 @@
     }
 
     @Override
+    public List<UmsUserDto> userExp() {
+        List<UmsAdmin> umsAdmins = baseMapper.selectList(null);
+        List<UmsUserDto> res = umsAdmins
+                .stream()
+                .map(item -> {
+                    UmsUserDto res1 = new UmsUserDto();
+                    res1.setId(item.getId());
+                    res1.setUsername(item.getUsername());
+                    res1.setNickName(item.getNickName());
+                    res1.setMobile(item.getMobile());
+                    res1.setRoles(item.getRoles());
+                    res1.setDepart(item.getDepart());
+                    res1.setJobTitle(item.getJobTitle());
+                    res1.setCreateTime(item.getCreateTime());
+                    res1.setStatus(item.getStatus());
+                    return res1;
+                }).collect(Collectors.toList());
+        return res;
+    }
+
+    @Override
     public boolean deleteBatch(List<Long> ids) {
         boolean success = removeByIds(ids);
         getCacheService().delBatchAdmin(ids);
@@ -432,4 +455,6 @@
         }
         return str;
     }
+
+
 }

--
Gitblit v1.8.0