dockerfiles/anylink/server/admin/api_set_audit.go

80 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package admin
import (
"net/http"
"strconv"
"github.com/bjdgyc/anylink/dbdata"
"github.com/gocarina/gocsv"
)
func SetAuditList(w http.ResponseWriter, r *http.Request) {
_ = r.ParseForm()
pageS := r.FormValue("page")
page, _ := strconv.Atoi(pageS)
if page < 1 {
page = 1
}
var datas []dbdata.AccessAudit
session := dbdata.GetAuditSession(r.FormValue("search"))
count, err := dbdata.FindAndCount(session, &datas, dbdata.PageSize, page)
if err != nil && !dbdata.CheckErrNotFound(err) {
RespError(w, RespInternalErr, err)
return
}
data := map[string]interface{}{
"count": count,
"page_size": dbdata.PageSize,
"datas": datas,
}
RespSucess(w, data)
}
func SetAuditExport(w http.ResponseWriter, r *http.Request) {
var datas []dbdata.AccessAudit
maxNum := 1000000
session := dbdata.GetAuditSession(r.FormValue("search"))
count, err := dbdata.FindAndCount(session, &datas, maxNum, 0)
if err != nil && !dbdata.CheckErrNotFound(err) {
RespError(w, RespInternalErr, err)
return
}
if count == 0 {
RespError(w, RespParamErr, "你导出的总数量为0条请调整搜索条件再导出")
return
}
if count > int64(maxNum) {
RespError(w, RespParamErr, "你导出的数据量超过100万条请调整搜索条件再导出")
return
}
gocsv.Marshal(datas, w)
}
func UserActLogList(w http.ResponseWriter, r *http.Request) {
_ = r.ParseForm()
pageS := r.FormValue("page")
page, _ := strconv.Atoi(pageS)
if page < 1 {
page = 1
}
var datas []dbdata.UserActLog
session := dbdata.UserActLogIns.GetSession(r.Form)
count, err := dbdata.FindAndCount(session, &datas, dbdata.PageSize, page)
if err != nil && !dbdata.CheckErrNotFound(err) {
RespError(w, RespInternalErr, err)
return
}
data := map[string]interface{}{
"count": count,
"page_size": dbdata.PageSize,
"datas": datas,
"statusOps": dbdata.UserActLogIns.GetStatusOpsWithTag(),
"osOps": dbdata.UserActLogIns.OsOps,
"clientOps": dbdata.UserActLogIns.ClientOps,
}
RespSucess(w, data)
}