-
Notifications
You must be signed in to change notification settings - Fork 0
/
contact.go
142 lines (120 loc) · 3.25 KB
/
contact.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package models
import (
"github.com/dombine/mm-wiki/app/utils"
"github.com/snail007/go-activerecord/mysql"
)
const Table_Contact_Name = "contact"
type Contact struct {
}
var ContactModel = Contact{}
// 分页获取联系人
func (c *Contact) GetContactByLimit(limit, number int) (contact []map[string]string, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From(Table_Contact_Name).Limit(limit, number))
if err != nil {
return
}
contact = rs.Rows()
return
}
// 获取联系人总数
func (c *Contact) CountContact() (count int64, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().Select("count(*) as total").From(Table_Contact_Name))
if err != nil {
return
}
count = utils.NewConvert().StringToInt64(rs.Value("total"))
return
}
// 分页筛选名字查询结果
func (c *Contact) GetContactByLimitAndName(name string, limit, number int) (contacts []map[string]string, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From(Table_Contact_Name).Where(map[string]interface{}{
"name Like": "%" + name + "%",
}).Limit(limit, number))
if err != nil {
return
}
contacts = rs.Rows()
return
}
// 获取筛选名字查询结果条数
func (c *Contact) CountContactByName(name string) (count int64, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From(Table_Contact_Name).Select("count(*) as total").Where(map[string]interface{}{
"name Like": "%" + name + "%",
}))
if err != nil {
return
}
count = utils.NewConvert().StringToInt64(rs.Value("total"))
return
}
// 通过 contact_id 获取联系人数据
func (c *Contact) GetContactByContactId(contactId string) (contact map[string]string, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From(Table_Contact_Name).Where(map[string]interface{}{
"contact_id": contactId,
}))
if err != nil {
return
}
contact = rs.Row()
return
}
// 通过 contact_id 更新联系人信息
func (c *Contact) UpdateByContactId(contact map[string]interface{}, contactId string) (affect int64, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Exec(db.AR().Update(Table_Contact_Name, contact, map[string]interface{}{
"contact_id": contactId,
}))
if err != nil {
return
}
affect = rs.RowsAffected
return
}
// 通过 contact_id 更新联系人信息
func (c *Contact) Insert(contact map[string]interface{}) (contactId int64, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Exec(db.AR().Insert(Table_Contact_Name, contact))
if err != nil {
return
}
contactId = rs.LastInsertId
return
}
// 通过 contact_id 删除联系人信息
func (c *Contact) DeleteByContactId(contactId string) (affect int64, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Exec(db.AR().Delete(Table_Contact_Name, map[string]interface{}{
"contact_id": contactId,
}))
if err != nil {
return
}
affect = rs.RowsAffected
return
}
// 获取所有联系人信息
func (c *Contact) GetAllContact(userId string) (contacts []map[string]string, err error) {
db := G.DB()
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From(Table_Contact_Name).Where(map[string]interface{}{
"user_id": userId,
}))
if err != nil {
return
}
contacts = rs.Rows()
return
}