feat: 代码配置重置接口

This commit is contained in:
ray
2024-07-31 21:35:53 +08:00
parent 8f5211b667
commit 5d15c8976d
6 changed files with 54 additions and 12 deletions

View File

@@ -42,7 +42,8 @@ public class GeneratorController {
@Operation(summary = "获取代码生成配置")
@GetMapping("/{tableName}/config")
public Result<GenConfigForm> getGenConfigFormData(
@Parameter(description = "表名", example = "sys_user") @PathVariable String tableName) {
@Parameter(description = "表名", example = "sys_user") @PathVariable String tableName
) {
GenConfigForm formData = generatorService.getGenConfigFormData(tableName);
return Result.success(formData);
}
@@ -54,6 +55,15 @@ public class GeneratorController {
return Result.success();
}
@Operation(summary = "删除代码生成配置")
@DeleteMapping("/{tableName}/config")
public Result deleteGenConfig(
@Parameter(description = "表名", example = "sys_user") @PathVariable String tableName
) {
boolean result = generatorService.deleteGenConfig(tableName);
return Result.judge(result);
}
@Operation(summary = "获取预览生成代码")
@GetMapping("/{tableName}/preview")
public Result<List<GeneratorPreviewVO>> getTablePreviewData(@PathVariable String tableName) {

View File

@@ -1,6 +1,7 @@
package com.youlai.system.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -101,5 +102,6 @@ public class GenFieldConfig extends BaseEntity {
*/
private String dictType;
@TableLogic
private Integer isDeleted;
}

View File

@@ -48,5 +48,11 @@ public interface GeneratorService {
*/
void saveGenConfig(GenConfigForm formData);
/**
* 删除代码生成配置
*
* @param tableName 表名
* @return
*/
boolean deleteGenConfig(String tableName);
}

View File

@@ -177,6 +177,28 @@ public class GeneratorServiceImpl implements GeneratorService {
genFieldConfigService.saveOrUpdateBatch(genFieldConfigs);
}
/**
* 删除代码生成配置
*
* @param tableName 表名
* @return
*/
@Override
public boolean deleteGenConfig(String tableName) {
GenConfig genConfig = genConfigService.getOne(new LambdaQueryWrapper<GenConfig>()
.eq(GenConfig::getTableName, tableName));
boolean result = genConfigService.remove(new LambdaQueryWrapper<GenConfig>()
.eq(GenConfig::getTableName, tableName)
);
if (result) {
genFieldConfigService.remove(new LambdaQueryWrapper<GenFieldConfig>()
.eq(GenFieldConfig::getConfigId, genConfig.getId())
);
}
return result;
}
/**
* 获取预览生成代码
@@ -225,7 +247,7 @@ public class GeneratorServiceImpl implements GeneratorService {
// controller
String subPackageName = templateConfig.getPackageName();
// 文件路径 com.youlai.system.controller
String filePath = getFilePath(templateName, packageName, subPackageName,entityName);
String filePath = getFilePath(templateName, packageName, subPackageName, entityName);
previewVO.setPath(filePath);
/* 3. 生成文件内容 */
@@ -259,7 +281,7 @@ public class GeneratorServiceImpl implements GeneratorService {
return entityName + templateName + extension;
}
private String getFilePath(String templateName, String packageName, String subPackageName,String entityName) {
private String getFilePath(String templateName, String packageName, String subPackageName, String entityName) {
String path;
if ("MapperXml".equals(templateName)) {
path = (generatorProperties.getBackendAppName()
@@ -267,19 +289,19 @@ public class GeneratorServiceImpl implements GeneratorService {
+ "src" + File.separator + "main" + File.separator + "resources"
+ File.separator + subPackageName
);
} else if ("API".equals(templateName) ) {
} else if ("API".equals(templateName)) {
path = (generatorProperties.getFrontendAppName()
+ File.separator
+ "src" + File.separator + subPackageName
);
} else if("VIEW".equals(templateName)){
} else if ("VIEW".equals(templateName)) {
path = (generatorProperties.getFrontendAppName()
+ File.separator
+ "src" + File.separator + subPackageName
+ File.separator
+ StrUtil.toSymbolCase(entityName, '-')
);
}else {
} else {
path = (generatorProperties.getBackendAppName()
+ File.separator
+ "src" + File.separator + "main" + File.separator + "java"