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 | 133 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 124 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..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,19 +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.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; @@ -26,13 +38,14 @@ 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; /** @@ -68,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("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); } @@ -132,6 +147,99 @@ 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) @ResponseBody @@ -166,7 +274,7 @@ return CommonResult.failed("鎵句笉鍒拌鐢ㄦ埛"); } else if (status == -3) { return CommonResult.failed("鏃у瘑鐮侀敊璇�"); - }else if (status == -4) { + } else if (status == -4) { return CommonResult.failed("瀵嗙爜涓嶈兘鍜岀櫥褰曞悕瀹屽叏涓�鑷�"); } else { return CommonResult.failed(); @@ -256,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