【8.0】【sys】当前登录用户增加一个职务id字段

pull/57/head
fengshuonan 2023-07-15 23:09:09 +08:00
parent 0927501eac
commit 6464f90ba0
5 changed files with 53 additions and 0 deletions

View File

@ -73,6 +73,12 @@ public class LoginUser implements Serializable {
@ChineseDescription("当前用户激活的组织机构id正在以哪个身份访问系统")
private Long currentOrgId;
/**
* id访
*/
@ChineseDescription("当前用户激活的职务id正在以哪个身份访问系统")
private Long currentPositionId;
/**
*
*/

View File

@ -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);
}

View File

@ -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);

View File

@ -25,6 +25,12 @@ public class IndexUserOrgInfo {
@ChineseDescription("组织机构id")
private Long orgId;
/**
* idid
*/
@ChineseDescription("职务id组织机构下对应的职务id")
private Long positionId;
/**
*
*/

View File

@ -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());
}
}
}