TableInfoController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.customer.controller;
  2. import com.customer.config.DynamicDataSource;
  3. import com.customer.config.GenConfig;
  4. import com.customer.pojo.TableInfo;
  5. import com.customer.service.IDataSourceService;
  6. import com.customer.service.ITableInfoService;
  7. import com.customer.utils.AjaxResult;
  8. import com.customer.utils.StringUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import javax.annotation.Resource;
  12. import java.sql.SQLException;
  13. import java.util.List;
  14. import java.util.Map;
  15. @RestController
  16. @RequestMapping("tableInfo")
  17. public class TableInfoController {
  18. @Resource
  19. private ITableInfoService tableInfoService;
  20. @PostMapping("/createDatabase")
  21. public AjaxResult crateDatabase(@RequestBody Map<String, Object> map){
  22. String dataBaseName = (String) map.get("dataBaseName");
  23. String tableName = (String) map.get("tableName");
  24. if(tableInfoService.mysqlTableExist(dataBaseName,tableName)>0){
  25. return AjaxResult.warn("当前数据库中表已存在");
  26. }
  27. tableInfoService.createMysqlDataBase(map);
  28. return AjaxResult.success();
  29. }
  30. @PostMapping("/createSqlServerDataBase")
  31. public AjaxResult createSqlServerDataBase(@RequestBody Map<String, Object> map) throws Exception {
  32. String dataBaseName = (String) map.get("dataBaseName");
  33. String tableName = (String) map.get("tableName");
  34. if(tableInfoService.sqlServerTableExist(dataBaseName,tableName)>0){
  35. return AjaxResult.warn("当前数据库中表已存在");
  36. }
  37. tableInfoService.createSqlServerDataBase(map);
  38. return AjaxResult.success();
  39. }
  40. @PostMapping("/createDmDataBase")
  41. public AjaxResult createDmDataBase(@RequestBody Map<String, Object> map){
  42. String dataBaseName = (String) map.get("dataBaseName");
  43. String tableName = (String) map.get("tableName");
  44. if(tableInfoService.dmTableExist(dataBaseName,tableName)>0){
  45. return AjaxResult.warn("当前数据库中表已存在");
  46. }
  47. tableInfoService.createDmDataBase(map);
  48. return AjaxResult.success();
  49. }
  50. @PostMapping("/createOracleTable")
  51. public AjaxResult createOracleTable(@RequestBody Map<String, Object> map){
  52. String tableName = (String) map.get("tableName");
  53. if(tableInfoService.oracleTableExist(tableName)>0){
  54. return AjaxResult.warn("当前数据库中表已存在");
  55. }
  56. tableInfoService.createOracleTable(map);
  57. return AjaxResult.success();
  58. }
  59. /**
  60. * 根据当前数据源显示对应的数据表列表
  61. */
  62. @PostMapping("/tableInfoList")
  63. public AjaxResult tableInfoList(@RequestBody Map<String,Object> map){
  64. return AjaxResult.success(tableInfoService.tableInfoList(map));
  65. }
  66. @GetMapping("/removeTable/{tableName}")
  67. public AjaxResult removeTable(@PathVariable String tableName){
  68. if(tableInfoService.selectDataCount(tableName)>0){
  69. return AjaxResult.warn("表中有数据,不能删除!");
  70. }
  71. tableInfoService.dropMysqlTable(tableName);
  72. return AjaxResult.success();
  73. }
  74. @GetMapping("/mysqlTableFieldInfo")
  75. public AjaxResult mysqlTableFieldInfo(@RequestParam("tableName") String tableName){
  76. return AjaxResult.success(tableInfoService.mysqlTableFieldInfo(tableName));
  77. }
  78. @PutMapping("/editMysqlTable")
  79. public AjaxResult editMysqlTable(@RequestBody Map<String, Object> map){
  80. String tableName = (String) map.get("tableName");
  81. if(tableInfoService.selectDataCount(tableName)>0){
  82. return AjaxResult.warn("表中有数据,不能修改!");
  83. }
  84. tableInfoService.updateMysqlTable(map);
  85. return AjaxResult.success();
  86. }
  87. /**
  88. * 删除sqlserver数据表
  89. */
  90. @DeleteMapping("/dropServerTable/{tableName}")
  91. public AjaxResult dropServerTable(@PathVariable String tableName){
  92. if(tableInfoService.selectSqlServerDataCount(tableName)>0){
  93. return AjaxResult.warn("表中有数据,不能删除!");
  94. }
  95. tableInfoService.dropSqlserverTable(tableName);
  96. return AjaxResult.success();
  97. }
  98. /**
  99. * 修改sqlserver数据表
  100. */
  101. @PutMapping("/editSqlserverTable")
  102. public AjaxResult editSqlserverTable(@RequestBody Map<String, Object> map){
  103. String tableName = (String) map.get("tableName");
  104. if(tableInfoService.selectSqlServerDataCount(tableName)>0){
  105. return AjaxResult.warn("表中有数据,不能修改!");
  106. }
  107. tableInfoService.updateSqlserverTable(map);
  108. return AjaxResult.success();
  109. }
  110. }