package com.customer.controller; import com.customer.config.DynamicDataSource; import com.customer.config.GenConfig; import com.customer.pojo.TableInfo; import com.customer.service.IDataSourceService; import com.customer.service.ITableInfoService; import com.customer.utils.AjaxResult; import com.customer.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.sql.SQLException; import java.util.List; import java.util.Map; @RestController @RequestMapping("tableInfo") public class TableInfoController { @Resource private ITableInfoService tableInfoService; @PostMapping("/createDatabase") public AjaxResult crateDatabase(@RequestBody Map map){ String dataBaseName = (String) map.get("dataBaseName"); String tableName = (String) map.get("tableName"); if(tableInfoService.mysqlTableExist(dataBaseName,tableName)>0){ return AjaxResult.warn("当前数据库中表已存在"); } tableInfoService.createMysqlDataBase(map); return AjaxResult.success(); } @PostMapping("/createSqlServerDataBase") public AjaxResult createSqlServerDataBase(@RequestBody Map map) throws Exception { String dataBaseName = (String) map.get("dataBaseName"); String tableName = (String) map.get("tableName"); if(tableInfoService.sqlServerTableExist(dataBaseName,tableName)>0){ return AjaxResult.warn("当前数据库中表已存在"); } tableInfoService.createSqlServerDataBase(map); return AjaxResult.success(); } @PostMapping("/createDmDataBase") public AjaxResult createDmDataBase(@RequestBody Map map){ String dataBaseName = (String) map.get("dataBaseName"); String tableName = (String) map.get("tableName"); if(tableInfoService.dmTableExist(dataBaseName,tableName)>0){ return AjaxResult.warn("当前数据库中表已存在"); } tableInfoService.createDmDataBase(map); return AjaxResult.success(); } @PostMapping("/createOracleTable") public AjaxResult createOracleTable(@RequestBody Map map){ String tableName = (String) map.get("tableName"); if(tableInfoService.oracleTableExist(tableName)>0){ return AjaxResult.warn("当前数据库中表已存在"); } tableInfoService.createOracleTable(map); return AjaxResult.success(); } /** * 根据当前数据源显示对应的数据表列表 */ @PostMapping("/tableInfoList") public AjaxResult tableInfoList(@RequestBody Map map){ return AjaxResult.success(tableInfoService.tableInfoList(map)); } @GetMapping("/removeTable/{tableName}") public AjaxResult removeTable(@PathVariable String tableName){ if(tableInfoService.selectDataCount(tableName)>0){ return AjaxResult.warn("表中有数据,不能删除!"); } tableInfoService.dropMysqlTable(tableName); return AjaxResult.success(); } @GetMapping("/mysqlTableFieldInfo") public AjaxResult mysqlTableFieldInfo(@RequestParam("tableName") String tableName){ return AjaxResult.success(tableInfoService.mysqlTableFieldInfo(tableName)); } @PutMapping("/editMysqlTable") public AjaxResult editMysqlTable(@RequestBody Map map){ String tableName = (String) map.get("tableName"); if(tableInfoService.selectDataCount(tableName)>0){ return AjaxResult.warn("表中有数据,不能修改!"); } tableInfoService.updateMysqlTable(map); return AjaxResult.success(); } /** * 删除sqlserver数据表 */ @DeleteMapping("/dropServerTable/{tableName}") public AjaxResult dropServerTable(@PathVariable String tableName){ if(tableInfoService.selectSqlServerDataCount(tableName)>0){ return AjaxResult.warn("表中有数据,不能删除!"); } tableInfoService.dropSqlserverTable(tableName); return AjaxResult.success(); } /** * 修改sqlserver数据表 */ @PutMapping("/editSqlserverTable") public AjaxResult editSqlserverTable(@RequestBody Map map){ String tableName = (String) map.get("tableName"); if(tableInfoService.selectSqlServerDataCount(tableName)>0){ return AjaxResult.warn("表中有数据,不能修改!"); } tableInfoService.updateSqlserverTable(map); return AjaxResult.success(); } }