feat: 代码配置重置接口
This commit is contained in:
@@ -444,7 +444,7 @@ CREATE TABLE `gen_config` (
|
|||||||
`parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
|
`parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
|
||||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
`is_deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `uk_tablename` (`table_name`)
|
UNIQUE KEY `uk_tablename` (`table_name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='代码生成基础配置表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='代码生成基础配置表';
|
||||||
@@ -458,7 +458,7 @@ CREATE TABLE `gen_field_config` (
|
|||||||
`config_id` bigint NOT NULL COMMENT '关联的配置ID',
|
`config_id` bigint NOT NULL COMMENT '关联的配置ID',
|
||||||
`column_name` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
`column_name` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
||||||
`column_type` varchar(50) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
`column_type` varchar(50) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
||||||
`column_length` int DEFAULT NULL,
|
`max_length` int DEFAULT NULL COMMENT '最大长度',
|
||||||
`field_name` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名称',
|
`field_name` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名称',
|
||||||
`field_type` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '字段类型',
|
`field_type` varchar(100) CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '字段类型',
|
||||||
`field_sort` int DEFAULT NULL COMMENT '字段排序',
|
`field_sort` int DEFAULT NULL COMMENT '字段排序',
|
||||||
@@ -471,6 +471,7 @@ CREATE TABLE `gen_field_config` (
|
|||||||
`form_type` tinyint DEFAULT NULL COMMENT '表单类型',
|
`form_type` tinyint DEFAULT NULL COMMENT '表单类型',
|
||||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `config_id` (`config_id`)
|
KEY `config_id` (`config_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='代码生成字段配置表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='代码生成字段配置表';
|
||||||
|
|||||||
@@ -445,7 +445,7 @@ CREATE TABLE `gen_config` (
|
|||||||
`parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
|
`parent_menu_id` bigint DEFAULT NULL COMMENT '上级菜单ID,对应sys_menu的id ',
|
||||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
`is_deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `uk_tablename` (`table_name`)
|
UNIQUE KEY `uk_tablename` (`table_name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成基础配置表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成基础配置表';
|
||||||
@@ -459,7 +459,7 @@ CREATE TABLE `gen_field_config` (
|
|||||||
`config_id` bigint NOT NULL COMMENT '关联的配置ID',
|
`config_id` bigint NOT NULL COMMENT '关联的配置ID',
|
||||||
`column_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
`column_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
||||||
`column_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
`column_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
||||||
`column_length` int DEFAULT NULL,
|
`max_length` int DEFAULT NULL COMMENT '最大长度',
|
||||||
`field_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名称',
|
`field_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名称',
|
||||||
`field_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '字段类型',
|
`field_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '字段类型',
|
||||||
`field_sort` int DEFAULT NULL COMMENT '字段排序',
|
`field_sort` int DEFAULT NULL COMMENT '字段排序',
|
||||||
@@ -472,6 +472,7 @@ CREATE TABLE `gen_field_config` (
|
|||||||
`form_type` tinyint DEFAULT NULL COMMENT '表单类型',
|
`form_type` tinyint DEFAULT NULL COMMENT '表单类型',
|
||||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `config_id` (`config_id`)
|
KEY `config_id` (`config_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成字段配置表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成字段配置表';
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ public class GeneratorController {
|
|||||||
@Operation(summary = "获取代码生成配置")
|
@Operation(summary = "获取代码生成配置")
|
||||||
@GetMapping("/{tableName}/config")
|
@GetMapping("/{tableName}/config")
|
||||||
public Result<GenConfigForm> getGenConfigFormData(
|
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);
|
GenConfigForm formData = generatorService.getGenConfigFormData(tableName);
|
||||||
return Result.success(formData);
|
return Result.success(formData);
|
||||||
}
|
}
|
||||||
@@ -54,6 +55,15 @@ public class GeneratorController {
|
|||||||
return Result.success();
|
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 = "获取预览生成代码")
|
@Operation(summary = "获取预览生成代码")
|
||||||
@GetMapping("/{tableName}/preview")
|
@GetMapping("/{tableName}/preview")
|
||||||
public Result<List<GeneratorPreviewVO>> getTablePreviewData(@PathVariable String tableName) {
|
public Result<List<GeneratorPreviewVO>> getTablePreviewData(@PathVariable String tableName) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.youlai.system.model.entity;
|
package com.youlai.system.model.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
@@ -101,5 +102,6 @@ public class GenFieldConfig extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String dictType;
|
private String dictType;
|
||||||
|
|
||||||
|
@TableLogic
|
||||||
|
private Integer isDeleted;
|
||||||
}
|
}
|
||||||
@@ -48,5 +48,11 @@ public interface GeneratorService {
|
|||||||
*/
|
*/
|
||||||
void saveGenConfig(GenConfigForm formData);
|
void saveGenConfig(GenConfigForm formData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除代码生成配置
|
||||||
|
*
|
||||||
|
* @param tableName 表名
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
boolean deleteGenConfig(String tableName);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,6 +177,28 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
genFieldConfigService.saveOrUpdateBatch(genFieldConfigs);
|
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
|
// controller
|
||||||
String subPackageName = templateConfig.getPackageName();
|
String subPackageName = templateConfig.getPackageName();
|
||||||
// 文件路径 com.youlai.system.controller
|
// 文件路径 com.youlai.system.controller
|
||||||
String filePath = getFilePath(templateName, packageName, subPackageName,entityName);
|
String filePath = getFilePath(templateName, packageName, subPackageName, entityName);
|
||||||
previewVO.setPath(filePath);
|
previewVO.setPath(filePath);
|
||||||
|
|
||||||
/* 3. 生成文件内容 */
|
/* 3. 生成文件内容 */
|
||||||
@@ -259,7 +281,7 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
return entityName + templateName + extension;
|
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;
|
String path;
|
||||||
if ("MapperXml".equals(templateName)) {
|
if ("MapperXml".equals(templateName)) {
|
||||||
path = (generatorProperties.getBackendAppName()
|
path = (generatorProperties.getBackendAppName()
|
||||||
@@ -267,19 +289,19 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
+ "src" + File.separator + "main" + File.separator + "resources"
|
+ "src" + File.separator + "main" + File.separator + "resources"
|
||||||
+ File.separator + subPackageName
|
+ File.separator + subPackageName
|
||||||
);
|
);
|
||||||
} else if ("API".equals(templateName) ) {
|
} else if ("API".equals(templateName)) {
|
||||||
path = (generatorProperties.getFrontendAppName()
|
path = (generatorProperties.getFrontendAppName()
|
||||||
+ File.separator
|
+ File.separator
|
||||||
+ "src" + File.separator + subPackageName
|
+ "src" + File.separator + subPackageName
|
||||||
);
|
);
|
||||||
} else if("VIEW".equals(templateName)){
|
} else if ("VIEW".equals(templateName)) {
|
||||||
path = (generatorProperties.getFrontendAppName()
|
path = (generatorProperties.getFrontendAppName()
|
||||||
+ File.separator
|
+ File.separator
|
||||||
+ "src" + File.separator + subPackageName
|
+ "src" + File.separator + subPackageName
|
||||||
+ File.separator
|
+ File.separator
|
||||||
+ StrUtil.toSymbolCase(entityName, '-')
|
+ StrUtil.toSymbolCase(entityName, '-')
|
||||||
);
|
);
|
||||||
}else {
|
} else {
|
||||||
path = (generatorProperties.getBackendAppName()
|
path = (generatorProperties.getBackendAppName()
|
||||||
+ File.separator
|
+ File.separator
|
||||||
+ "src" + File.separator + "main" + File.separator + "java"
|
+ "src" + File.separator + "main" + File.separator + "java"
|
||||||
|
|||||||
Reference in New Issue
Block a user