-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrelayDB.go
114 lines (85 loc) · 2.92 KB
/
relayDB.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package main
import (
"fmt"
"log"
)
type relay struct {
ID int `json:"id" db:"id"`
Name string `json:"name" db:"name"`
UPFreq string `json:"up_freq" db:"up_freq"`
DownFreq string `json:"down_freq" db:"down_freq"`
SendCTSS string `json:"send_ctss" db:"send_ctss"`
ReciveCTSS string `json:"recive_ctss" db:"recive_ctss"`
OwerCallsign string `json:"ower_callsign" db:"ower_callsign"` //创建者呼号
CreateTime string `json:"create_time" db:"create_time"`
UpdateTime string `json:"update_time" db:"update_time"`
Status int `json:"status" db:"status"`
Note string `json:"note" db:"note"`
}
func (p *relay) String() string {
return fmt.Sprintf("id:%v,name:%v,up_freq:%v,status:%v", p.ID, p.Name, p.UPFreq, p.Status)
}
func selectrelay(w string, p string, sort string) ([]*relay, int) {
emp := []*relay{}
query := fmt.Sprintf(`SELECT id,name,up_freq,down_freq,send_ctss,recive_ctss,ower_callsign,status,note,
create_time, update_time
FROM relay %v %v %v `, w, sort, p)
//fmt.Println(query)
rows, err := db.Query(query)
if err != nil {
log.Println("查询频点列表错误: ", err, "\n", query)
return nil, 0
}
for rows.Next() {
r := &relay{}
err = rows.Scan(&r.ID, &r.Name, &r.UPFreq, &r.DownFreq, &r.SendCTSS, &r.ReciveCTSS, &r.OwerCallsign, &r.Status, &r.Note, &r.CreateTime, &r.UpdateTime)
if err != nil {
log.Println("select relay err:", err, query)
continue
}
emp = append(emp, r)
}
var t int
q := fmt.Sprintf(`SELECT count(*) as total FROM relay %v `, w)
//fmt.Println(q)
row := db.QueryRow(q)
err = row.Scan(&t)
if err != nil {
log.Println(" 查询频点列表total错误 err:", err, t)
return nil, 0
}
//fmt.Println(emp)
return emp, t
//fmt.Println(emp)
}
func addrelay(s *relay) error {
// fmt.Println("user:", e)
query := `INSERT INTO relay (name,up_freq,down_freq,send_ctss,recive_ctss,ower_callsign,status,note,create_time,update_time)
VALUES (?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP) `
resault, err := db.Exec(query,
s.Name, s.UPFreq, s.DownFreq, s.SendCTSS, s.ReciveCTSS, s.OwerCallsign, s.Status, s.Note)
if err != nil {
log.Println("add relay failed, ", err, '\n', query)
return err
} else {
fmt.Println("resault:", resault)
}
return nil
}
func updaterelay(s *relay) error {
_, err := db.Exec(`update relay set name=?,up_freq=?,down_freq=?,send_ctss=?,recive_ctss=?,status=?,note=?,update_time=CURRENT_TIMESTAMP where id=?`,
s.Name, s.UPFreq, s.DownFreq, s.SendCTSS, s.ReciveCTSS, s.Status, s.Note, s.ID)
if err != nil {
log.Println("update relay failed, ", err)
return err
}
return nil
}
func deleterelay(s *relay) error {
_, err := db.Exec(`delete from relay where id=?`, s.ID)
if err != nil {
log.Println("delete relay failed, ", err)
return err
}
return nil
}