From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 14 四月 2025 23:10:22 +0800 Subject: [PATCH] 批量审核和图片保存bug --- ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java | 148 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 133 insertions(+), 15 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 f3d12e7..84a37de 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,18 +1,31 @@ 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.UmsAdminLoginParam; -import com.ycl.dto.UmsAdminParam; -import com.ycl.dto.UpdateAdminPasswordParam; +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.UmsRoleService; +import com.ycl.service.user.UmsMenuService; +import com.ycl.utils.AesEncryptUtil; +import com.ycl.utils.EasyExcelUtils; import com.ycl.utils.redis.RedisKey; import com.ycl.vo.user.UserVO; import io.swagger.annotations.Api; @@ -21,16 +34,18 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.context.SecurityContextHolder; 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; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -47,7 +62,7 @@ @Autowired private UmsAdminService adminService; @Autowired - private UmsRoleService roleService; + UmsMenuService umsMenuService; @Resource private RedisService redisService; @@ -66,8 +81,10 @@ @ApiOperation(value = "鐧诲綍浠ュ悗杩斿洖token") @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody - public CommonResult login(@Validated @RequestBody UmsAdminLoginParam umsAdminLoginParam) { - String token = adminService.login(umsAdminLoginParam.getUsername(), umsAdminLoginParam.getPassword()); + public CommonResult login(@Validated @RequestBody UmsAdminLoginParam umsAdminLoginParam) throws Exception { + String password = AesEncryptUtil.desEncrypt(umsAdminLoginParam.getPassword()); +// String password = umsAdminLoginParam.getPassword(); + String token = adminService.login(umsAdminLoginParam.getUsername(), password); if (token == null) { return CommonResult.validateFailed("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); } @@ -101,11 +118,10 @@ } String username = principal.getName(); UmsAdmin umsAdmin = adminService.getAdminByUsername(username); + AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Map<String, Object> data = new HashMap<>(); - data.put("userId", umsAdmin.getId()); - data.put("username", umsAdmin.getUsername()); - data.put("menus", roleService.getMenuList(umsAdmin.getId())); - data.put("icon", umsAdmin.getIcon()); + data.put("user", umsAdmin); + data.put("menus", umsMenuService.ListTreeMyself(user.getUserId())); List<UmsRole> roleList = adminService.getRoleList(umsAdmin.getId()); if (CollUtil.isNotEmpty(roleList)) { List<String> roles = roleList.stream().map(UmsRole::getName).collect(Collectors.toList()); @@ -130,6 +146,99 @@ IPage<UmsAdmin> page = adminService.pageUser(pageUserVO); return CommonResult.success(page); } + + + @ApiOperation("鐢ㄦ埛瀵煎嚭") + @PostMapping("/export") + public void exportUser(HttpServletResponse response) { + List<UmsUserDto1> umsUserDtos = adminService.userExp(); + String sheetName = "鐢ㄦ埛瀵煎嚭"; + 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 { + 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, "瀵煎叆鎴愬姛"); + } + @ApiOperation("鑾峰彇鎸囧畾鐢ㄦ埛淇℃伅") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @@ -160,11 +269,13 @@ if (status > 0) { return CommonResult.success(status); } else if (status == -1) { - return CommonResult.failed("鎻愪氦鍙傛暟涓嶅悎娉�"); + return CommonResult.failed("瀵嗙爜闀垮害8鍒�16浣嶄笖瀵嗙爜涓殑瀛楃蹇呴』鍖呭惈瀛楁瘝锛堝ぇ鍐欐垨鑰呭皬鍐欙級鍜屽繀椤诲寘鍚暟瀛楋紝涓嶈兘鍖呭惈绌烘牸"); } else if (status == -2) { return CommonResult.failed("鎵句笉鍒拌鐢ㄦ埛"); } else if (status == -3) { return CommonResult.failed("鏃у瘑鐮侀敊璇�"); + } else if (status == -4) { + return CommonResult.failed("瀵嗙爜涓嶈兘鍜岀櫥褰曞悕瀹屽叏涓�鑷�"); } else { return CommonResult.failed(); } @@ -253,4 +364,11 @@ public CommonResult<List<UmsAdmin>> getDepartUser(@PathVariable Long departId) { return CommonResult.success(adminService.getDepartUser(departId)); } + + @GetMapping(value = "/systemInfo") + @ResponseBody + public String getImages(HttpServletRequest request, HttpServletResponse response) { + return "閬傛槍缁煎悎鎵ф硶骞冲彴"; + + } } \ No newline at end of file -- Gitblit v1.8.0