Ver Fonte

reactor:移除 infra 对 system 的依赖

YunaiV há 5 meses atrás
pai
commit
ee7b3fb275

+ 0 - 5
yudao-module-infra/yudao-module-infra-biz/pom.xml

@@ -19,11 +19,6 @@
     </description>
 
     <dependencies>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-module-system-api</artifactId>
-            <version>${revision}</version>
-        </dependency>
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-module-infra-api</artifactId>

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/CodegenController.java

@@ -34,7 +34,7 @@ import java.util.List;
 import java.util.Map;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserNickname;
 import static cn.iocoder.yudao.module.infra.framework.file.core.utils.FileTypeUtils.writeAttachment;
 
 @Tag(name = "管理后台 - 代码生成器")
@@ -93,7 +93,7 @@ public class CodegenController {
     @PostMapping("/create-list")
     @PreAuthorize("@ss.hasPermission('infra:codegen:create')")
     public CommonResult<List<Long>> createCodegenList(@Valid @RequestBody CodegenCreateListReqVO reqVO) {
-        return success(codegenService.createCodegenList(getLoginUserId(), reqVO));
+        return success(codegenService.createCodegenList(getLoginUserNickname(), reqVO));
     }
 
     @Operation(summary = "更新数据库的表和字段定义")

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenService.java

@@ -21,11 +21,11 @@ public interface CodegenService {
     /**
      * 基于数据库的表结构,创建代码生成器的表定义
      *
-     * @param userId 用户编号
+     * @param author 作者
      * @param reqVO 表信息
      * @return 创建的表定义的编号数组
      */
-    List<Long> createCodegenList(Long userId, CodegenCreateListReqVO reqVO);
+    List<Long> createCodegenList(String author, CodegenCreateListReqVO reqVO);
 
     /**
      * 更新数据库的表和字段定义

+ 6 - 10
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java

@@ -18,7 +18,6 @@ import cn.iocoder.yudao.module.infra.framework.codegen.config.CodegenProperties;
 import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenBuilder;
 import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenEngine;
 import cn.iocoder.yudao.module.infra.service.db.DatabaseTableService;
-import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import com.baomidou.mybatisplus.generator.config.po.TableField;
 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
 import com.google.common.annotations.VisibleForTesting;
@@ -52,9 +51,6 @@ public class CodegenServiceImpl implements CodegenService {
     @Resource
     private CodegenColumnMapper codegenColumnMapper;
 
-    @Resource
-    private AdminUserApi userApi;
-
     @Resource
     private CodegenBuilder codegenBuilder;
     @Resource
@@ -65,21 +61,21 @@ public class CodegenServiceImpl implements CodegenService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public List<Long> createCodegenList(Long userId, CodegenCreateListReqVO reqVO) {
+    public List<Long> createCodegenList(String author, CodegenCreateListReqVO reqVO) {
         List<Long> ids = new ArrayList<>(reqVO.getTableNames().size());
         // 遍历添加。虽然效率会低一点,但是没必要做成完全批量,因为不会这么大量
-        reqVO.getTableNames().forEach(tableName -> ids.add(createCodegen(userId, reqVO.getDataSourceConfigId(), tableName)));
+        reqVO.getTableNames().forEach(tableName -> ids.add(createCodegen(author, reqVO.getDataSourceConfigId(), tableName)));
         return ids;
     }
 
-    private Long createCodegen(Long userId, Long dataSourceConfigId, String tableName) {
+    private Long createCodegen(String author, Long dataSourceConfigId, String tableName) {
         // 从数据库中,获得数据库表结构
         TableInfo tableInfo = databaseTableService.getTable(dataSourceConfigId, tableName);
         // 导入
-        return createCodegen0(userId, dataSourceConfigId, tableInfo);
+        return createCodegen0(author, dataSourceConfigId, tableInfo);
     }
 
-    private Long createCodegen0(Long userId, Long dataSourceConfigId, TableInfo tableInfo) {
+    private Long createCodegen0(String author, Long dataSourceConfigId, TableInfo tableInfo) {
         // 校验导入的表和字段非空
         validateTableInfo(tableInfo);
         // 校验是否已经存在
@@ -93,7 +89,7 @@ public class CodegenServiceImpl implements CodegenService {
         table.setDataSourceConfigId(dataSourceConfigId);
         table.setScene(CodegenSceneEnum.ADMIN.getScene()); // 默认配置下,使用管理后台的模板
         table.setFrontType(codegenProperties.getFrontType());
-        table.setAuthor(userApi.getUser(userId).getNickname());
+        table.setAuthor(author);
         codegenTableMapper.insert(table);
 
         // 构建 CodegenColumnDO 数组,插入到 DB 中

+ 3 - 11
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImplTest.java

@@ -20,8 +20,6 @@ import cn.iocoder.yudao.module.infra.framework.codegen.config.CodegenProperties;
 import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenBuilder;
 import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenEngine;
 import cn.iocoder.yudao.module.infra.service.db.DatabaseTableService;
-import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
-import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import com.baomidou.mybatisplus.generator.config.po.TableField;
 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
 import jakarta.annotation.Resource;
@@ -65,9 +63,6 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
     @MockBean
     private DatabaseTableService databaseTableService;
 
-    @MockBean
-    private AdminUserApi userApi;
-
     @MockBean
     private CodegenBuilder codegenBuilder;
     @MockBean
@@ -79,7 +74,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
     @Test
     public void testCreateCodegenList() {
         // 准备参数
-        Long userId = randomLongId();
+        String author = randomString();
         CodegenCreateListReqVO reqVO = randomPojo(CodegenCreateListReqVO.class,
                 o -> o.setDataSourceConfigId(1L).setTableNames(Collections.singletonList("t_yunai")));
         // mock 方法(TableInfo)
@@ -97,9 +92,6 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
         // mock 方法(CodegenTableDO)
         CodegenTableDO table = randomPojo(CodegenTableDO.class);
         when(codegenBuilder.buildTable(same(tableInfo))).thenReturn(table);
-        // mock 方法(AdminUserRespDTO)
-        AdminUserRespDTO user = randomPojo(AdminUserRespDTO.class, o -> o.setNickname("芋头"));
-        when(userApi.getUser(eq(userId))).thenReturn(user);
         // mock 方法(CodegenColumnDO)
         List<CodegenColumnDO> columns = randomPojoList(CodegenColumnDO.class);
         when(codegenBuilder.buildColumns(eq(table.getId()), same(fields)))
@@ -108,7 +100,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
         when(codegenProperties.getFrontType()).thenReturn(CodegenFrontTypeEnum.VUE3_ELEMENT_PLUS.getType());
 
         // 调用
-        List<Long> result = codegenService.createCodegenList(userId, reqVO);
+        List<Long> result = codegenService.createCodegenList(author, reqVO);
         // 断言
         assertEquals(1, result.size());
         // 断言(CodegenTableDO)
@@ -117,7 +109,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
         assertEquals(1L, dbTable.getDataSourceConfigId());
         assertEquals(CodegenSceneEnum.ADMIN.getScene(), dbTable.getScene());
         assertEquals(CodegenFrontTypeEnum.VUE3_ELEMENT_PLUS.getType(), dbTable.getFrontType());
-        assertEquals("芋头", dbTable.getAuthor());
+        assertEquals(author, dbTable.getAuthor());
         // 断言(CodegenColumnDO)
         List<CodegenColumnDO> dbColumns = codegenColumnMapper.selectList();
         assertEquals(columns.size(), dbColumns.size());