|
|
@@ -159,7 +159,7 @@ class SystemCrudServices extends BaseServices
|
|
|
|
|
|
$tableInfo = Db::query($sql, [config('database.connections.mysql.database'), $this->getTableName($tableName)]);
|
|
|
|
|
|
- return $tableInfo;
|
|
|
+ return $tableInfo[0] ?? [];
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -233,10 +233,17 @@ class SystemCrudServices extends BaseServices
|
|
|
$tableField = $this->valueReplace($data['tableField']);
|
|
|
$filePath = $this->valueReplace($data['filePath']);
|
|
|
|
|
|
+ if ($this->dao->value(['table_name' => $tableName])) {
|
|
|
+ throw new ValidateException('此表已经生成请在列表中查看');
|
|
|
+ }
|
|
|
|
|
|
+ $data['softDelete'] = false;
|
|
|
//创建数据库
|
|
|
if ($tableField && !$data['isTable']) {
|
|
|
- $this->makeDatebase($tableName, $tableComment, $tableField);
|
|
|
+ $tableCreateInfo = $this->makeDatebase($tableName, $tableComment, $tableField);
|
|
|
+ if ($tableCreateInfo['softDelete']) {
|
|
|
+ $data['softDelete'] = true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (in_array($tableName, self::NOT_CRUD_TABANAME)) {
|
|
|
@@ -296,6 +303,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '列表接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => '',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
[
|
|
|
@@ -304,6 +312,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '获取创建表单接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => Str::snake($tableName) . '-add',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
[
|
|
|
@@ -312,6 +321,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '保存数据接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => '',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
[
|
|
|
@@ -320,6 +330,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '获取修改表单接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => '',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
[
|
|
|
@@ -328,6 +339,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '修改数据接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => '',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
[
|
|
|
@@ -336,6 +348,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'name' => $data['menuName'] . '删除数据接口',
|
|
|
'app_name' => 'adminapi',
|
|
|
'cate_id' => $cateId,
|
|
|
+ 'unique_auth' => '',
|
|
|
'add_time' => date('Y-m-d H:i:s')
|
|
|
],
|
|
|
];
|
|
|
@@ -347,6 +360,7 @@ class SystemCrudServices extends BaseServices
|
|
|
'pid' => $menuInfo->id,
|
|
|
'methods' => $item['method'],
|
|
|
'api_url' => $item['path'],
|
|
|
+ 'unique_auth' => $item['unique_auth'],
|
|
|
'name' => $item['name'],
|
|
|
'is_del' => 0,
|
|
|
];
|
|
|
@@ -438,12 +452,16 @@ class SystemCrudServices extends BaseServices
|
|
|
* @param string $tableName
|
|
|
* @param string $tableComment
|
|
|
* @param array $tableField
|
|
|
+ * @return array
|
|
|
* @author 等风来
|
|
|
* @email 136327134@qq.com
|
|
|
* @date 2023/4/7
|
|
|
*/
|
|
|
public function makeDatebase(string $tableName, string $tableComment, array $tableField = [])
|
|
|
{
|
|
|
+ $softDelete = false;
|
|
|
+ $timestamps = false;
|
|
|
+ $indexField = [];
|
|
|
//创建表
|
|
|
$table = new Table($tableName, ['comment' => $tableComment], $this->getAdapter());
|
|
|
//创建字段
|
|
|
@@ -456,24 +474,29 @@ class SystemCrudServices extends BaseServices
|
|
|
$option['default'] = $item['default'];
|
|
|
}
|
|
|
//创建伪删除
|
|
|
- if ($item['file_type'] === 'addSoftDelete') {
|
|
|
+ if ($item['field_type'] === 'addSoftDelete') {
|
|
|
$table->addSoftDelete();
|
|
|
- } else if ($item['file_type'] === 'addTimestamps') {
|
|
|
+ $softDelete = true;
|
|
|
+ } else if ($item['field_type'] === 'addTimestamps') {
|
|
|
//创建修改和增加时间
|
|
|
$table->addTimestamps();
|
|
|
+ $timestamps = true;
|
|
|
} else {
|
|
|
$option['comment'] = $item['comment'];
|
|
|
- $table->addColumn($item['field'], $this->changeTabelRule($item['file_type']), $option);
|
|
|
+ $table->addColumn($item['field'], $this->changeTabelRule($item['field_type']), $option);
|
|
|
}
|
|
|
}
|
|
|
//创建索引
|
|
|
if (!empty($data['tableIndex'])) {
|
|
|
+ $indexField = $data['tableIndex'];
|
|
|
foreach ($data['tableIndex'] as $item) {
|
|
|
$table->addIndex($item);
|
|
|
}
|
|
|
}
|
|
|
//执行创建
|
|
|
$table->create();
|
|
|
+
|
|
|
+ return compact('indexField', 'softDelete', 'timestamps');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -525,6 +548,7 @@ class SystemCrudServices extends BaseServices
|
|
|
$viewRouter = app()->make(ViewRouter::class);
|
|
|
[$routerContent, $routerPath] = $viewRouter->setFilePathName($filePath['router'] ?? '')->isMake($isMake)->handle($tableName, [
|
|
|
'route' => $routeName,
|
|
|
+ 'menuName' => $options['menuName'],
|
|
|
]);
|
|
|
//生成前台接口
|
|
|
$viewApi = app()->make(ViewApi::class);
|