From cc7f335315c8439a6341c999fdffde0c772394af Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 24 六月 2023 11:05:43 +0800
Subject: [PATCH] bug修改
---
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java | 165 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 138 insertions(+), 27 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 7f227c1..25f8004 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,14 +62,14 @@
@Autowired
private UmsAdminService adminService;
@Autowired
- private UmsRoleService roleService;
+ UmsMenuService umsMenuService;
@Resource
private RedisService redisService;
@ApiOperation(value = "鐢ㄦ埛娉ㄥ唽")
@RequestMapping(value = "/register", method = RequestMethod.POST)
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "娣诲姞鐢ㄦ埛")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "娣诲姞鐢ㄦ埛")
public CommonResult<UmsAdmin> register(@Validated @RequestBody UmsAdminParam umsAdminParam) {
UmsAdmin umsAdmin = adminService.register(umsAdminParam);
if (umsAdmin == null) {
@@ -66,8 +81,11 @@
@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,10 +119,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("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 +148,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
@@ -141,7 +252,7 @@
@ApiOperation("淇敼鎸囧畾鐢ㄦ埛淇℃伅")
@RequestMapping(value = "/update/{id}", method = RequestMethod.POST)
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "淇敼鐢ㄦ埛")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "淇敼鐢ㄦ埛")
public CommonResult update(@PathVariable Long id, @RequestBody UmsAdmin admin) {
boolean success = adminService.update(id, admin);
if (success) {
@@ -153,17 +264,19 @@
@ApiOperation("淇敼鎸囧畾鐢ㄦ埛瀵嗙爜")
@RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "淇敼鐢ㄦ埛瀵嗙爜")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "淇敼鐢ㄦ埛瀵嗙爜")
public CommonResult updatePassword(@Validated @RequestBody UpdateAdminPasswordParam updatePasswordParam) {
int status = adminService.updatePassword(updatePasswordParam);
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();
}
@@ -172,7 +285,7 @@
@ApiOperation("鍒犻櫎鎸囧畾鐢ㄦ埛淇℃伅")
@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST)
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "鍒犻櫎鐢ㄦ埛")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "鍒犻櫎鐢ㄦ埛")
public CommonResult delete(@PathVariable Long id) {
boolean success = adminService.delete(id);
if (success) {
@@ -184,7 +297,7 @@
@ApiOperation("淇敼甯愬彿鐘舵��")
@RequestMapping(value = "/updateStatus/{id}", method = RequestMethod.POST)
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "鐢ㄦ埛璐﹀彿鍚敤/绂佺敤")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "鐢ㄦ埛璐﹀彿鍚敤/绂佺敤")
public CommonResult updateStatus(@PathVariable Long id, @RequestParam(value = "status") Integer status) {
UmsAdmin umsAdmin = new UmsAdmin();
umsAdmin.setStatus(status);
@@ -218,10 +331,10 @@
@ApiOperation("鎵归噺鍒犻櫎鐢ㄦ埛")
@RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)
@ApiImplicitParams({
- @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids",required = true, dataType = "Array")
+ @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids", required = true, dataType = "Array")
})
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "鎵归噺鍒犻櫎鐢ㄦ埛")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "鎵归噺鍒犻櫎鐢ㄦ埛")
public CommonResult deleteBatch(@RequestParam("ids") List<Long> ids) {
boolean success = adminService.deleteBatch(ids);
if (success) {
@@ -233,11 +346,11 @@
@ApiOperation("鎵归噺淇敼鐢ㄦ埛鐘舵��")
@RequestMapping(value = "/updateStatusBatch", method = RequestMethod.POST)
@ApiImplicitParams({
- @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids",required = true, dataType = "Array"),
- @ApiImplicitParam(name = "status", value = "鐘舵��0->绂佺敤锛�1->鍚敤",required = true, dataType = "Integer")
+ @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids", required = true, dataType = "Array"),
+ @ApiImplicitParam(name = "status", value = "鐘舵��0->绂佺敤锛�1->鍚敤", required = true, dataType = "Integer")
})
@ResponseBody
- @LogSave(operationType = "鐢ㄦ埛绠$悊",contain = "鐢ㄦ埛璐﹀彿鎵归噺鍚敤/绂佺敤")
+ @LogSave(operationType = "鐢ㄦ埛绠$悊", contain = "鐢ㄦ埛璐﹀彿鎵归噺鍚敤/绂佺敤")
public CommonResult updateStatusBatch(@RequestParam("ids") List<Long> ids, @RequestParam(value = "status") Integer status) {
boolean success = adminService.updateStatusBatch(ids, status);
if (success) {
@@ -246,12 +359,10 @@
return CommonResult.failed();
}
-
@ApiOperation("鑾峰彇閮ㄩ棬浜哄憳")
@RequestMapping(value = "/getDepartUser/{departId}", method = RequestMethod.GET)
@ResponseBody
public CommonResult<List<UmsAdmin>> getDepartUser(@PathVariable Long departId) {
return CommonResult.success(adminService.getDepartUser(departId));
}
-
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0