Project

General

Profile

Example maingo » History » Version 1

karnake ruengchaicharnkij, 04/09/2026 02:30 AM

1 1 karnake ruengchaicharnkij
# Example maingo
2
3
``` go
4
package main
5
6
import (
7
	"fmt"
8
	"html/template"
9
	"os"
10
	"path/filepath"
11
12
	notification "github.com/finansiaportal/ico-api/test/services/notification"
13
)
14
15
func main() {
16
	data := notification.NotificationTemplateData{
17
		Lang:           "th",
18
		Subject:        "ยืนยันการจองซื้อ - Finansia Portal",
19
		HeaderTitle:    "FINANSIA PORTAL",
20
		GreetingPrefix: "เรียน",
21
		CustomerName:   "คุณสมมติ ทดสอบ",
22
		Contents: []template.HTML{
23
			"บริษัท Finansia Portal จำกัด มีความยินดีที่ได้รับคำสั่งจองซื้อจากท่าน",
24
			"โปรดตรวจสอบรายละเอียดการจองซื้อด้านล่าง และกดปุ่ม <strong>\"ยืนยัน\"</strong> เพื่อดำเนินการให้เสร็จสมบูรณ์",
25
			"หากท่านมีคำถามหรือข้อสงสัยใด ๆ กรุณาติดต่อฝ่ายบริการลูกค้าของเราได้ตลอดเวลา",
26
		},
27
		TableRows: []notification.NotificationTableRow{
28
			{Label: "ชื่อโครงการ:", Value: "TEST"},
29
			{Label: "จำนวนที่จองซื้อ:", Value: "1,000,000 หน่วย"},
30
			{Label: "ราคาต่อหน่วย:", Value: "1 THB"},
31
			{Label: "ยอดชำระสุทธิ:", Value: "1,000,000 THB"},
32
		},
33
		WarningTitle:   "คำเตือน:",
34
		WarningMessage: "รายการจองซื้อนี้จะหมดอายุโดยอัตโนมัติภายใน 24 ชั่วโมง",
35
		ButtonText:     "ยืนยันการจองซื้อ",
36
		ActionURL:      "#",
37
		Note:           "*หากท่านไม่ได้เป็นผู้ทำรายการ หรือพบข้อมูลไม่ถูกต้อง โปรดติดต่อเจ้าหน้าที่โดยด่วน",
38
		FooterCompany:  "บริษัท Finansia Portal จำกัด",
39
		FooterAddress:  "48/48 Tisco Tower, 20th Floor, North Sathorn Road, Silom Sub-district, Bang Rak District, Bangkok 10500",
40
		FooterContact:  "อีเมล: support@finansiaportal.com | โทร: 02 118 0346",
41
	}
42
	templatePath := filepath.Join("test", "templates", "enNotification.html")
43
	outputPath := filepath.Join("test", "test.html")
44
45
	html, err := data.RenderHTML(templatePath)
46
	if err != nil {
47
		fmt.Printf("render failed: %v\n", err)
48
		return
49
	}
50
51
	if err := os.WriteFile(outputPath, []byte(html), 0644); err != nil {
52
		fmt.Printf("write failed: %v\n", err)
53
		return
54
	}
55
56
	fmt.Printf("saved rendered html to %s\n", outputPath)
57
}
58
```