You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
5.2 KiB
143 lines
5.2 KiB
2 years ago
|
package controller
|
||
|
|
||
|
import (
|
||
|
"Open_IM/pkg/common/db/relation"
|
||
|
"gorm.io/gorm"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
type AdminCMSInterface interface {
|
||
|
GetActiveUserNum(from, to time.Time) (num int64, err error)
|
||
|
GetIncreaseUserNum(from, to time.Time) (num int64, err error)
|
||
|
GetTotalUserNum() (num int64, err error)
|
||
|
GetTotalUserNumByDate(to time.Time) (num int64, err error)
|
||
|
GetSingleChatMessageNum(from, to time.Time) (num int64, err error)
|
||
|
GetGroupMessageNum(from, to time.Time) (num int64, err error)
|
||
|
GetIncreaseGroupNum(from, to time.Time) (num int64, err error)
|
||
|
GetTotalGroupNum() (num int64, err error)
|
||
|
GetGroupNum(to time.Time) (num int64, err error)
|
||
|
GetActiveGroups(from, to time.Time, limit int) (activeGroups []*relation.ActiveGroup, err error)
|
||
|
GetActiveUsers(from, to time.Time, limit int) (activeUsers []*relation.ActiveUser, err error)
|
||
|
}
|
||
|
|
||
|
type AdminCMSController struct {
|
||
|
database AdminCMSDatabaseInterface
|
||
|
}
|
||
|
|
||
|
func NewAdminCMSController(db *gorm.DB) AdminCMSInterface {
|
||
|
adminCMSController := &AdminCMSController{
|
||
|
database: newAdminCMSDatabase(db),
|
||
|
}
|
||
|
return adminCMSController
|
||
|
}
|
||
|
|
||
|
func newAdminCMSDatabase(db *gorm.DB) AdminCMSDatabaseInterface {
|
||
|
return &AdminCMSDatabase{Statistics: relation.NewStatistics(db)}
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetActiveUserNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetActiveUserNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetIncreaseUserNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetIncreaseUserNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetTotalUserNum() (num int64, err error) {
|
||
|
return admin.database.GetTotalUserNum()
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetTotalUserNumByDate(to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetTotalUserNumByDate(to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetSingleChatMessageNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.GetSingleChatMessageNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetGroupMessageNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetGroupMessageNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetIncreaseGroupNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetIncreaseGroupNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetTotalGroupNum() (num int64, err error) {
|
||
|
return admin.database.GetTotalGroupNum()
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetGroupNum(to time.Time) (num int64, err error) {
|
||
|
return admin.database.GetGroupNum(to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetActiveGroups(from, to time.Time, limit int) ([]*relation.ActiveGroup, error) {
|
||
|
return admin.database.GetActiveGroups(from, to, limit)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSController) GetActiveUsers(from, to time.Time, limit int) (activeUsers []*relation.ActiveUser, err error) {
|
||
|
return admin.database.GetActiveUsers(from, to, limit)
|
||
|
}
|
||
|
|
||
|
type AdminCMSDatabaseInterface interface {
|
||
|
GetActiveUserNum(from, to time.Time) (num int64, err error)
|
||
|
GetIncreaseUserNum(from, to time.Time) (num int64, err error)
|
||
|
GetTotalUserNum() (num int64, err error)
|
||
|
GetTotalUserNumByDate(to time.Time) (num int64, err error)
|
||
|
GetSingleChatMessageNum(from, to time.Time) (num int64, err error)
|
||
|
GetGroupMessageNum(from, to time.Time) (num int64, err error)
|
||
|
GetIncreaseGroupNum(from, to time.Time) (num int64, err error)
|
||
|
GetTotalGroupNum() (num int64, err error)
|
||
|
GetGroupNum(to time.Time) (num int64, err error)
|
||
|
GetActiveGroups(from, to time.Time, limit int) ([]*relation.ActiveGroup, error)
|
||
|
GetActiveUsers(from, to time.Time, limit int) (activeUsers []*relation.ActiveUser, err error)
|
||
|
}
|
||
|
|
||
|
type AdminCMSDatabase struct {
|
||
|
Statistics *relation.Statistics
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetActiveUserNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetActiveUserNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetIncreaseUserNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetIncreaseUserNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetTotalUserNum() (num int64, err error) {
|
||
|
return admin.Statistics.GetTotalUserNum()
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetTotalUserNumByDate(to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetTotalUserNumByDate(to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetSingleChatMessageNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetSingleChatMessageNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetGroupMessageNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetGroupMessageNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetIncreaseGroupNum(from, to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetIncreaseGroupNum(from, to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetTotalGroupNum() (num int64, err error) {
|
||
|
return admin.Statistics.GetTotalGroupNum()
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetGroupNum(to time.Time) (num int64, err error) {
|
||
|
return admin.Statistics.GetGroupNum(to)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetActiveGroups(from, to time.Time, limit int) ([]*relation.ActiveGroup, error) {
|
||
|
return admin.Statistics.GetActiveGroups(from, to, limit)
|
||
|
}
|
||
|
|
||
|
func (admin *AdminCMSDatabase) GetActiveUsers(from, to time.Time, limit int) (activeUsers []*relation.ActiveUser, err error) {
|
||
|
return admin.Statistics.GetActiveUsers(from, to, limit)
|
||
|
}
|