| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package main
- import (
- "database/sql"
- "encoding/json"
- "fmt"
- "time"
- )
- var logData string
- // var logAdmin string
- var logDetail string
- func init() {
- go loadLog()
- }
- func loadLog() {
- logData = "[]"
- // logAdmin = "[]"
- logDetail = "[]"
- ticker := time.NewTicker(3 * time.Second)
- for {
- timer_get()
- <-ticker.C
- }
- }
- func timer_get() {
- // user
- rows, err := db.Query("select UNIX_TIMESTAMP(`log`.`time`), `user`.`name`, `log`.`type` from `log` LEFT JOIN `user` on `log`.`uid` = `user`.`id` where `log`.`type` != 0 AND `log`.`type` != 3 order by `log`.`time` desc LIMIT 50")
- defer rows.Close()
- if err != nil {
- logData = "[]"
- fmt.Printf("loadLog query error: %s\n", err)
- return
- }
- var data []*LogData
- for rows.Next() {
- d := &LogData{}
- rows.Scan(&d.Time, &d.Name, &d.Type)
- data = append(data, d)
- }
- j, err := json.Marshal(data)
- if err != nil {
- logData = "[]"
- fmt.Printf("loadLog json error: %s\n", err)
- return
- }
- if string(j) == "null" {
- logData = "[]"
- } else {
- logData = string(j)
- }
- // select detail
- rows, err = db.Query("call get_log_details()")
- defer rows.Close()
- if err != nil {
- logDetail = "[]"
- fmt.Printf("loadLog query error: %s\n", err)
- return
- }
- var dataDetails []*LogDataDetails
- for rows.Next() {
- d := &LogDataDetails{}
- var t sql.NullInt64
- err = rows.Scan(&d.Uid, &d.Name, &t, &d.Fail)
- d.Time = int(t.Int64)
- dataDetails = append(dataDetails, d)
- }
- j, err = json.Marshal(dataDetails)
- if err != nil {
- logDetail = "[]"
- fmt.Printf("loadLog json error: %s\n", err)
- return
- }
- logDetail = string(j)
- if string(j) == "null" {
- logDetail = "[]"
- } else {
- logDetail = string(j)
- }
- }
|