Finish all the work of dashboard.
This commit is contained in:
parent
927427f353
commit
b361c50c9a
@ -35,6 +35,7 @@ func (this *DashboardController) RegisterRoutes() map[string]func(writer http.Re
|
|||||||
|
|
||||||
//每个Controller需要主动注册自己的路由。
|
//每个Controller需要主动注册自己的路由。
|
||||||
routeMap["/api/dashboard/page"] = this.Wrap(this.Page, USER_ROLE_ADMINISTRATOR)
|
routeMap["/api/dashboard/page"] = this.Wrap(this.Page, USER_ROLE_ADMINISTRATOR)
|
||||||
|
routeMap["/api/dashboard/active/ip/top10"] = this.Wrap(this.ActiveIpTop10, USER_ROLE_ADMINISTRATOR)
|
||||||
|
|
||||||
return routeMap
|
return routeMap
|
||||||
}
|
}
|
||||||
@ -93,3 +94,9 @@ func (this *DashboardController) Page(writer http.ResponseWriter, request *http.
|
|||||||
|
|
||||||
return this.Success(pager)
|
return this.Success(pager)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func (this *DashboardController) ActiveIpTop10(writer http.ResponseWriter, request *http.Request) *WebResult {
|
||||||
|
list := this.dashboardDao.ActiveIpTop10()
|
||||||
|
return this.Success(list)
|
||||||
|
}
|
||||||
|
@ -77,3 +77,37 @@ func (this *DashboardDao) Page(page int, pageSize int, dt string, sortArray []Or
|
|||||||
|
|
||||||
return pager
|
return pager
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取最活跃的前10个ip
|
||||||
|
func (this *DashboardDao) ActiveIpTop10() []*DashboardIpTimes {
|
||||||
|
|
||||||
|
var dashboardIpTimes []*DashboardIpTimes
|
||||||
|
|
||||||
|
sortArray := []OrderPair{
|
||||||
|
{
|
||||||
|
key: "times",
|
||||||
|
value: "DESC",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
rows, err := CONTEXT.DB.Model(&Footprint{}).
|
||||||
|
Select("ip,COUNT(uuid) as times").
|
||||||
|
Group("ip").
|
||||||
|
Order(this.GetSortString(sortArray)).
|
||||||
|
Offset(0).
|
||||||
|
Limit(10).
|
||||||
|
Rows()
|
||||||
|
|
||||||
|
this.PanicError(err)
|
||||||
|
for rows.Next() {
|
||||||
|
var ip string;
|
||||||
|
var times int64 = 0;
|
||||||
|
rows.Scan(&ip, ×)
|
||||||
|
item := &DashboardIpTimes{
|
||||||
|
Ip: ip,
|
||||||
|
Times: times,
|
||||||
|
}
|
||||||
|
dashboardIpTimes = append(dashboardIpTimes, item)
|
||||||
|
}
|
||||||
|
|
||||||
|
return dashboardIpTimes
|
||||||
|
}
|
||||||
|
@ -23,10 +23,9 @@ func (Dashboard) TableName() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总调用量
|
* 统计IP活跃数的
|
||||||
*/
|
*/
|
||||||
type DashboardInvoke struct {
|
type DashboardIpTimes struct {
|
||||||
InvokeNum int64 `json:"invokeNum"`
|
Ip string `json:"ip"`
|
||||||
Uv int64 `json:"uv"`
|
Times int64 `json:"times"`
|
||||||
Dt string `json:"dt"`
|
|
||||||
}
|
}
|
||||||
|
@ -117,3 +117,4 @@ func (this *FootprintDao) AvgCostBetweenTime(startTime time.Time, endTime time.T
|
|||||||
row.Scan(&cost)
|
row.Scan(&cost)
|
||||||
return int64(cost)
|
return int64(cost)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,6 +157,7 @@ func (this *MatterController) Page(writer http.ResponseWriter, request *http.Req
|
|||||||
orderCreateTime := request.FormValue("orderCreateTime")
|
orderCreateTime := request.FormValue("orderCreateTime")
|
||||||
orderUpdateTime := request.FormValue("orderUpdateTime")
|
orderUpdateTime := request.FormValue("orderUpdateTime")
|
||||||
orderSort := request.FormValue("orderSort")
|
orderSort := request.FormValue("orderSort")
|
||||||
|
orderTimes := request.FormValue("orderTimes")
|
||||||
|
|
||||||
puuid := request.FormValue("puuid")
|
puuid := request.FormValue("puuid")
|
||||||
userUuid := request.FormValue("userUuid")
|
userUuid := request.FormValue("userUuid")
|
||||||
@ -191,12 +192,12 @@ func (this *MatterController) Page(writer http.ResponseWriter, request *http.Req
|
|||||||
extensions = strings.Split(extensionsStr, ",")
|
extensions = strings.Split(extensionsStr, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
//文件列表默认文件夹始终在文件的前面。
|
|
||||||
if orderDir == "" {
|
|
||||||
orderDir = "DESC"
|
|
||||||
}
|
|
||||||
|
|
||||||
sortArray := []OrderPair{
|
sortArray := []OrderPair{
|
||||||
|
{
|
||||||
|
key: "dir",
|
||||||
|
value: orderDir,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
key: "create_time",
|
key: "create_time",
|
||||||
value: orderCreateTime,
|
value: orderCreateTime,
|
||||||
@ -209,10 +210,6 @@ func (this *MatterController) Page(writer http.ResponseWriter, request *http.Req
|
|||||||
key: "sort",
|
key: "sort",
|
||||||
value: orderSort,
|
value: orderSort,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
key: "dir",
|
|
||||||
value: orderDir,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
key: "size",
|
key: "size",
|
||||||
value: orderSize,
|
value: orderSize,
|
||||||
@ -221,6 +218,10 @@ func (this *MatterController) Page(writer http.ResponseWriter, request *http.Req
|
|||||||
key: "name",
|
key: "name",
|
||||||
value: orderName,
|
value: orderName,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: "times",
|
||||||
|
value: orderTimes,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
pager := this.matterDao.Page(page, pageSize, puuid, userUuid, name, dir, extensions, sortArray)
|
pager := this.matterDao.Page(page, pageSize, puuid, userUuid, name, dir, extensions, sortArray)
|
||||||
|
Loading…
Reference in New Issue
Block a user