-
Notifications
You must be signed in to change notification settings - Fork 0
/
save.go
45 lines (41 loc) · 1.26 KB
/
save.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
package UserLogin
import (
"errors"
CoreFilter "github.com/fotomxq/weeekj_core/v5/core/filter"
CoreSQL "github.com/fotomxq/weeekj_core/v5/core/sql"
Router2SystemConfig "github.com/fotomxq/weeekj_core/v5/router2/system_config"
)
// ArgsGetSave 提取数据
type ArgsGetSave struct {
//密钥
Key string `db:"key" json:"key"`
}
func GetSave(args *ArgsGetSave) (data FieldsSaveReportData, err error) {
var dataResult FieldsSave
err = Router2SystemConfig.MainDB.Get(&dataResult, "SELECT id, data FROM user_login_save WHERE key = $1 AND expire_at >= NOW()", args.Key)
if err != nil {
return
}
if dataResult.ID < 1 {
err = errors.New("not exist")
return
}
data = dataResult.Data
_, _ = CoreSQL.DeleteOne(Router2SystemConfig.MainDB.DB, "user_login_save", "id", map[string]interface{}{
"id": dataResult.ID,
})
return
}
// 添加数据到集合内
func appendSave(data FieldsSaveReportData) (key string, err error) {
key, err = CoreFilter.GetRandStr3(30)
if err != nil {
return
}
_, err = CoreSQL.CreateOne(Router2SystemConfig.MainDB.DB, "INSERT INTO user_login_save (expire_at, key, data) VALUES (:expire_at,:key,:data)", map[string]interface{}{
"expire_at": CoreFilter.GetNowTimeCarbon().AddSeconds(30).Time,
"key": key,
"data": data,
})
return
}