Browse Source

用户登录修改

rengb 3 years ago
parent
commit
669695260b

+ 31 - 6
security-center/src/main/java/com/lantone/security/facade/UserManagementFacade.java

@@ -4,14 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.lantone.common.api.CommonResult;
 import com.lantone.common.constant.AuthConstant;
+import com.lantone.common.domain.UserDto;
 import com.lantone.common.dto.GetDeptTreeDTO;
 import com.lantone.common.dto.GetHospitalDeptDTO;
 import com.lantone.common.dto.GetHospitalTreeDTO;
-import com.lantone.common.dto.GetMenusTreeDTO;
 import com.lantone.common.dto.GetUserDTO;
-import com.lantone.common.dto.HospitalDTO;
-import com.lantone.common.dto.UserMenuResourceTreeDTO;
-import com.lantone.common.dto.UserRoleDTO;
 import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.DateUtil;
 import com.lantone.common.util.EntityUtil;
@@ -21,15 +18,16 @@ import com.lantone.common.vo.AddHospitalTreeVO;
 import com.lantone.common.vo.AddUserVO;
 import com.lantone.common.vo.LoginVO;
 import com.lantone.common.vo.UpdateUserVO;
+import com.lantone.dblayermbg.entity.DeptUser;
 import com.lantone.dblayermbg.entity.Hospital;
 import com.lantone.dblayermbg.entity.HospitalUser;
 import com.lantone.dblayermbg.entity.User;
-import com.lantone.dblayermbg.entity.DeptUser;
 import com.lantone.dblayermbg.entity.UserRole;
 import com.lantone.dblayermbg.facade.DeptFacade;
+import com.lantone.dblayermbg.facade.DeptUserFacade;
 import com.lantone.dblayermbg.facade.HospitalFacade;
 import com.lantone.dblayermbg.facade.HospitalUserFacade;
-import com.lantone.dblayermbg.facade.DeptUserFacade;
+import com.lantone.dblayermbg.facade.RoleFacade;
 import com.lantone.dblayermbg.facade.UserFacade;
 import com.lantone.dblayermbg.facade.UserRoleFacade;
 import com.lantone.security.enums.HospitalTypeEnum;
@@ -43,6 +41,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 用户管理-业务处理类
@@ -66,6 +65,8 @@ public class UserManagementFacade {
     private DeptUserFacade userDeptFacade;
     @Autowired
     private UserRoleFacade userRoleFacade;
+    @Autowired
+    private RoleFacade roleFacade;
 
     public CommonResult login(LoginVO loginVO) {
         Map<String, String> params = new HashMap<>();
@@ -78,6 +79,30 @@ public class UserManagementFacade {
         return restResult;
     }
 
+    public UserDto loadUserByUsername(String username) {
+        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
+        userQueryWrapper.eq("username", username);
+        userQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<User> userList = userFacade.list(userQueryWrapper);
+        if (userList.size() == 0) {
+            return null;
+        }
+        if (userList.size() > 1) {
+            Asserts.fail("当前账号异常!");
+        }
+        UserDto userDTO = new UserDto();
+        User user = userList.get(0);
+        QueryWrapper<UserRole> userRoleQueryWrapper = new QueryWrapper<>();
+        userRoleQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        userRoleQueryWrapper.eq("user_id", user.getId());
+        List<Long> roleIdList = userRoleFacade.list(userRoleQueryWrapper)
+                .stream()
+                .map(i -> i.getRoleId())
+                .collect(Collectors.toList());
+        BeanUtils.copyProperties(user, userDTO);
+        return userDTO;
+    }
+
     /**
      * @param addUserVO
      * @Description添加用户

+ 5 - 18
security-center/src/main/java/com/lantone/security/web/UserManagementController.java

@@ -1,6 +1,5 @@
 package com.lantone.security.web;
 
-import com.google.common.collect.Lists;
 import com.lantone.common.api.CommonResult;
 import com.lantone.common.domain.UserDto;
 import com.lantone.common.dto.GetHospitalTreeDTO;
@@ -13,7 +12,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -40,8 +38,8 @@ public class UserManagementController {
     private UserManagementFacade userManagementFacade;
 
     @ApiOperation(value = "登录以后返回token")
-    @RequestMapping(value = "/login", method = RequestMethod.POST)
-    public CommonResult login(@Validated @RequestBody LoginVO loginVO) {
+    @PostMapping(value = "/login")
+    public CommonResult login(@Valid @RequestBody LoginVO loginVO) {
         return userManagementFacade.login(loginVO);
     }
 
@@ -57,21 +55,10 @@ public class UserManagementController {
         return CommonResult.success("任国宾");
     }
 
-
     @ApiOperation("根据用户名获取通用用户信息")
-    @RequestMapping(value = "/loadByUsername", method = RequestMethod.GET)
-    public UserDto loadUserByUsername(@RequestParam String username) {
-        if (!username.equals("lantone")) {
-            return null;
-        }
-        UserDto userDTO = new UserDto();
-        userDTO.setUsername("lantone");
-        userDTO.setPassword("$2a$10$T/ndIW6vgydYOVqj0syXeeSvgYbChiIU.azRmoZ.uqDQhYjN.yozy");
-        userDTO.setId(1l);
-        userDTO.setClientId("security-center");
-        userDTO.setStatus(1);
-        userDTO.setRoles(Lists.newArrayList("t1"));
-        return userDTO;
+    @PostMapping(value = "/loadByUsername")
+    public CommonResult<UserDto> loadUserByUsername(@RequestParam String username) {
+        return CommonResult.success(userManagementFacade.loadUserByUsername(username));
     }
 
     @ApiOperation(value = "添加用户 [by:songxl]")

+ 2 - 2
user-auth/src/main/java/com/lantone/userauth/controller/AuthController.java

@@ -11,8 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.provider.endpoint.TokenEndpoint;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
@@ -42,7 +42,7 @@ public class AuthController {
             @ApiImplicitParam(name = "username", value = "登录用户名"),
             @ApiImplicitParam(name = "password", value = "登录密码")
     })
-    @RequestMapping(value = "/token", method = RequestMethod.POST)
+    @PostMapping(value = "/token")
     public CommonResult<Oauth2TokenDto> postAccessToken(@ApiIgnore Principal principal, @ApiIgnore @RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
         OAuth2AccessToken oAuth2AccessToken = tokenEndpoint.postAccessToken(principal, parameters).getBody();
         Oauth2TokenDto oauth2TokenDto = Oauth2TokenDto.builder()

+ 6 - 4
user-auth/src/main/java/com/lantone/userauth/service/UmsAdminService.java

@@ -1,8 +1,9 @@
 package com.lantone.userauth.service;
 
+import com.lantone.common.api.CommonResult;
 import com.lantone.common.domain.UserDto;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -11,8 +12,9 @@ import org.springframework.web.bind.annotation.RequestParam;
  * @time: 2021/1/5 18:27
  */
 @FeignClient("security-center")
-public interface UmsAdminService {
+public interface UserManagemenService {
+
+    @PostMapping("/userManage/loadByUsername")
+    CommonResult<UserDto> loadUserByUsername(@RequestParam String username);
 
-    @GetMapping("/userAdmin/loadByUsername")
-    UserDto loadUserByUsername(@RequestParam String username);
 }

+ 5 - 3
user-auth/src/main/java/com/lantone/userauth/service/impl/UserServiceImpl.java

@@ -1,10 +1,11 @@
 package com.lantone.userauth.service.impl;
 
+import com.lantone.common.api.CommonResult;
 import com.lantone.common.constant.AuthConstant;
 import com.lantone.common.domain.UserDto;
 import com.lantone.userauth.constant.MessageConstant;
 import com.lantone.userauth.domain.SecurityUser;
-import com.lantone.userauth.service.UmsAdminService;
+import com.lantone.userauth.service.UserManagemenService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AccountExpiredException;
 import org.springframework.security.authentication.CredentialsExpiredException;
@@ -26,7 +27,7 @@ import javax.servlet.http.HttpServletRequest;
 public class UserServiceImpl implements UserDetailsService {
 
     @Autowired
-    private UmsAdminService adminService;
+    private UserManagemenService userManagemenService;
     @Autowired
     private HttpServletRequest request;
 
@@ -35,7 +36,8 @@ public class UserServiceImpl implements UserDetailsService {
         String clientId = request.getParameter("client_id");
         UserDto userDto = null;
         if (AuthConstant.SECURITY_CENTER_CLIENT_ID.equals(clientId)) {
-            userDto = adminService.loadUserByUsername(username);
+            CommonResult<UserDto> result = userManagemenService.loadUserByUsername(username);
+            userDto = result.getData();
         }
         if (userDto == null) {
             throw new UsernameNotFoundException(MessageConstant.USERNAME_PASSWORD_ERROR);