| | |
| | | import com.highdatas.mdm.service.ISysAssembleService; |
| | | import com.highdatas.mdm.util.Constant; |
| | | import com.highdatas.mdm.util.DbUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | * @since 2020-02-19 |
| | | */ |
| | | @RestController |
| | | @Slf4j |
| | | @RequestMapping("/assemble/db") |
| | | public class SysAssembleDbController { |
| | | @Autowired |
| | |
| | | return Result.success(b); |
| | | } |
| | | |
| | | @ResponseBody |
| | | @RequestMapping(value = "/testConnection", method = RequestMethod.POST) |
| | | public Result testConnection(@RequestBody SysAssembleDb sysAssembleDb) { |
| | | if (sysAssembleDb == null) { |
| | | return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); |
| | | } |
| | | boolean b = dbService.testConnection(sysAssembleDb); |
| | | return Result.success(b); |
| | | } |
| | | |
| | | @RequestMapping(value = "/getSet", method = RequestMethod.GET) |
| | | public Result getSet(HttpServletRequest request) { |
| | | List<SysAssembleDb> dbList = dbService.selectList(null); |
| | |
| | | String username = sysAssembleDb.getDatasourceUser(); |
| | | connection = dbService.getConnection(id); |
| | | DatabaseMetaData metaData = connection.getMetaData(); |
| | | ResultSet tables = metaData.getTables( null, username.toUpperCase(), null, new String[]{ "TABLE" } ); |
| | | String dbStr = sysAssembleDb.toString(); |
| | | log.info(dbStr); |
| | | ResultSet tables = metaData.getTables(null, "%", "%", new String[]{ "TABLE" } ); |
| | | ArrayList<String> tableNameList = new ArrayList<>(); |
| | | while (tables.next()) { |
| | | String tableName = tables.getString(Constant.TABLE_NAME); |
| | | log.info(tableName); |
| | | tableNameList.add(tableName); |
| | | } |
| | | |
| | | List<SysAssembleDbTable> tableList = dbTableService.selectList(new EntityWrapper<SysAssembleDbTable>().eq(Constant.PARENT_ID, id)); |
| | | List<String> selectedTableNameList = tableList.stream().map(sysAssembleDbTable -> sysAssembleDbTable.getTableName()).collect(Collectors.toList()); |
| | | |
| | | List<String> result = tableNameList.stream().filter(s -> !selectedTableNameList.contains(s)).collect(Collectors.toList()); |
| | | |
| | | |
| | | return Result.success(result); |
| | | } |