【8.1.0】【user-org】更新清空用户绑定机构的接口

pull/60/head
fengshuonan 2024-01-18 16:08:40 +08:00
parent c9744db958
commit 6e405086c1
8 changed files with 83 additions and 3 deletions

View File

@ -77,5 +77,13 @@ public interface SysUserRoleServiceApi {
* @since 2024-01-18 14:06 * @since 2024-01-18 14:06
*/ */
void removeUserOrgRoleLink(Long userId, Long orgId); void removeUserOrgRoleLink(Long userId, Long orgId);
/**
*
*
* @author fengshuonan
* @since 2024-01-18 16:07
*/
void deleteUserAllOrgBind(Long userId);
} }

View File

@ -1,5 +1,6 @@
package cn.stylefeng.roses.kernel.sys.modular.user.controller; 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.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; 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.DeleteRequest;
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.RoleControlRequest; 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.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.SysRoleAssignService;
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -31,6 +34,9 @@ public class UserRoleAssignPageController {
@Resource @Resource
private SysRoleAssignService sysRoleAssignService; private SysRoleAssignService sysRoleAssignService;
@Resource
private SysUserOrgService sysUserOrgService;
/** /**
* *
* *
@ -79,4 +85,28 @@ public class UserRoleAssignPageController {
return new SuccessResponseData<>(); 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<>();
}
} }

View File

@ -21,14 +21,13 @@ public class SysUserOrgRequest extends BaseRequest {
/** /**
* id * id
*/ */
@NotNull(message = "企业员工主键id不能为空", groups = {delete.class})
@ChineseDescription("企业员工主键id") @ChineseDescription("企业员工主键id")
private Long userOrgId; private Long userOrgId;
/** /**
* id * id
*/ */
@NotNull(message = "用户id不能为空", groups = {add.class}) @NotNull(message = "用户id不能为空", groups = {add.class, delete.class})
@ChineseDescription("用户id") @ChineseDescription("用户id")
private Long userId; private Long userId;

View File

@ -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.DeleteRequest;
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.RoleControlRequest; 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.api.pojo.user.newrole.request.StatusControlRequest;
import cn.stylefeng.roses.kernel.sys.modular.user.pojo.request.SysUserOrgRequest;
import java.util.List; import java.util.List;
@ -47,4 +48,12 @@ public interface SysRoleAssignService {
*/ */
void removeUserOrgBind(DeleteRequest deleteRequest); void removeUserOrgBind(DeleteRequest deleteRequest);
/**
*
*
* @author fengshuonan
* @since 2024-01-18 15:50
*/
void clearAllOrgAndRoleBind(SysUserOrgRequest sysUserOrgRequest);
} }

View File

@ -98,4 +98,12 @@ public interface SysUserOrgService extends IService<SysUserOrg>, SysUserOrgServi
*/ */
void removeUserOrgLink(Long userId, Long orgId); void removeUserOrgLink(Long userId, Long orgId);
/**
*
*
* @author fengshuonan
* @since 2024-01-18 15:48
*/
void deleteAllOrgBind(SysUserOrgRequest sysUserOrgRequest);
} }

View File

@ -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.entity.SysUserRole;
import cn.stylefeng.roses.kernel.sys.modular.user.enums.SysUserOrgExceptionEnum; 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.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.SysRoleAssignService;
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService; import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService;
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserRoleService; 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())); 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());
}
} }

View File

@ -125,6 +125,12 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
this.remove(sysUserOrgLambdaUpdateWrapper); this.remove(sysUserOrgLambdaUpdateWrapper);
} }
@Override
public void deleteAllOrgBind(SysUserOrgRequest sysUserOrgRequest) {
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);
this.remove(wrapper);
}
@Override @Override
public List<SysUserOrg> findList(SysUserOrgRequest sysUserOrgRequest) { public List<SysUserOrg> findList(SysUserOrgRequest sysUserOrgRequest) {
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest); LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);

View File

@ -250,6 +250,14 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
this.remove(queryWrapper); 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 @Override
public SysUserRole getPointUserRole(Long userId, Long roleId, Long orgId) { public SysUserRole getPointUserRole(Long userId, Long roleId, Long orgId) {
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();