Skip to main content

หมวดหมู่คอนเทนต์และลิงก์รวม

ภาพรวม

ส่วนนี้คือกลไกจัดหมวดหมู่ของระบบคอนเทนต์ ประกอบด้วยหมวดหมู่หลัก (content_category) หมวดหมู่ย่อยที่ซ้อนกันได้หลายชั้น (content_subcategory) และ ลิงก์รวม (content_link)

ลิงก์รวมคือลิงก์เดียวที่เมื่อเปิดจะแสดงรายการบทความตามเงื่อนไขที่ตั้งไว้ เหมาะกับการนำไป แปะในปุ่ม rich menu เช่นปุ่ม "โปรโมชันเดือนนี้" ที่เนื้อหาเปลี่ยนตามช่วงเวลาโดยไม่ต้อง แก้เมนู

โครงสร้างข้อมูลหลัก

content_category (model ContentCategory)

  • uuid (unique), name และ slug ซึ่ง unique ร่วมกันเป็น (line_oa_id, slug)
  • description, thumbnail, sort_order
  • status (enum ContentCategoryStatus) — active / inactive / delete
  • FK line_oa_idline_oa.id พร้อม soft delete ผ่าน deleted_date
  • ความสัมพันธ์ 1 : N กับ content_subcategory, content_page และ content_link

content_subcategory (model ContentSubcategory)

  • category_idcontent_category.id (ON DELETE CASCADE) และ unique (category_id, slug)
  • รองรับลำดับชั้นหลายระดับผ่าน parent_id, content_subcategory_id และ level (default 2)
  • ฟิลด์อื่นเหมือนกับหมวดหมู่หลัก ได้แก่ uuid, name, slug, thumbnail, sort_order, status

ลิงก์รวมที่กรองบทความตามเงื่อนไข

  • token VARCHAR(64) unique — คีย์ที่ใช้ใน URL สาธารณะ และ uuid unique
  • เงื่อนไขการกรอง category_id, subcategory_id, published_date_from, published_date_to และ audience_ids JSONB
  • name, description, status และ click_count (BIGINT)
  • FK line_oa_idline_oa.id พร้อม soft delete deleted_date / deleted_by
  • index บน (token), (line_oa_id), (status), (category_id), (subcategory_id)

ไฟล์ที่เกี่ยวข้อง

  • prisma/schema.prisma:1197 — model ContentCategory
  • prisma/schema.prisma:1231 — model ContentSubcategory
  • prisma/schema.prisma:1273 — model ContentLink
  • schema-dumps/2026-07-24/schema.sql:1247, :1564, :1290

จุดเชื่อมต่อกับ Service อื่น

  • cms-api-go — จัดการหมวดหมู่ รวมถึงการลากจัดลำดับผ่าน sort_order และสร้างลิงก์รวม
  • client-api-go — หน้ารายการบทความสาธารณะที่เปิดจาก content_link.token โดยกรองบทความตามเงื่อนไข ตรวจสอบ audience_ids แล้วเพิ่มค่า click_count

โดเมนที่เกี่ยวข้อง: หน้าคอนเทนต์, Audience