94 lines
4.9 KiB
Java
94 lines
4.9 KiB
Java
import java.sql.Connection;
|
||
import java.sql.DriverManager;
|
||
import java.sql.PreparedStatement;
|
||
import java.sql.ResultSet;
|
||
|
||
public class CreateLivestreamPost {
|
||
public static void main(String[] args) {
|
||
try {
|
||
Class.forName("oracle.jdbc.OracleDriver");
|
||
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/sisvietnam", "sisvietnam", "sisvietnam");
|
||
|
||
// 1. Check if tag 'livestream' exists, if not create it
|
||
long tagId = -1;
|
||
PreparedStatement checkTag = conn.prepareStatement("SELECT id FROM sis_tag WHERE slug = 'livestream'");
|
||
ResultSet rsTag = checkTag.executeQuery();
|
||
if (rsTag.next()) {
|
||
tagId = rsTag.getLong("id");
|
||
} else {
|
||
PreparedStatement insertTag = conn.prepareStatement(
|
||
"INSERT INTO sis_tag (id, name, slug, created_by) VALUES (sequence_generator.NEXTVAL, ?, ?, 'system')"
|
||
);
|
||
insertTag.setString(1, "Livestream");
|
||
insertTag.setString(2, "livestream");
|
||
insertTag.executeUpdate();
|
||
|
||
PreparedStatement getTagId = conn.prepareStatement("SELECT id FROM sis_tag WHERE slug = 'livestream'");
|
||
ResultSet rsTag2 = getTagId.executeQuery();
|
||
if (rsTag2.next()) {
|
||
tagId = rsTag2.getLong("id");
|
||
}
|
||
}
|
||
|
||
if (tagId == -1) {
|
||
System.out.println("Failed to find or create livestream tag.");
|
||
return;
|
||
}
|
||
|
||
// 2. Insert Post
|
||
// We set Title as "Tuần 1" (so it shows nicely on the tab label)
|
||
// We set Excerpt as the long Title they provided.
|
||
String postTitle = "Tuần 1";
|
||
String postExcerpt = "SIS Vì Sức khỏe Cộng đồng kỳ 134 Thoát vị đĩa đệm – Khi nào mới phẫu thuật?";
|
||
String postContent = "Đau lưng, đau cổ, tê tay, tê chân... là những triệu chứng thường gặp của thoát vị đĩa đệm. Tuy nhiên, không phải ai mắc bệnh cũng cần phẫu thuật.\n" +
|
||
"⚠️ Vậy khi nào nên điều trị bảo tồn? Khi nào cần phẫu thuật? Làm sao để tránh bỏ lỡ \"thời điểm vàng\" điều trị?\n" +
|
||
"Cùng lắng nghe những chia sẻ từ các chuyên gia trong chương trình Livestream \"S.I.S vì sức khỏe cộng đồng\" vào lúc 𝟏𝟗𝐡𝟒𝟓 Thứ Ba, ngày 𝟎𝟕/𝟎𝟕/𝟐𝟎𝟐𝟔.\n" +
|
||
"📌 Đồng hành và tư vấn trực tiếp cùng quý khán giả là các bác sĩ giàu kinh nghiệm tại Bệnh viện ĐKQT S.I.S Cần Thơ:\n" +
|
||
"• BS.CKI Nguyễn Quang Hưng, chuyên khoa Ngoại Thần kinh\n" +
|
||
"• BS.CKI Trương Đan Kha, chuyên khoa Vật lý trị liệu - Phục hồi chức năng \n" +
|
||
"• ThS.BS Lê Thị Chi Lan, chuyên khoa Ngoại Thần kinh.";
|
||
|
||
// Convert standard youtube link to embed link
|
||
String embedUrl = "https://www.youtube.com/embed/j63kT9Bjrb4";
|
||
|
||
PreparedStatement insertPost = conn.prepareStatement(
|
||
"INSERT INTO sis_post (id, title, slug, content, excerpt, meta_description, featured_image, created_by, status) " +
|
||
"VALUES (sequence_generator.NEXTVAL, ?, ?, ?, ?, ?, ?, 'system', 'PUBLISHED')"
|
||
);
|
||
insertPost.setString(1, postTitle);
|
||
insertPost.setString(2, "sis-vi-suc-khoe-cong-dong-ky-134");
|
||
insertPost.setString(3, postContent);
|
||
insertPost.setString(4, postExcerpt);
|
||
insertPost.setString(5, embedUrl);
|
||
insertPost.setString(6, "/media/livestream/livestream_tuan1.jpg"); // uploaded image
|
||
insertPost.executeUpdate();
|
||
|
||
// Get new post ID
|
||
long postId = -1;
|
||
PreparedStatement getPostId = conn.prepareStatement("SELECT id FROM sis_post WHERE slug = 'sis-vi-suc-khoe-cong-dong-ky-134'");
|
||
ResultSet rsPost = getPostId.executeQuery();
|
||
if (rsPost.next()) {
|
||
postId = rsPost.getLong("id");
|
||
}
|
||
|
||
if (postId == -1) {
|
||
System.out.println("Failed to retrieve created post ID.");
|
||
return;
|
||
}
|
||
|
||
// 3. Link post with tag
|
||
PreparedStatement linkPostTag = conn.prepareStatement(
|
||
"INSERT INTO sis_post_tag (post_id, tag_id) VALUES (?, ?)"
|
||
);
|
||
linkPostTag.setLong(1, postId);
|
||
linkPostTag.setLong(2, tagId);
|
||
linkPostTag.executeUpdate();
|
||
|
||
System.out.println("Successfully created post and linked it with the 'livestream' tag.");
|
||
conn.close();
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|