gaoluyang
2 天以前 feedd62ec46b9faada80505387526acf914cf4c5
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java
@@ -31,6 +31,7 @@
import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.module.system.service.tenant.TenantService;
import cn.iocoder.yudao.framework.operatelog.core.util.OperateLogUtils;
import com.google.common.annotations.VisibleForTesting;
import com.mzt.logapi.context.LogRecordContext;
import com.mzt.logapi.service.impl.DiffParseFunction;
@@ -55,7 +56,7 @@
/**
 * 后台用户 Service 实现类
 *
 * @author 芋道源码
 * @author 超级管理员
 */
@Service("adminUserService")
@Slf4j
@@ -116,6 +117,10 @@
        if (CollectionUtil.isNotEmpty(user.getPostIds())) {
            userPostMapper.insertBatch(convertList(user.getPostIds(),
                    postId -> new UserPostDO().setUserId(user.getId()).setPostId(postId)));
        }
        // 2.3 分配用户角色
        if (CollUtil.isNotEmpty(createReqVO.getRoleIds())) {
            permissionService.assignUserRole(user.getId(), createReqVO.getRoleIds());
        }
        // 3. 记录操作日志上下文
@@ -502,6 +507,8 @@
    }
    @Override
    @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_IMPORT_SUB_TYPE, bizNo = "0",
            success = SYSTEM_USER_IMPORT_SUCCESS)
    @Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
    public UserImportRespVO importUserList(List<UserImportExcelVO> importUsers, boolean isUpdateSupport) {
        // 1.1 参数校验
@@ -555,6 +562,9 @@
            userMapper.updateById(updateUser);
            respVO.getUpdateUsernames().add(importUser.getUsername());
        });
        // 记录导入结果汇总,供 @LogRecord 的 success 文案引用
        OperateLogUtils.putImportSummary(respVO.getCreateUsernames(), respVO.getUpdateUsernames(),
                respVO.getFailureUsernames());
        return respVO;
    }