mirror of https://gitee.com/stylefeng/roses
【8.0】【sys】当前登录用户增加一个职务id字段
parent
0927501eac
commit
6464f90ba0
|
@ -73,6 +73,12 @@ public class LoginUser implements Serializable {
|
|||
@ChineseDescription("当前用户激活的组织机构id(正在以哪个身份访问系统)")
|
||||
private Long currentOrgId;
|
||||
|
||||
/**
|
||||
* 当前用户激活的职务id(正在以哪个身份访问系统)
|
||||
*/
|
||||
@ChineseDescription("当前用户激活的职务id(正在以哪个身份访问系统)")
|
||||
private Long currentPositionId;
|
||||
|
||||
/**
|
||||
* 当前登录租户编码
|
||||
*/
|
||||
|
|
|
@ -59,4 +59,12 @@ public interface SysUserOrgServiceApi {
|
|||
*/
|
||||
List<Long> getPositionUserList(Long orgId, Long positionId);
|
||||
|
||||
/**
|
||||
* 获取用户在指定机构下的职务
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2023/7/15 23:04
|
||||
*/
|
||||
Long getUserOrgPositionId(Long userId, Long orgId);
|
||||
|
||||
}
|
||||
|
|
|
@ -229,6 +229,27 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getUserOrgPositionId(Long userId, Long orgId) {
|
||||
|
||||
if (ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(orgId)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
SysUserOrgRequest sysUserOrgRequest = new SysUserOrgRequest();
|
||||
sysUserOrgRequest.setUserId(userId);
|
||||
sysUserOrgRequest.setOrgId(orgId);
|
||||
LambdaQueryWrapper<SysUserOrg> wrapper = this.createWrapper(sysUserOrgRequest);
|
||||
wrapper.select(SysUserOrg::getPositionId);
|
||||
SysUserOrg sysUserOrg = this.getOne(wrapper, false);
|
||||
|
||||
if (sysUserOrg != null) {
|
||||
return sysUserOrg.getPositionId();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息
|
||||
*
|
||||
|
@ -252,6 +273,9 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
|
|||
private LambdaQueryWrapper<SysUserOrg> createWrapper(SysUserOrgRequest sysUserOrgRequest) {
|
||||
LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Long userId = sysUserOrgRequest.getUserId();
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(userId), SysUserOrg::getUserId, userId);
|
||||
|
||||
Long orgId = sysUserOrgRequest.getOrgId();
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(orgId), SysUserOrg::getOrgId, orgId);
|
||||
|
||||
|
|
|
@ -25,6 +25,12 @@ public class IndexUserOrgInfo {
|
|||
@ChineseDescription("组织机构id")
|
||||
private Long orgId;
|
||||
|
||||
/**
|
||||
* 职务id,组织机构下对应的职务id
|
||||
*/
|
||||
@ChineseDescription("职务id,组织机构下对应的职务id")
|
||||
private Long positionId;
|
||||
|
||||
/**
|
||||
* 公司的名称
|
||||
*/
|
||||
|
|
|
@ -121,7 +121,13 @@ public class UserIndexInfoService {
|
|||
throw new ServiceException(OrgExceptionEnum.UPDATE_LOGIN_USER_ORG_ERROR);
|
||||
}
|
||||
|
||||
// 设置用户的当前组织机构id
|
||||
loginUser.setCurrentOrgId(updateUserOrgAppRequest.getNewOrgId());
|
||||
|
||||
// 设置用户在当前机构下的职位id
|
||||
Long positionId = sysUserOrgServiceApi.getUserOrgPositionId(loginUser.getUserId(),
|
||||
updateUserOrgAppRequest.getNewOrgId());
|
||||
loginUser.setCurrentPositionId(positionId);
|
||||
}
|
||||
|
||||
if (updateUserOrgAppRequest.getNewAppId() != null) {
|
||||
|
@ -189,6 +195,8 @@ public class UserIndexInfoService {
|
|||
|
||||
indexUserOrgInfo.setCompanyName(userOrgItem.getCompanyName());
|
||||
indexUserOrgInfo.setDeptName(userOrgItem.getDeptName());
|
||||
|
||||
indexUserOrgInfo.setPositionId(userOrgItem.getPositionId());
|
||||
indexUserOrgInfo.setPositionName(userOrgItem.getPositionName());
|
||||
|
||||
// 设置是否是主要任职部门
|
||||
|
@ -206,6 +214,7 @@ public class UserIndexInfoService {
|
|||
// 更新用户的当前组织机构id
|
||||
if (indexUserOrgInfo.getMainFlag()) {
|
||||
loginUser.setCurrentOrgId(indexUserOrgInfo.getOrgId());
|
||||
loginUser.setCurrentPositionId(indexUserOrgInfo.getPositionId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue