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