kimi
2020-05-18 c8aee7b9bfd79cfd741d7e5692520f4f51a31a86
src/main/java/com/highdatas/mdm/controller/SysAssembleDbController.java
@@ -17,6 +17,7 @@
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;
@@ -39,6 +40,7 @@
 * @since 2020-02-19
 */
@RestController
@Slf4j
@RequestMapping("/assemble/db")
public class SysAssembleDbController {
    @Autowired
@@ -112,17 +114,20 @@
            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);
        }