-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRepository.go
62 lines (55 loc) · 1.54 KB
/
Repository.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package eventago
import (
"database/sql"
"fmt"
// mysql
_ "github.com/go-sql-driver/mysql"
)
func dbConn() (db *sql.DB) {
dbDriver := "mysql"
dbUser := "root"
dbPass := "123456"
dbName := "golang"
db, err := sql.Open(dbDriver, dbUser+":"+dbPass+"@/"+dbName)
if err != nil {
panic(err.Error())
}
return db
}
// createOrderQueryModel Insert event related information to database.
func createOrderQueryModel(eid string, event string, eventDetails string, version int) bool {
db := dbConn()
insForm, err := db.Prepare("INSERT INTO eventdetails(eid,event,version,details) VALUES(?,?,?,?)")
if err != nil {
panic(err.Error())
}
fmt.Println("INSERT INTO eventdetails(eid,event,version,details) VALUES('2f0d0cfe-91b1-471a-a979-6de4bd39ab4c', 'amount credited.','100 rs amout created by 2f0d0cfe-91b1-471a-a979-6de4bd39ab4c', '0')")
insForm.Exec(eid, event, version, eventDetails)
fmt.Println(insForm)
defer db.Close()
return true
}
// FindEntryQueryModel find event related information to database.
func FindEntryQueryModel(eid string) *EventStream {
db := dbConn()
selDB, err := db.Query("SELECT eid,event,version,details FROM eventdetails WHERE eid=?", eid)
if err != nil {
panic(err.Error())
}
defer db.Close()
emp := EventStream{}
for selDB.Next() {
var eid, eventDetails string
var event []string
var version int
err = selDB.Scan(&eid, &event, &eventDetails, &version)
if err != nil {
panic(err.Error())
}
emp.eid = eid
emp.event = event
emp.eventDetails = eventDetails
emp.version = version
}
return &emp
}