| | |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.io.IoUtil; |
| | | import org.dromara.common.core.domain.R; |
| | | import org.dromara.common.mybatis.helper.DataBaseHelper; |
| | | import org.dromara.common.web.core.BaseController; |
| | | import org.dromara.common.mybatis.core.page.PageQuery; |
| | | import org.dromara.common.mybatis.core.page.TableDataInfo; |
| | |
| | | @SaCheckPermission("tool:gen:import") |
| | | @Log(title = "代码生成", businessType = BusinessType.IMPORT) |
| | | @PostMapping("/importTable") |
| | | public R<Void> importTableSave(String tables) { |
| | | public R<Void> importTableSave(String tables, String dataName) { |
| | | String[] tableNames = Convert.toStrArray(tables); |
| | | // 查询表信息 |
| | | List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames); |
| | | genTableService.importGenTable(tableList); |
| | | List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames, dataName); |
| | | genTableService.importGenTable(tableList, dataName); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | /** |
| | | * 生成代码(下载方式) |
| | | * |
| | | * @param tableName 表名 |
| | | * @param tableId 表ID |
| | | */ |
| | | @SaCheckPermission("tool:gen:code") |
| | | @Log(title = "代码生成", businessType = BusinessType.GENCODE) |
| | | @GetMapping("/download/{tableName}") |
| | | public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException { |
| | | byte[] data = genTableService.downloadCode(tableName); |
| | | @GetMapping("/download/{tableId}") |
| | | public void download(HttpServletResponse response, @PathVariable("tableId") Long tableId) throws IOException { |
| | | byte[] data = genTableService.downloadCode(tableId); |
| | | genCode(response, data); |
| | | } |
| | | |
| | | /** |
| | | * 生成代码(自定义路径) |
| | | * |
| | | * @param tableName 表名 |
| | | * @param tableId 表ID |
| | | */ |
| | | @SaCheckPermission("tool:gen:code") |
| | | @Log(title = "代码生成", businessType = BusinessType.GENCODE) |
| | | @GetMapping("/genCode/{tableName}") |
| | | public R<Void> genCode(@PathVariable("tableName") String tableName) { |
| | | genTableService.generatorCode(tableName); |
| | | @GetMapping("/genCode/{tableId}") |
| | | public R<Void> genCode(@PathVariable("tableId") Long tableId) { |
| | | genTableService.generatorCode(tableId); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 同步数据库 |
| | | * |
| | | * @param tableName 表名 |
| | | * @param tableId 表ID |
| | | */ |
| | | @SaCheckPermission("tool:gen:edit") |
| | | @Log(title = "代码生成", businessType = BusinessType.UPDATE) |
| | | @GetMapping("/synchDb/{tableName}") |
| | | public R<Void> synchDb(@PathVariable("tableName") String tableName) { |
| | | genTableService.synchDb(tableName); |
| | | @GetMapping("/synchDb/{tableId}") |
| | | public R<Void> synchDb(@PathVariable("tableId") Long tableId) { |
| | | genTableService.synchDb(tableId); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 批量生成代码 |
| | | * |
| | | * @param tables 表名串 |
| | | * @param tableIdStr 表ID串 |
| | | */ |
| | | @SaCheckPermission("tool:gen:code") |
| | | @Log(title = "代码生成", businessType = BusinessType.GENCODE) |
| | | @GetMapping("/batchGenCode") |
| | | public void batchGenCode(HttpServletResponse response, String tables) throws IOException { |
| | | String[] tableNames = Convert.toStrArray(tables); |
| | | byte[] data = genTableService.downloadCode(tableNames); |
| | | public void batchGenCode(HttpServletResponse response, String tableIdStr) throws IOException { |
| | | String[] tableIds = Convert.toStrArray(tableIdStr); |
| | | byte[] data = genTableService.downloadCode(tableIds); |
| | | genCode(response, data); |
| | | } |
| | | |
| | |
| | | response.setContentType("application/octet-stream; charset=UTF-8"); |
| | | IoUtil.write(response.getOutputStream(), false, data); |
| | | } |
| | | |
| | | /** |
| | | * 查询数据源名称列表 |
| | | */ |
| | | @SaCheckPermission("tool:gen:list") |
| | | @GetMapping(value = "/getDataNames") |
| | | public R<Object> getCurrentDataSourceNameList(){ |
| | | return R.ok(DataBaseHelper.getDataSourceNameList()); |
| | | } |
| | | } |