mirror of https://gitee.com/stylefeng/roses
【8.1.0】【user-org】更新用户机构的绑定状态
parent
536eed620c
commit
6d10637a8e
|
@ -13,6 +13,12 @@ import javax.validation.constraints.NotNull;
|
|||
@Data
|
||||
public class StatusControlRequest {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NotNull(message = "用户id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 所操作的机构id
|
||||
*/
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
|
||||
package cn.stylefeng.roses.kernel.sys.modular.user.controller;
|
||||
|
||||
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;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
|
||||
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.NewUserRoleBindResponse;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.StatusControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysRoleAssignService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
@ -38,4 +41,16 @@ public class UserRoleAssignPageController {
|
|||
return new SuccessResponseData<>(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户针对某个公司的是否启用状态
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 9:31
|
||||
*/
|
||||
@PostResource(name = "修改用户针对某个公司的是否启用状态", path = "/sysRoleAssign/changeStatus")
|
||||
public ResponseData<?> changeStatus(@RequestBody @Validated StatusControlRequest statusControlRequest) {
|
||||
sysRoleAssignService.changeUserBindStatus(statusControlRequest);
|
||||
return new SuccessResponseData<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ public enum SysUserOrgExceptionEnum implements AbstractExceptionEnum {
|
|||
/**
|
||||
* 查询结果不存在
|
||||
*/
|
||||
SYS_USER_ORG_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "查询结果不存在"),
|
||||
SYS_USER_ORG_NOT_EXISTED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + "10001", "用户机构信息查询结果不存在"),
|
||||
|
||||
/**
|
||||
* 绑定用户组织机构失败,参数存在缺失,请检查orgId,positionId,mainFlag
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.user.service;
|
||||
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.NewUserRoleBindResponse;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.StatusControlRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -20,4 +21,12 @@ public interface SysRoleAssignService {
|
|||
*/
|
||||
List<NewUserRoleBindResponse> getUserAssignList(Long userId);
|
||||
|
||||
/**
|
||||
* 修改用户绑定机构状态`
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 9:34
|
||||
*/
|
||||
void changeUserBindStatus(StatusControlRequest statusControlRequest);
|
||||
|
||||
}
|
|
@ -82,4 +82,12 @@ public interface SysUserOrgService extends IService<SysUserOrg>, SysUserOrgServi
|
|||
*/
|
||||
void updateUserOrg(Long userId, List<SysUserOrg> userOrgList);
|
||||
|
||||
/**
|
||||
* 获取用户绑定的机构信息
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2024-01-18 10:36
|
||||
*/
|
||||
SysUserOrg getUserOrgInfo(Long userId, Long orgId);
|
||||
|
||||
}
|
|
@ -1,10 +1,15 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.user.service.impl;
|
||||
|
||||
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||
import cn.stylefeng.roses.kernel.sys.api.SysRoleServiceApi;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.role.SysRoleDTO;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.NewUserRoleBindResponse;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.UserRoleDTO;
|
||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.newrole.request.StatusControlRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.entity.SysUserOrg;
|
||||
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.service.SysRoleAssignService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.user.service.SysUserOrgService;
|
||||
|
@ -43,8 +48,7 @@ public class SysRoleAssignServiceImpl implements SysRoleAssignService {
|
|||
List<NewUserRoleBindResponse> baseResponse = RoleAssignFactory.createBaseResponse(userOrgList);
|
||||
|
||||
// 3. 获取系统中,所有的业务角色(type=15),以及所有的公司角色(type=20)
|
||||
List<SysRoleDTO> businessRoleAndCompanyRole = sysRoleServiceApi.getBusinessRoleAndCompanyRole(
|
||||
userOrgList.stream().map(UserOrgDTO::getCompanyId).collect(Collectors.toList()));
|
||||
List<SysRoleDTO> businessRoleAndCompanyRole = sysRoleServiceApi.getBusinessRoleAndCompanyRole(userOrgList.stream().map(UserOrgDTO::getCompanyId).collect(Collectors.toList()));
|
||||
|
||||
// 4. 组装每个机构下的角色信息下拉列表
|
||||
RoleAssignFactory.fillRoleSelectList(baseResponse, businessRoleAndCompanyRole);
|
||||
|
@ -56,4 +60,23 @@ public class SysRoleAssignServiceImpl implements SysRoleAssignService {
|
|||
return RoleAssignFactory.fillRoleBind(baseResponse, userLinkedOrgRoleList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeUserBindStatus(StatusControlRequest statusControlRequest) {
|
||||
|
||||
// 1. 获取用户所属机构的信息
|
||||
SysUserOrg userOrgInfo = sysUserOrgService.getUserOrgInfo(statusControlRequest.getUserId(), statusControlRequest.getOrgId());
|
||||
if (userOrgInfo == null) {
|
||||
throw new ServiceException(SysUserOrgExceptionEnum.SYS_USER_ORG_NOT_EXISTED);
|
||||
}
|
||||
|
||||
// 2. 修改用户所属机构的状态
|
||||
if (statusControlRequest.getCheckedFlag()) {
|
||||
userOrgInfo.setStatusFlag(StatusEnum.ENABLE.getCode());
|
||||
} else {
|
||||
userOrgInfo.setStatusFlag(StatusEnum.DISABLE.getCode());
|
||||
}
|
||||
|
||||
this.sysUserOrgService.updateById(userOrgInfo);
|
||||
}
|
||||
|
||||
}
|
|
@ -97,6 +97,14 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
|
|||
this.saveBatch(sysUserOrgResult);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUserOrg getUserOrgInfo(Long userId, Long orgId) {
|
||||
LambdaQueryWrapper<SysUserOrg> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysUserOrg::getUserId, userId);
|
||||
wrapper.eq(SysUserOrg::getOrgId, orgId);
|
||||
return this.getOne(wrapper, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUserOrg> findList(SysUserOrgRequest sysUserOrgRequest) {
|
||||
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);
|
||||
|
|
Loading…
Reference in New Issue