/
statistic.go
70 lines (64 loc) · 1.77 KB
/
statistic.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
// Path: internal/apiserver/store/mysql
// FileName: statistic.go
// Created by dkedTeam
// Author: GJing
// Date: 2022/12/13$ 22:42$
package mysql
import (
log "github.com/sirupsen/logrus"
"gorm.io/gorm"
"github.com/gjing1st/gin-admin-frame/internal/apiserver/model/entity"
"github.com/gjing1st/gin-admin-frame/internal/apiserver/store"
"github.com/gjing1st/gin-admin-frame/internal/pkg/functions"
)
type StatisticStore struct {
}
// Save
// @description: 保存统计数据
// @param:
// @author: GJing
// @email: gjing1st@gmail.com
// @date: 2022/12/13 22:44
// @success:
func (ss StatisticStore) Save(tx *gorm.DB, s entity.Statistic) (err error) {
if tx == nil {
tx = store.DB
}
err = tx.Model(&entity.Statistic{}).Where(entity.Statistic{Key: s.Key}).Update("value", s.Value).Error
if err != nil {
functions.AddErrLog(log.Fields{"err": err, "msg": "mysql保存统计数据失败", "Statistic": s})
}
return
}
// GetByKey
// @description: 通过Key查询统计数据
// @param:
// @author: GJing
// @email: gjing1st@gmail.com
// @date: 2022/12/13 22:58
// @success:
func (ss StatisticStore) GetByKey(key string) (value string, err error) {
var s entity.Statistic
err = store.DB.Where(entity.Statistic{}.TableName()+".key = ?", key).First(&s).Error
if err != nil {
functions.AddErrLog(log.Fields{"err": err, "msg": "mysql查询统计数据失败", "key": key})
return
}
value = s.Value
return
}
// GetAll
// @description: 获取所有统计数据
// @param:
// @author: GJing
// @email: gjing1st@gmail.com
// @date: 2022/12/13 23:07
// @success:
func (ss StatisticStore) GetAll() (arr []entity.Statistic, err error) {
err = store.DB.Find(&arr).Error
if err != nil {
functions.AddErrLog(log.Fields{"err": err, "msg": "mysql查询统计数据失败"})
return
}
return
}