/
events_stats.go
90 lines (79 loc) · 2.09 KB
/
events_stats.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
package marketplace
import (
"fmt"
"qxklmrhx7qkzais6.onion/Tochka/tochka-free-market/modules/apis"
)
func EventStaffSupportTicketsResolutionStats(interval string, sItems []StaffSupportTicketsStatsItem) {
var (
text = fmt.Sprintf(`
Support Agent | Ticket Status | Number Of Tickets
--- | --- | ---
`)
)
for _, si := range sItems {
text += fmt.Sprintf("%s | %s | %d\n", si.ResolverUsername, si.CurrentStatus, si.TicketCount)
}
hook := ""
switch interval {
case "1 day":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsDaily
case "7 days":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsWeekly
case "1 hour":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsHourly
}
apis.PostMattermostEvent(hook, text)
}
func EventUsersStats(interval string, newUsers, activeUsers int) {
var (
text = fmt.Sprintf(`
New Users | Active Users
--- | ---
%d | %d
`, newUsers, activeUsers)
)
hook := ""
switch interval {
case "1 day":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsDaily
case "7 days":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsWeekly
case "1 hour":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsHourly
}
apis.PostMattermostEvent(hook, text)
}
func EventTransactionsStats(
interval string,
numberOfNewTransactions,
numberOfCompletedTransactions,
numberOfReleasedTransactions,
numberOfFailedTransactions,
numberOfCancelledTransactions,
numberOfFrozenTransactions int,
) {
var (
text = fmt.Sprintf(`
New | Completed | Released | Failed | Cancelled | Frozen
--- | --- | --- | --- | --- | ---
%d | %d | %d | %d | %d | %d
`,
numberOfNewTransactions,
numberOfCompletedTransactions,
numberOfReleasedTransactions,
numberOfFailedTransactions,
numberOfCancelledTransactions,
numberOfFrozenTransactions,
)
)
hook := ""
switch interval {
case "1 day":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsDaily
case "7 days":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsWeekly
case "1 hour":
hook = MARKETPLACE_SETTINGS.MattermostIncomingHookStatsHourly
}
apis.PostMattermostEvent(hook, text)
}