mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	@@ -19,6 +19,7 @@ package top.continew.admin.generator.service.impl;
 | 
				
			|||||||
import cn.hutool.core.bean.BeanUtil;
 | 
					import cn.hutool.core.bean.BeanUtil;
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
import cn.hutool.core.io.FileUtil;
 | 
					import cn.hutool.core.io.FileUtil;
 | 
				
			||||||
 | 
					import cn.hutool.core.io.file.FileNameUtil;
 | 
				
			||||||
import cn.hutool.core.util.ClassUtil;
 | 
					import cn.hutool.core.util.ClassUtil;
 | 
				
			||||||
import cn.hutool.core.util.ObjectUtil;
 | 
					import cn.hutool.core.util.ObjectUtil;
 | 
				
			||||||
import cn.hutool.core.util.StrUtil;
 | 
					import cn.hutool.core.util.StrUtil;
 | 
				
			||||||
@@ -227,30 +228,6 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
        return generatePreviewList;
 | 
					        return generatePreviewList;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void setPreviewPath(GeneratePreviewResp generatePreview,
 | 
					 | 
				
			||||||
                                InnerGenConfigDO genConfig,
 | 
					 | 
				
			||||||
                                GeneratorProperties.TemplateConfig templateConfig) {
 | 
					 | 
				
			||||||
        // 获取前后端基础路径
 | 
					 | 
				
			||||||
        String backendBasicPackagePath = this.buildBackendBasicPackagePath(genConfig);
 | 
					 | 
				
			||||||
        String frontendBasicPackagePath = String.join(File.separator, projectProperties.getAppName(), projectProperties
 | 
					 | 
				
			||||||
            .getAppName() + "-ui");
 | 
					 | 
				
			||||||
        String packagePath;
 | 
					 | 
				
			||||||
        if (generatePreview.isBackend()) {
 | 
					 | 
				
			||||||
            // 例如:continew-admin/continew-system/src/main/java/top/continew/admin/system/service/impl
 | 
					 | 
				
			||||||
            packagePath = String.join(File.separator, backendBasicPackagePath, templateConfig.getPackageName()
 | 
					 | 
				
			||||||
                .replace(StringConstants.DOT, File.separator));
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            // 例如:continew-admin/continew-admin-ui/src/views/system
 | 
					 | 
				
			||||||
            packagePath = String.join(File.separator, frontendBasicPackagePath, templateConfig.getPackageName()
 | 
					 | 
				
			||||||
                .replace(StringConstants.SLASH, File.separator), genConfig.getApiModuleName());
 | 
					 | 
				
			||||||
            // 例如:continew-admin/continew-admin-ui/src/views/system/user
 | 
					 | 
				
			||||||
            packagePath = ".vue".equals(templateConfig.getExtension())
 | 
					 | 
				
			||||||
                ? packagePath + File.separator + StrUtil.lowerFirst(genConfig.getClassNamePrefix())
 | 
					 | 
				
			||||||
                : packagePath;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        generatePreview.setPath(packagePath);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void downloadCode(List<String> tableNames, HttpServletResponse response) {
 | 
					    public void downloadCode(List<String> tableNames, HttpServletResponse response) {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
@@ -357,6 +334,37 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
        return generatePreviewList;
 | 
					        return generatePreviewList;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 设置预览路径
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param generatePreview 预览信息
 | 
				
			||||||
 | 
					     * @param genConfig       生成配置
 | 
				
			||||||
 | 
					     * @param templateConfig  模板配置
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private void setPreviewPath(GeneratePreviewResp generatePreview,
 | 
				
			||||||
 | 
					                                InnerGenConfigDO genConfig,
 | 
				
			||||||
 | 
					                                GeneratorProperties.TemplateConfig templateConfig) {
 | 
				
			||||||
 | 
					        // 获取前后端基础路径
 | 
				
			||||||
 | 
					        String backendBasicPackagePath = this.buildBackendBasicPackagePath(genConfig, templateConfig);
 | 
				
			||||||
 | 
					        String frontendBasicPackagePath = String.join(File.separator, projectProperties.getAppName(), projectProperties
 | 
				
			||||||
 | 
					            .getAppName() + "-ui");
 | 
				
			||||||
 | 
					        String packagePath;
 | 
				
			||||||
 | 
					        if (generatePreview.isBackend()) {
 | 
				
			||||||
 | 
					            // 例如:continew-admin/continew-system/src/main/java/top/continew/admin/system/service/impl
 | 
				
			||||||
 | 
					            packagePath = String.join(File.separator, backendBasicPackagePath, templateConfig.getPackageName()
 | 
				
			||||||
 | 
					                .replace(StringConstants.DOT, File.separator));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            // 例如:continew-admin/continew-admin-ui/src/views/system
 | 
				
			||||||
 | 
					            packagePath = String.join(File.separator, frontendBasicPackagePath, templateConfig.getPackageName()
 | 
				
			||||||
 | 
					                .replace(StringConstants.SLASH, File.separator), genConfig.getApiModuleName());
 | 
				
			||||||
 | 
					            // 例如:continew-admin/continew-admin-ui/src/views/system/user
 | 
				
			||||||
 | 
					            packagePath = ".vue".equals(templateConfig.getExtension())
 | 
				
			||||||
 | 
					                ? packagePath + File.separator + StrUtil.lowerFirst(genConfig.getClassNamePrefix())
 | 
				
			||||||
 | 
					                : packagePath;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        generatePreview.setPath(packagePath);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 生成代码
 | 
					     * 生成代码
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
@@ -380,13 +388,19 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
     * 构建后端包路径
 | 
					     * 构建后端包路径
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param genConfig      生成配置
 | 
					     * @param genConfig      生成配置
 | 
				
			||||||
 | 
					     * @param templateConfig 模板配置
 | 
				
			||||||
     * @return 后端包路径
 | 
					     * @return 后端包路径
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private String buildBackendBasicPackagePath(GenConfigDO genConfig) {
 | 
					    private String buildBackendBasicPackagePath(GenConfigDO genConfig,
 | 
				
			||||||
 | 
					                                                GeneratorProperties.TemplateConfig templateConfig) {
 | 
				
			||||||
 | 
					        String extension = templateConfig.getExtension();
 | 
				
			||||||
        // 例如:continew-admin/continew-system/src/main/java/top/continew/admin/system
 | 
					        // 例如:continew-admin/continew-system/src/main/java/top/continew/admin/system
 | 
				
			||||||
        return String.join(File.separator, projectProperties.getAppName(), projectProperties.getAppName(), genConfig
 | 
					        return String.join(File.separator, projectProperties.getAppName(), projectProperties.getAppName(), genConfig
 | 
				
			||||||
            .getModuleName(), "src", "main", "java", genConfig.getPackageName()
 | 
					            .getModuleName(), "src", "main", FileNameUtil.EXT_JAVA.equals(extension)
 | 
				
			||||||
                .replace(StringConstants.DOT, File.separator));
 | 
					                ? "java"
 | 
				
			||||||
 | 
					                : "resources") + (FileNameUtil.EXT_JAVA.equals(extension)
 | 
				
			||||||
 | 
					                    ? File.separator + genConfig.getPackageName().replace(StringConstants.DOT, File.separator)
 | 
				
			||||||
 | 
					                    : StringConstants.EMPTY);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user