mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-03 19:58:42 +08:00 
			
		
		
		
	【功能新增】INFRA:增加 ConfigApi,支持参数配置的读取
This commit is contained in:
		@@ -10,6 +10,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
 | 
			
		||||
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
 | 
			
		||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
 | 
			
		||||
@@ -32,7 +33,6 @@ import com.mzt.logapi.service.impl.DiffParseFunction;
 | 
			
		||||
import com.mzt.logapi.starter.annotation.LogRecord;
 | 
			
		||||
import jakarta.annotation.Resource;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value;
 | 
			
		||||
import org.springframework.context.annotation.Lazy;
 | 
			
		||||
import org.springframework.security.crypto.password.PasswordEncoder;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
@@ -57,8 +57,7 @@ import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*;
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class AdminUserServiceImpl implements AdminUserService {
 | 
			
		||||
 | 
			
		||||
    @Value("${sys.user.init-password:yudaoyuanma}")
 | 
			
		||||
    private String userInitPassword;
 | 
			
		||||
    static final String USER_INIT_PASSWORD_KEY = "system.user.init-password";
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private AdminUserMapper userMapper;
 | 
			
		||||
@@ -80,6 +79,8 @@ public class AdminUserServiceImpl implements AdminUserService {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private FileApi fileApi;
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ConfigApi configApi;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
@@ -428,9 +429,17 @@ public class AdminUserServiceImpl implements AdminUserService {
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
 | 
			
		||||
    public UserImportRespVO importUserList(List<UserImportExcelVO> importUsers, boolean isUpdateSupport) {
 | 
			
		||||
        // 1.1 参数校验
 | 
			
		||||
        if (CollUtil.isEmpty(importUsers)) {
 | 
			
		||||
            throw exception(USER_IMPORT_LIST_IS_EMPTY);
 | 
			
		||||
        }
 | 
			
		||||
        // 1.2 初始化密码不能为空
 | 
			
		||||
        String initPassword = configApi.getConfigValueByKey(USER_INIT_PASSWORD_KEY);
 | 
			
		||||
        if (StrUtil.isEmpty(initPassword)) {
 | 
			
		||||
            throw exception(USER_IMPORT_INIT_PASSWORD);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 2. 遍历,逐个创建 or 更新
 | 
			
		||||
        UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>())
 | 
			
		||||
                .updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
 | 
			
		||||
        importUsers.forEach(importUser -> {
 | 
			
		||||
@@ -446,7 +455,7 @@ public class AdminUserServiceImpl implements AdminUserService {
 | 
			
		||||
            AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
 | 
			
		||||
            if (existUser == null) {
 | 
			
		||||
                userMapper.insert(BeanUtils.toBean(importUser, AdminUserDO.class)
 | 
			
		||||
                        .setPassword(encodePassword(userInitPassword)).setPostIds(new HashSet<>())); // 设置默认密码及空岗位编号数组
 | 
			
		||||
                        .setPassword(encodePassword(initPassword)).setPostIds(new HashSet<>())); // 设置默认密码及空岗位编号数组
 | 
			
		||||
                respVO.getCreateUsernames().add(importUser.getUsername());
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 | 
			
		||||
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
 | 
			
		||||
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
 | 
			
		||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
 | 
			
		||||
@@ -23,6 +24,7 @@ import cn.iocoder.yudao.module.system.service.dept.DeptService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.dept.PostService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.tenant.TenantService;
 | 
			
		||||
import org.junit.jupiter.api.BeforeEach;
 | 
			
		||||
import org.junit.jupiter.api.Test;
 | 
			
		||||
import org.mockito.stubbing.Answer;
 | 
			
		||||
import org.springframework.boot.test.mock.mockito.MockBean;
 | 
			
		||||
@@ -46,6 +48,7 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEq
 | 
			
		||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
 | 
			
		||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
 | 
			
		||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
 | 
			
		||||
import static cn.iocoder.yudao.module.system.service.user.AdminUserServiceImpl.USER_INIT_PASSWORD_KEY;
 | 
			
		||||
import static java.util.Collections.singleton;
 | 
			
		||||
import static java.util.Collections.singletonList;
 | 
			
		||||
import static org.assertj.core.util.Lists.newArrayList;
 | 
			
		||||
@@ -76,6 +79,14 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
 | 
			
		||||
    private TenantService tenantService;
 | 
			
		||||
    @MockBean
 | 
			
		||||
    private FileApi fileApi;
 | 
			
		||||
    @MockBean
 | 
			
		||||
    private ConfigApi configApi;
 | 
			
		||||
 | 
			
		||||
    @BeforeEach
 | 
			
		||||
    public void before() {
 | 
			
		||||
        // mock 初始化密码
 | 
			
		||||
        when(configApi.getConfigValueByKey(USER_INIT_PASSWORD_KEY)).thenReturn("yudaoyuanma");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testCreatUser_success() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user