From 078489d2cc47acd8e963fae895a6caa949d97d6b Mon Sep 17 00:00:00 2001 From: lishangbu Date: Mon, 27 Aug 2018 19:18:52 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20fixed=20a=20bug:=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=86=8D=E6=96=B0=E5=A2=9E=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/ResourceServerConfigurer.java | 4 +-- .../pigx/admin/controller/UserController.java | 5 +++- .../pigx/admin/mapper/SysUserMapper.java | 14 ++++++++++ .../pigx/admin/service/SysUserService.java | 17 +++++++++++ .../service/impl/SysUserServiceImpl.java | 28 +++++++++++++++++++ .../main/resources/mapper/SysUserMapper.xml | 23 ++++++++++++++- .../config/ResourceServerConfigurer.java | 4 +-- .../src/main/resources/bootstrap.yml | 2 +- .../config/ResourceServerConfigurer.java | 4 +-- 9 files changed, 92 insertions(+), 9 deletions(-) diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/config/ResourceServerConfigurer.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/config/ResourceServerConfigurer.java index d0b16265c..03f67f3a7 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/config/ResourceServerConfigurer.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/config/ResourceServerConfigurer.java @@ -19,7 +19,7 @@ package com.pig4cloud.pigx.admin.config; -import com.pig4cloud.pigx.common.security.component.PigxResourceServerConfigurerAdapter; +import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -32,7 +32,7 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.E @Configuration @EnableResourceServer @EnableGlobalMethodSecurity(prePostEnabled = true) -public class ResourceServerConfigurer extends PigxResourceServerConfigurerAdapter { +public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { @Override public void configure(HttpSecurity http) throws Exception { http.authorizeRequests() diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/UserController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/UserController.java index a4dfe5442..0b2e0814b 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/UserController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/UserController.java @@ -116,12 +116,15 @@ public class UserController { @PostMapping @PreAuthorize("@pms.hasPermission('sys_user_add')") public R user(@RequestBody UserDTO userDto) { + SysUser deletedUser = userService.selectDeletedUserByUsername(userDto.getUsername()); + if ( deletedUser!= null) { + userService.deleteSysUserByUsernameAndUserId(userDto.getUsername(),deletedUser.getUserId()); + } SysUser sysUser = new SysUser(); BeanUtils.copyProperties(userDto, sysUser); sysUser.setDelFlag(CommonConstant.STATUS_NORMAL); sysUser.setPassword(ENCODER.encode(userDto.getNewpassword1())); userService.insert(sysUser); - userDto.getRole().forEach(roleId -> { SysUserRole userRole = new SysUserRole(); userRole.setUserId(sysUser.getUserId()); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java index ae3b5e550..18dc81e8b 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java @@ -61,4 +61,18 @@ public interface SysUserMapper extends BaseMapper { */ UserVO selectUserVoById(Integer id); + /** + * 通过用户名查找已经删除的用户 + * @param username 用户名 + * @return 用户对象 + */ + SysUser selectDeletedUserByUsername(@Param("username")String username); + + /** + * 根据用户名删除用户(真实删除) + * @param username + * @return + */ + Boolean deleteSysUserByUsernameAndUserId(@Param("username")String username,@Param("userId")Integer userId); + } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysUserService.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysUserService.java index 384ef2fd9..00319d947 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysUserService.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/SysUserService.java @@ -50,6 +50,7 @@ public interface SysUserService extends IService { */ Page selectWithRolePage(Query query); + /** * 删除用户 * @@ -83,4 +84,20 @@ public interface SysUserService extends IService { * @return 用户信息 */ UserVO selectUserVoById(Integer id); + + /** + * 通过用户名查找已经删除的用户 + * @param username 用户名 + * @return + */ + SysUser selectDeletedUserByUsername(String username); + + /** + * 根据用户名删除用户(真实删除) + * @param username + * @return + */ + Boolean deleteSysUserByUsernameAndUserId(String username,Integer userId); + + } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java index 6824dc4e7..fcc4f8a61 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java @@ -126,6 +126,7 @@ public class SysUserServiceImpl extends ServiceImpl impl return query; } + /** * 通过ID查询用户信息 * @@ -137,6 +138,32 @@ public class SysUserServiceImpl extends ServiceImpl impl return sysUserMapper.selectUserVoById(id); } + /** + * 通过用户名查找已经删除的用户 + * + * @param username 用户名 + * @return 用户对象 + */ + @Override + public SysUser selectDeletedUserByUsername(String username) { + return sysUserMapper.selectDeletedUserByUsername(username); + } + + /** + * 根据用户名删除用户(真实删除) + * @param username + * @return + */ + @Override + public Boolean deleteSysUserByUsernameAndUserId(String username,Integer userId) { + + sysUserMapper.deleteSysUserByUsernameAndUserId(username,userId); + SysUserRole condition = new SysUserRole(); + condition.setUserId(userId); + sysUserRoleService.delete(new EntityWrapper<>(condition)); + return Boolean.TRUE; + } + /** * 删除用户 * @@ -190,4 +217,5 @@ public class SysUserServiceImpl extends ServiceImpl impl }); return Boolean.TRUE; } + } diff --git a/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml index 62d743481..f5b52b975 100644 --- a/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -21,7 +21,7 @@ - + @@ -157,4 +157,25 @@ ORDER BY `user`.create_time DESC + + + + DELETE FROM sys_user WHERE username=#{username} AND user_id=#{userId}; + diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java index 947c92642..86dce1ae9 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java @@ -17,7 +17,7 @@ package com.pig4cloud.pigx.codegen.config; -import com.pig4cloud.pigx.common.security.component.PigxResourceServerConfigurerAdapter; +import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; import lombok.AllArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @@ -33,7 +33,7 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res @EnableResourceServer @AllArgsConstructor @EnableGlobalMethodSecurity(prePostEnabled = true) -public class ResourceServerConfigurer extends PigxResourceServerConfigurerAdapter { +public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { @Override public void configure(HttpSecurity http) throws Exception { diff --git a/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml b/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml index 359f44828..0277820e6 100644 --- a/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml @@ -23,4 +23,4 @@ eureka: defaultZone: http://pig:pig@localhost:1025/eureka/ logging: level: - root: debug + root: info diff --git a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java index d876aa6cb..7dca50923 100644 --- a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java @@ -17,7 +17,7 @@ package com.pig4cloud.pigx.daemon.config; -import com.pig4cloud.pigx.common.security.component.PigxResourceServerConfigurerAdapter; +import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; import lombok.AllArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @@ -33,7 +33,7 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res @EnableResourceServer @AllArgsConstructor @EnableGlobalMethodSecurity(prePostEnabled = true) -public class ResourceServerConfigurer extends PigxResourceServerConfigurerAdapter { +public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { @Override public void configure(HttpSecurity http) throws Exception {