1. 修改 iwork 用户同步逻辑,不对非 iwork 来源的关联关系进行覆盖,不覆盖已关联的岗位信息

This commit is contained in:
chenbowen
2026-01-28 14:10:05 +08:00
committed by chenbowen
parent 1b56bc7739
commit d15dabfeac
3 changed files with 103 additions and 4 deletions

View File

@@ -70,6 +70,13 @@ public interface UserDeptService {
*/
void deleteUserDeptByUserId(Long userId);
/**
* 根据用户ID与部门ID集合删除用户与部门关系
* @param userId 用户ID
* @param deptIds 部门ID集合
*/
void deleteUserDeptByUserIdAndDeptIds(Long userId, Collection<Long> deptIds);
/**
* 批量创建用户与部门关系
* @param createReqVOList 创建信息列表

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.system.service.userdept;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.system.dal.dataobject.userdept.UserDeptDO;
import com.zt.plat.module.system.dal.mysql.userdept.UserDeptMapper;
import jakarta.annotation.Resource;
@@ -128,10 +129,20 @@ public class UserDeptServiceImpl implements UserDeptService {
@Override
public void deleteUserDeptByUserId(Long userId) {
if (userId == null) return;
userDeptMapper.delete(new com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX<UserDeptDO>()
userDeptMapper.delete(new LambdaQueryWrapperX<UserDeptDO>()
.eq(UserDeptDO::getUserId, userId));
}
@Override
public void deleteUserDeptByUserIdAndDeptIds(Long userId, Collection<Long> deptIds) {
if (userId == null || CollUtil.isEmpty(deptIds)) {
return;
}
userDeptMapper.delete(new LambdaQueryWrapperX<UserDeptDO>()
.eq(UserDeptDO::getUserId, userId)
.in(UserDeptDO::getDeptId, deptIds));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchCreateUserDept(List<UserDeptDO> createReqVOList) {