mirror of https://gitee.com/stylefeng/roses
【8.1.0】【user-org】更新清空用户绑定机构的接口
parent
c9744db958
commit
6e405086c1
|
@ -77,5 +77,13 @@ public interface SysUserRoleServiceApi {
|
|||
* @since 2024-01-18 14:06
|
||||
*/
|
||||
void removeUserOrgRoleLink(Long userId, Long orgId);
|
||||
|
||||
|
||||
/**
|
||||
* 删除用户所有关联机构的角色
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 16:07
|
||||
*/
|
||||
void deleteUserAllOrgBind(Long userId);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.user.controller;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
|
||||
|
@ -9,7 +10,9 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.NewUserRoleBindRespon
|
|||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.DeleteRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.RoleControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.StatusControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserOrgRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysRoleAssignService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
@ -31,6 +34,9 @@ public class UserRoleAssignPageController {
|
|||
@Resource
|
||||
private SysRoleAssignService sysRoleAssignService;
|
||||
|
||||
@Resource
|
||||
private SysUserOrgService sysUserOrgService;
|
||||
|
||||
/**
|
||||
* 获取用户的角色授权信息列表
|
||||
*
|
||||
|
@ -79,4 +85,28 @@ public class UserRoleAssignPageController {
|
|||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加用户机构的绑定
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 14:50
|
||||
*/
|
||||
@PostResource(name = "添加用户机构的绑定", path = "/sysRoleAssign/addUserOrgBind")
|
||||
public ResponseData<?> addUserOrgBind(@RequestBody @Validated(BaseRequest.add.class) SysUserOrgRequest sysUserOrgRequest) {
|
||||
sysUserOrgService.add(sysUserOrgRequest);
|
||||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除全部机构绑定
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 15:47
|
||||
*/
|
||||
@PostResource(name = "删除全部机构绑定", path = "/sysRoleAssign/deleteAllOrgBind")
|
||||
public ResponseData<?> deleteAllOrgBind(@RequestBody @Validated(BaseRequest.delete.class) SysUserOrgRequest sysUserOrgRequest) {
|
||||
sysRoleAssignService.clearAllOrgAndRoleBind(sysUserOrgRequest);
|
||||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,14 +21,13 @@ public class SysUserOrgRequest extends BaseRequest {
|
|||
/**
|
||||
* 企业员工主键id
|
||||
*/
|
||||
@NotNull(message = "企业员工主键id不能为空", groups = {delete.class})
|
||||
@ChineseDescription("企业员工主键id")
|
||||
private Long userOrgId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NotNull(message = "用户id不能为空", groups = {add.class})
|
||||
@NotNull(message = "用户id不能为空", groups = {add.class, delete.class})
|
||||
@ChineseDescription("用户id")
|
||||
private Long userId;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.NewUserRoleBindRespon
|
|||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.DeleteRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.RoleControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.StatusControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserOrgRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -47,4 +48,12 @@ public interface SysRoleAssignService {
|
|||
*/
|
||||
void removeUserOrgBind(DeleteRequest deleteRequest);
|
||||
|
||||
/**
|
||||
* 删除所有的组织机构的绑定,同时清空机构下的角色绑定
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 15:50
|
||||
*/
|
||||
void clearAllOrgAndRoleBind(SysUserOrgRequest sysUserOrgRequest);
|
||||
|
||||
}
|
|
@ -98,4 +98,12 @@ public interface SysUserOrgService extends IService<SysUserOrg>, SysUserOrgServi
|
|||
*/
|
||||
void removeUserOrgLink(Long userId, Long orgId);
|
||||
|
||||
/**
|
||||
* 删除全部的机构绑定
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 15:48
|
||||
*/
|
||||
void deleteAllOrgBind(SysUserOrgRequest sysUserOrgRequest);
|
||||
|
||||
}
|
|
@ -15,6 +15,7 @@ import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserOrg;
|
|||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserRole;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserOrgExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.factory.RoleAssignFactory;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserOrgRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysRoleAssignService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserRoleService;
|
||||
|
@ -131,4 +132,15 @@ public class SysRoleAssignServiceImpl implements SysRoleAssignService {
|
|||
userRoleCache.remove(String.valueOf(deleteRequest.getUserId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void clearAllOrgAndRoleBind(SysUserOrgRequest sysUserOrgRequest) {
|
||||
|
||||
// 1. 先清空用户的机构绑定
|
||||
sysUserOrgService.deleteAllOrgBind(sysUserOrgRequest);
|
||||
|
||||
// 2. 再清空用户的所有的带机构的角色绑定
|
||||
sysUserRoleService.deleteUserAllOrgBind(sysUserOrgRequest.getUserId());
|
||||
}
|
||||
|
||||
}
|
|
@ -125,6 +125,12 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
|
|||
this.remove(sysUserOrgLambdaUpdateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAllOrgBind(SysUserOrgRequest sysUserOrgRequest) {
|
||||
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);
|
||||
this.remove(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUserOrg> findList(SysUserOrgRequest sysUserOrgRequest) {
|
||||
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);
|
||||
|
|
|
@ -250,6 +250,14 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
|||
this.remove(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUserAllOrgBind(Long userId) {
|
||||
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysUserRole::getUserId, userId);
|
||||
queryWrapper.isNotNull(SysUserRole::getRoleOrgId);
|
||||
this.remove(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUserRole getPointUserRole(Long userId, Long roleId, Long orgId) {
|
||||
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
|
Loading…
Reference in New Issue