diff --git a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java index c5058b04..548627ab 100644 --- a/src/main/java/com/peanut/common/utils/DataMigrationUtil.java +++ b/src/main/java/com/peanut/common/utils/DataMigrationUtil.java @@ -27,7 +27,7 @@ public class DataMigrationUtil extends Thread { // catalogue(); // courseCatalogue(); // courseCatalogueChapter(); -// courseCatalogueChapterVideo(); + courseCatalogueChapterVideo(); // user();//用的都是copy表里的数据 } @@ -181,7 +181,7 @@ public class DataMigrationUtil extends Thread { "jdbc:mysql://rm-2zev4157t67trxuu3yo.mysql.rds.aliyuncs.com:3306/e_book_test?rewriteBatchedStatements=true", "nuttyreading", "Wu751019!"); PreparedStatement fzdsstatement = fzdsconn.prepareStatement( - "select c.id,c.uid,cc.id as ccid from course c left join course_catalogue cc on c.id = cc.course_id "); + "select c.id,c.uid,cc.id ccid,cc.title cctitle from course c left join course_catalogue cc on c.id = cc.course_id "); ResultSet fzdsresultSet = fzdsstatement.executeQuery(); List fzdslist = new ArrayList(); while(fzdsresultSet.next()){ @@ -189,6 +189,7 @@ public class DataMigrationUtil extends Thread { map.put("id",fzdsresultSet.getString("id")); map.put("uid",fzdsresultSet.getString("uid")); map.put("ccid",fzdsresultSet.getString("ccid")); + map.put("cctitle",fzdsresultSet.getString("cctitle")); fzdslist.add(map); } Connection yljkconn = DriverManager.getConnection( @@ -203,32 +204,31 @@ public class DataMigrationUtil extends Thread { PreparedStatement preparedStatement = connection.prepareStatement( "INSERT ignore INTO course_catalogue_chapter (course_id,catalogue_id,title,img_url,content,create_time,sort) VALUES ( ?, ?, ?, ?, ?, ?, ?)"); for (int q=1;q<=fzdslist.size(); q++){ - String selectSql = "select * from t_curriculum_detail where valid = 1 and poid in (select oid from t_curriculum_catalogue where valid = 1 and poid = '"+fzdslist.get(q-1).get("uid")+"')"; - PreparedStatement statement = yljkconn.prepareStatement(selectSql); - ResultSet resultSet = statement.executeQuery(); - Map map = new HashMap(); - while(resultSet.next()){ - map.put("title",resultSet.getString("title")); - map.put("imgUrl",resultSet.getString("imgUrl")); - map.put("content",resultSet.getString("explains")); - map.put("createDate",resultSet.getString("createDate")); - map.put("sort",resultSet.getString("orderNo")); - if (map.size() > 0){ - preparedStatement.setString(1,fzdslist.get(q-1).get("id").toString()); - preparedStatement.setString(2,fzdslist.get(q-1).get("ccid").toString()); - preparedStatement.setString(3,map.get("title").toString()); - preparedStatement.setString(4,map.get("imgUrl").toString()); - preparedStatement.setString(5,map.get("content").toString()); - preparedStatement.setString(6,map.get("createDate").toString()); - preparedStatement.setString(7,map.get("sort").toString()); - // 添加到批处理中 - preparedStatement.addBatch(); - res++; - if (res % 5000 == 0) { - long startTime1 = System.currentTimeMillis(); - preparedStatement.executeBatch(); - long spendTime1 = System.currentTimeMillis()-startTime1; - System.out.println("成功插入第"+ res +" 条数据,耗时:"+spendTime1+"毫秒"); + String catalogueSql = "select oid,title from t_curriculum_catalogue where valid = 1 and poid = '"+fzdslist.get(q-1).get("uid")+"'"; + PreparedStatement catalogueStatement = yljkconn.prepareStatement(catalogueSql); + ResultSet catalogueResultSet = catalogueStatement.executeQuery(); + while(catalogueResultSet.next()){ + if (catalogueResultSet.getString("title").equals(fzdslist.get(q-1).get("cctitle"))){ + String detailSql = "select * from t_curriculum_detail where valid = 1 and poid = '"+catalogueResultSet.getString("oid")+"'"; + PreparedStatement statement = yljkconn.prepareStatement(detailSql); + ResultSet resultSet = statement.executeQuery(); + while(resultSet.next()){ + preparedStatement.setString(1,fzdslist.get(q-1).get("id").toString()); + preparedStatement.setString(2,fzdslist.get(q-1).get("ccid").toString()); + preparedStatement.setString(3,resultSet.getString("title")); + preparedStatement.setString(4,resultSet.getString("imgUrl")); + preparedStatement.setString(5,resultSet.getString("explains")); + preparedStatement.setString(6,resultSet.getString("createDate")); + preparedStatement.setString(7,resultSet.getString("orderNo")); + // 添加到批处理中 + preparedStatement.addBatch(); + res++; + if (res % 5000 == 0) { + long startTime1 = System.currentTimeMillis(); + preparedStatement.executeBatch(); + long spendTime1 = System.currentTimeMillis()-startTime1; + System.out.println("成功插入第"+ res +" 条数据,耗时:"+spendTime1+"毫秒"); + } } } } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java index dd03bfe0..d74a343d 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java @@ -32,6 +32,7 @@ public class CourseCatalogueServiceImpl extends ServiceImpl getCourseCatalogues(int id) { LambdaQueryWrapper courseCatalogueEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); courseCatalogueEntityLambdaQueryWrapper.eq(CourseCatalogueEntity::getCourseId,id); + courseCatalogueEntityLambdaQueryWrapper.orderByAsc(CourseCatalogueEntity::getSort); List list = this.list(courseCatalogueEntityLambdaQueryWrapper); return list; }