表前缀
This commit is contained in:
@@ -42,6 +42,49 @@ class CodeGenerationController extends BaseController
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量生成代码
|
||||
* @Method POST
|
||||
* @return JsonResponse
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function batchGeneration()
|
||||
{
|
||||
$params = request()->post();
|
||||
|
||||
if (!is_array($params) || empty($params)) {
|
||||
return jerr('参数错误,需要数组格式!');
|
||||
}
|
||||
|
||||
$results = [];
|
||||
$errors = [];
|
||||
|
||||
foreach ($params as $index => $item) {
|
||||
try {
|
||||
// 验证必填字段
|
||||
if (empty($item['class_name']) || empty($item['field']) || !is_array($item['field'])) {
|
||||
$errors[] = "模块 " . ($index + 1) . " 参数不完整";
|
||||
continue;
|
||||
}
|
||||
|
||||
$result = $this->service->generate($item);
|
||||
$results[] = $result;
|
||||
} catch (\Exception $e) {
|
||||
$errors[] = "模块 " . ($index + 1) . " 生成失败: " . $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($results)) {
|
||||
return jerr('批量生成失败:' . implode('; ', $errors));
|
||||
}
|
||||
|
||||
if (!empty($errors)) {
|
||||
return jok($results, '部分生成成功,共生成 ' . count($results) . ' 个模块。错误:' . implode('; ', $errors));
|
||||
}
|
||||
|
||||
return jok($results, '批量生成成功,共生成 ' . count($results) . ' 个模块!');
|
||||
}
|
||||
|
||||
public function download()
|
||||
{
|
||||
// $id = request()->post('id');
|
||||
@@ -64,4 +107,57 @@ class CodeGenerationController extends BaseController
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据库表列表
|
||||
* @Method GET
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function getTables()
|
||||
{
|
||||
return jok(
|
||||
$this->service->getTableList()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取表结构
|
||||
* @Method GET
|
||||
* @return JsonResponse
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function getTableStructure()
|
||||
{
|
||||
$tableName = request()->get('table_name');
|
||||
if (!$tableName) {
|
||||
return jerr('表名不能为空!');
|
||||
}
|
||||
return jok(
|
||||
$this->service->getTableColumns($tableName)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从数据库表生成代码生成数据
|
||||
* @Method POST
|
||||
* @return JsonResponse
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function generateFromTable()
|
||||
{
|
||||
$tableName = request()->post('table_name');
|
||||
$className = request()->post('class_name', '');
|
||||
$classComment = request()->post('class_comment', '');
|
||||
$icon = request()->post('icon', '');
|
||||
$sort = request()->post('sort', 9999);
|
||||
$pid = request()->post('pid', 0);
|
||||
|
||||
if (!$tableName) {
|
||||
return jerr('表名不能为空!');
|
||||
}
|
||||
|
||||
$codeGenData = $this->service->convertTableToCodeGenData($tableName, $className, $classComment, $icon, $sort, $pid);
|
||||
|
||||
return jok($codeGenData);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user