mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	@@ -16,22 +16,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
package top.charles7c.continew.admin.tool.service.impl;
 | 
					package top.charles7c.continew.admin.tool.service.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.File;
 | 
					 | 
				
			||||||
import java.nio.charset.StandardCharsets;
 | 
					 | 
				
			||||||
import java.sql.SQLException;
 | 
					 | 
				
			||||||
import java.util.*;
 | 
					 | 
				
			||||||
import java.util.function.Function;
 | 
					 | 
				
			||||||
import java.util.stream.Collectors;
 | 
					 | 
				
			||||||
import javax.sql.DataSource;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					 | 
				
			||||||
import lombok.extern.slf4j.Slf4j;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					 | 
				
			||||||
import org.springframework.transaction.annotation.Transactional;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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.date.DateUtil;
 | 
					import cn.hutool.core.date.DateUtil;
 | 
				
			||||||
@@ -41,7 +25,11 @@ import cn.hutool.core.util.ClassUtil;
 | 
				
			|||||||
import cn.hutool.core.util.StrUtil;
 | 
					import cn.hutool.core.util.StrUtil;
 | 
				
			||||||
import cn.hutool.db.meta.Column;
 | 
					import cn.hutool.db.meta.Column;
 | 
				
			||||||
import cn.hutool.system.SystemUtil;
 | 
					import cn.hutool.system.SystemUtil;
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j;
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
import top.charles7c.continew.admin.tool.config.properties.GeneratorProperties;
 | 
					import top.charles7c.continew.admin.tool.config.properties.GeneratorProperties;
 | 
				
			||||||
import top.charles7c.continew.admin.tool.config.properties.GeneratorProperties.TemplateConfig;
 | 
					import top.charles7c.continew.admin.tool.config.properties.GeneratorProperties.TemplateConfig;
 | 
				
			||||||
import top.charles7c.continew.admin.tool.enums.QueryTypeEnum;
 | 
					import top.charles7c.continew.admin.tool.enums.QueryTypeEnum;
 | 
				
			||||||
@@ -63,6 +51,13 @@ import top.charles7c.continew.starter.core.util.validate.CheckUtils;
 | 
				
			|||||||
import top.charles7c.continew.starter.extension.crud.model.query.PageQuery;
 | 
					import top.charles7c.continew.starter.extension.crud.model.query.PageQuery;
 | 
				
			||||||
import top.charles7c.continew.starter.extension.crud.model.resp.PageResp;
 | 
					import top.charles7c.continew.starter.extension.crud.model.resp.PageResp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.sql.DataSource;
 | 
				
			||||||
 | 
					import java.io.File;
 | 
				
			||||||
 | 
					import java.sql.SQLException;
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 代码生成业务实现
 | 
					 * 代码生成业务实现
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -197,6 +192,7 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
        GenConfigDO newGenConfig = req.getGenConfig();
 | 
					        GenConfigDO newGenConfig = req.getGenConfig();
 | 
				
			||||||
        String frontendPath = newGenConfig.getFrontendPath();
 | 
					        String frontendPath = newGenConfig.getFrontendPath();
 | 
				
			||||||
        if (StrUtil.isNotBlank(frontendPath)) {
 | 
					        if (StrUtil.isNotBlank(frontendPath)) {
 | 
				
			||||||
 | 
					            CheckUtils.throwIf(!FileUtil.exist(frontendPath), "前端路径不存在");
 | 
				
			||||||
            CheckUtils.throwIf(!StrUtil.containsAll(frontendPath, "src", "views"), "前端路径配置错误");
 | 
					            CheckUtils.throwIf(!StrUtil.containsAll(frontendPath, "src", "views"), "前端路径配置错误");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        GenConfigDO oldGenConfig = genConfigMapper.selectById(tableName);
 | 
					        GenConfigDO oldGenConfig = genConfigMapper.selectById(tableName);
 | 
				
			||||||
@@ -293,7 +289,7 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
                if (classFile.exists() && !isOverride) {
 | 
					                if (classFile.exists() && !isOverride) {
 | 
				
			||||||
                    continue;
 | 
					                    continue;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                FileUtil.writeString(codePreview.getContent(), classFile, StandardCharsets.UTF_8);
 | 
					                FileUtil.writeUtf8String(codePreview.getContent(), classFile);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 生成前端代码
 | 
					            // 生成前端代码
 | 
				
			||||||
            String frontendPath = genConfig.getFrontendPath();
 | 
					            String frontendPath = genConfig.getFrontendPath();
 | 
				
			||||||
@@ -316,7 +312,7 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
            if (apiFile.exists() && !isOverride) {
 | 
					            if (apiFile.exists() && !isOverride) {
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            FileUtil.writeString(apiCodePreview.getContent(), apiFile, StandardCharsets.UTF_8);
 | 
					            FileUtil.writeUtf8String(apiCodePreview.getContent(), apiFile);
 | 
				
			||||||
            // 2.生成 view 代码
 | 
					            // 2.生成 view 代码
 | 
				
			||||||
            GeneratePreviewResp viewCodePreview = frontendCodePreviewList.get(1);
 | 
					            GeneratePreviewResp viewCodePreview = frontendCodePreviewList.get(1);
 | 
				
			||||||
            // 例如:D:/continew-admin-ui/src/views/tool/xxx/index.vue
 | 
					            // 例如:D:/continew-admin-ui/src/views/tool/xxx/index.vue
 | 
				
			||||||
@@ -325,7 +321,7 @@ public class GeneratorServiceImpl implements GeneratorService {
 | 
				
			|||||||
            if (indexFile.exists() && !isOverride) {
 | 
					            if (indexFile.exists() && !isOverride) {
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            FileUtil.writeString(viewCodePreview.getContent(), indexFile, StandardCharsets.UTF_8);
 | 
					            FileUtil.writeUtf8String(viewCodePreview.getContent(), indexFile);
 | 
				
			||||||
        } catch (Exception e) {
 | 
					        } catch (Exception e) {
 | 
				
			||||||
            log.error("Generate code occurred an error: {}. tableName: {}.", e.getMessage(), tableName, e);
 | 
					            log.error("Generate code occurred an error: {}. tableName: {}.", e.getMessage(), tableName, e);
 | 
				
			||||||
            throw new BusinessException("代码生成失败,请手动清理生成文件");
 | 
					            throw new BusinessException("代码生成失败,请手动清理生成文件");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user