199 lines
4.8 KiB
PHP
199 lines
4.8 KiB
PHP
|
<?php
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Niucloud-admin 企业快速开发的多应用管理平台
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | 官方网址:https://www.niucloud.com
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | niucloud团队 版权所有 开源版本可自由商用
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: Niucloud Team
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
|
|||
|
namespace app\adminapi\controller\generator;
|
|||
|
|
|||
|
use app\service\admin\generator\GenerateService;
|
|||
|
use core\base\BaseController;
|
|||
|
use Exception;
|
|||
|
use think\db\exception\DataNotFoundException;
|
|||
|
use think\db\exception\DbException;
|
|||
|
use think\db\exception\ModelNotFoundException;
|
|||
|
use think\Response;
|
|||
|
|
|||
|
/**
|
|||
|
* 代码生成-控制器
|
|||
|
* Class Generate
|
|||
|
* @package app\adminapi\controller\generate
|
|||
|
*/
|
|||
|
class Generator extends BaseController
|
|||
|
{
|
|||
|
/**
|
|||
|
* 代码生成器列表
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function lists()
|
|||
|
{
|
|||
|
|
|||
|
$data = $this->request->params([
|
|||
|
['table_name', ''],
|
|||
|
['table_content', ''],
|
|||
|
['addon_name','']
|
|||
|
]);
|
|||
|
return success((new GenerateService())->getPage($data));
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 代码生成详情
|
|||
|
* @param int $id
|
|||
|
* @return Response
|
|||
|
* @throws DataNotFoundException
|
|||
|
* @throws DbException
|
|||
|
* @throws ModelNotFoundException
|
|||
|
*/
|
|||
|
public function info(int $id)
|
|||
|
{
|
|||
|
return success((new GenerateService())->getInfo($id));
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 代码预览
|
|||
|
* @param int $id
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function preview(int $id)
|
|||
|
{
|
|||
|
$data = (new GenerateService())->preview(['id' => $id]);
|
|||
|
// dd($data);
|
|||
|
return success('ADD_SUCCESS', $data);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 添加代码生成
|
|||
|
* @return Response
|
|||
|
* @throws Exception
|
|||
|
*/
|
|||
|
public function add()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["table_name", ""],
|
|||
|
], false);
|
|||
|
$this->validate($data, 'app\validate\generator\Generator.add');
|
|||
|
$id = (new GenerateService())->add($data);
|
|||
|
return success('ADD_SUCCESS', ['id' => $id]);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 代码生成编辑
|
|||
|
* @param $id
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function edit($id)
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["table_name", ""],
|
|||
|
["table_content", ""],
|
|||
|
["class_name", ""],
|
|||
|
["module_name", ""],
|
|||
|
['addon_name',''],
|
|||
|
["edit_type", "1"],
|
|||
|
["table_column", ""],
|
|||
|
["is_delete",""],
|
|||
|
['delete_column_name',''],
|
|||
|
['order_type',"0"],
|
|||
|
['order_column_name',''],
|
|||
|
['parent_menu',''],
|
|||
|
['relations',[]]
|
|||
|
], false);
|
|||
|
|
|||
|
$this->validate($data, 'app\validate\generator\Generator.edit');
|
|||
|
(new GenerateService())->edit($id, $data);
|
|||
|
return success('MODIFY_SUCCESS');
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 代码生成删除
|
|||
|
* @param int $id
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function del(int $id)
|
|||
|
{
|
|||
|
(new GenerateService())->del($id);
|
|||
|
return success('DELETE_SUCCESS');
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 生成代码
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function create()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
['id', ''],
|
|||
|
['generate_type', '2']
|
|||
|
]);
|
|||
|
|
|||
|
$data = (new GenerateService())->generate($data);
|
|||
|
return success('ADD_SUCCESS', $data);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 获取数据表列表
|
|||
|
* @return Response
|
|||
|
*/
|
|||
|
public function tableList()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["name", ""],
|
|||
|
["comment", ""],
|
|||
|
]);
|
|||
|
$list = (new GenerateService())->tableList($data);
|
|||
|
return success('ADD_SUCCESS', $list);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 代码生成检测
|
|||
|
*/
|
|||
|
public function checkFile()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["id",'']
|
|||
|
]);
|
|||
|
return success((new GenerateService())->checkFile($data));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 获取表字段
|
|||
|
*/
|
|||
|
public function getTableColumn()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["table_name", ""],
|
|||
|
]);
|
|||
|
return success((new GenerateService())->getTableColumn($data));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 获取全部模型
|
|||
|
*/
|
|||
|
public function getModels()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["addon","system"]
|
|||
|
]);
|
|||
|
return success((new GenerateService())->getModels($data));
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 根据模型获取表字段
|
|||
|
*/
|
|||
|
public function getModelTableColumn()
|
|||
|
{
|
|||
|
$data = $this->request->params([
|
|||
|
["model",""]
|
|||
|
]);
|
|||
|
return success((new GenerateService())->getModelColumn($data));
|
|||
|
}
|
|||
|
|
|||
|
}
|