From b0ff5a01a132d7badf935f60b6aa14fa00dce5b0 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 12 Mar 2026 14:13:11 +0800
Subject: [PATCH] TypeScript前端代码生成模板同步到最新
---
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java | 93 +++++++++++++++++++++++++++++++---------------
1 files changed, 62 insertions(+), 31 deletions(-)
diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java
index f4492f5..0bad3c8 100644
--- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java
+++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java
@@ -4,10 +4,9 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -16,6 +15,7 @@
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.core.web.controller.BaseController;
@@ -23,6 +23,8 @@
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.gen.config.GenConfig;
import com.ruoyi.gen.domain.GenTable;
import com.ruoyi.gen.domain.GenTableColumn;
import com.ruoyi.gen.service.IGenTableColumnService;
@@ -46,7 +48,7 @@
/**
* 查询代码生成列表
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+ @RequiresPermissions("tool:gen:list")
@GetMapping("/list")
public TableDataInfo genList(GenTable genTable)
{
@@ -56,24 +58,26 @@
}
/**
- * 修改代码生成业务
+ * 获取代码生成信息
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:query')")
- @GetMapping(value = "/{talbleId}")
- public AjaxResult getInfo(@PathVariable Long talbleId)
+ @RequiresPermissions("tool:gen:query")
+ @GetMapping(value = "/{tableId}")
+ public AjaxResult getInfo(@PathVariable Long tableId)
{
- GenTable table = genTableService.selectGenTableById(talbleId);
- List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(talbleId);
+ GenTable table = genTableService.selectGenTableById(tableId);
+ List<GenTable> tables = genTableService.selectGenTableAll();
+ List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId);
Map<String, Object> map = new HashMap<String, Object>();
map.put("info", table);
map.put("rows", list);
- return AjaxResult.success(map);
+ map.put("tables", tables);
+ return success(map);
}
/**
* 查询数据库列表
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+ @RequiresPermissions("tool:gen:list")
@GetMapping("/db/list")
public TableDataInfo dataList(GenTable genTable)
{
@@ -85,8 +89,7 @@
/**
* 查询数据表字段列表
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:list')")
- @GetMapping(value = "/column/{talbleId}")
+ @GetMapping(value = "/column/{tableId}")
public TableDataInfo columnList(Long tableId)
{
TableDataInfo dataInfo = new TableDataInfo();
@@ -99,76 +102,104 @@
/**
* 导入表结构(保存)
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:list')")
+ @RequiresPermissions("tool:gen:import")
@Log(title = "代码生成", businessType = BusinessType.IMPORT)
@PostMapping("/importTable")
- public AjaxResult importTableSave(String tables)
+ public AjaxResult importTableSave(@RequestParam("tables") String tables, @RequestParam("tplWebType") String tplWebType)
{
String[] tableNames = Convert.toStrArray(tables);
// 查询表信息
List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames);
- genTableService.importGenTable(tableList);
- return AjaxResult.success();
+ genTableService.importGenTable(tableList, tplWebType);
+ return success();
}
/**
* 修改保存代码生成业务
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:edit')")
+ @RequiresPermissions("tool:gen:edit")
@Log(title = "代码生成", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult editSave(@Validated @RequestBody GenTable genTable)
{
genTableService.validateEdit(genTable);
genTableService.updateGenTable(genTable);
- return AjaxResult.success();
+ return success();
}
/**
* 删除代码生成
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:remove')")
+ @RequiresPermissions("tool:gen:remove")
@Log(title = "代码生成", businessType = BusinessType.DELETE)
@DeleteMapping("/{tableIds}")
public AjaxResult remove(@PathVariable Long[] tableIds)
{
genTableService.deleteGenTableByIds(tableIds);
- return AjaxResult.success();
+ return success();
}
/**
* 预览代码
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:preview')")
+ @RequiresPermissions("tool:gen:preview")
@GetMapping("/preview/{tableId}")
public AjaxResult preview(@PathVariable("tableId") Long tableId) throws IOException
{
Map<String, String> dataMap = genTableService.previewCode(tableId);
- return AjaxResult.success(dataMap);
+ return success(dataMap);
}
/**
- * 生成代码
+ * 生成代码(下载方式)
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:code')")
+ @RequiresPermissions("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);
+ genCode(response, data);
+ }
+
+ /**
+ * 生成代码(自定义路径)
+ */
+ @RequiresPermissions("tool:gen:code")
@Log(title = "代码生成", businessType = BusinessType.GENCODE)
@GetMapping("/genCode/{tableName}")
- public void genCode(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException
+ public AjaxResult genCode(@PathVariable("tableName") String tableName)
{
- byte[] data = genTableService.generatorCode(tableName);
- genCode(response, data);
+ if (!GenConfig.isAllowOverwrite())
+ {
+ return AjaxResult.error("【系统预设】不允许生成文件覆盖到本地");
+ }
+ genTableService.generatorCode(tableName);
+ return success();
+ }
+
+ /**
+ * 同步数据库
+ */
+ @RequiresPermissions("tool:gen:edit")
+ @Log(title = "代码生成", businessType = BusinessType.UPDATE)
+ @GetMapping("/synchDb/{tableName}")
+ public AjaxResult synchDb(@PathVariable("tableName") String tableName)
+ {
+ genTableService.synchDb(tableName);
+ return success();
}
/**
* 批量生成代码
*/
- @PreAuthorize("@ss.hasPermi('tool:gen:code')")
+ @RequiresPermissions("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.generatorCode(tableNames);
+ byte[] data = genTableService.downloadCode(tableNames);
genCode(response, data);
}
@@ -183,4 +214,4 @@
response.setContentType("application/octet-stream; charset=UTF-8");
IOUtils.write(data, response.getOutputStream());
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3