Files
sisvietnamvn_01/.temp/PopulateNewsEventsEducation.java

89 lines
4.0 KiB
Java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PopulateNewsEventsEducation {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/sisvietnam", "sisvietnam", "sisvietnam");
// Delete old duplicate posts
PreparedStatement delTagStmt = conn.prepareStatement("DELETE FROM sis_post_tag WHERE post_id >= 7000");
delTagStmt.executeUpdate();
PreparedStatement delStmt = conn.prepareStatement("DELETE FROM sis_post WHERE id >= 7000");
delStmt.executeUpdate();
// Get post 4151 to duplicate
PreparedStatement getPost = conn.prepareStatement("SELECT title, excerpt, content, meta_description, featured_image, category_id, layout, created_by FROM sis_post WHERE id = 4151");
ResultSet rs = getPost.executeQuery();
if (!rs.next()) {
System.out.println("Post 4151 not found!");
return;
}
String originalTitle = rs.getString("title");
String excerpt = rs.getString("excerpt");
String content = rs.getString("content");
String metaDesc = rs.getString("meta_description");
String featuredImage = rs.getString("featured_image");
long categoryId = rs.getLong("category_id");
boolean catIsNull = rs.wasNull();
String layout = rs.getString("layout");
String createdBy = rs.getString("created_by");
long currentId = 7000;
long[] tagIds = {4251, 4252, 6151}; // news, event, education
String[] prefixes = {"[Tin Tức] ", "[Sự Kiện] ", "[Đào Tạo] "};
String[] slugPrefixes = {"tin-tuc-", "su-kien-", "dao-tao-"};
PreparedStatement insertStmt = conn.prepareStatement(
"INSERT INTO sis_post (id, slug, title, excerpt, content, meta_description, featured_image, category_id, created_date, status, layout, created_by) " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, SYSDATE - ?, 'PUBLISHED', ?, ?)"
);
PreparedStatement tagStmt = conn.prepareStatement("INSERT INTO sis_post_tag (post_id, tag_id) VALUES (?, ?)");
for (int t = 0; t < 3; t++) {
for (int i = 1; i <= 4; i++) {
String title = prefixes[t] + originalTitle + " " + i;
String slug = slugPrefixes[t] + currentId;
insertStmt.setLong(1, currentId);
insertStmt.setString(2, slug);
insertStmt.setString(3, title);
insertStmt.setString(4, excerpt);
insertStmt.setString(5, content);
insertStmt.setString(6, metaDesc);
insertStmt.setString(7, featuredImage);
if (catIsNull) {
insertStmt.setNull(8, java.sql.Types.BIGINT);
} else {
insertStmt.setLong(8, categoryId);
}
insertStmt.setInt(9, i); // Subtract i days to vary dates
insertStmt.setString(10, layout);
insertStmt.setString(11, createdBy);
insertStmt.executeUpdate();
tagStmt.setLong(1, currentId);
tagStmt.setLong(2, tagIds[t]);
tagStmt.executeUpdate();
currentId++;
}
}
conn.close();
System.out.println("Done duplicating posts.");
} catch (Exception e) {
e.printStackTrace();
}
}
}