152 lines
3.4 KiB
Go
152 lines
3.4 KiB
Go
package search
|
|
|
|
import (
|
|
"fmt"
|
|
"net/url"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"go-common/app/admin/main/workflow/model"
|
|
"go-common/library/xstr"
|
|
)
|
|
|
|
// AuditLogGroupSearchCond is the common condition model to send challenge search request
|
|
type AuditLogGroupSearchCond struct {
|
|
Group []string
|
|
UNames []string
|
|
Uids []int64
|
|
Businesses []int64
|
|
Type []int64
|
|
Oids []int64
|
|
Actions []string
|
|
CTimeFrom string
|
|
CTimeTo string
|
|
|
|
Int0 []int64
|
|
Int0From int64
|
|
Int0To int64
|
|
Int1 []int64
|
|
Int1From int64
|
|
Int1To int64
|
|
Int2 []int64
|
|
Int2From int64
|
|
Int2To int64
|
|
|
|
Str0 string
|
|
Str1 string
|
|
Str2 string
|
|
|
|
PN int64
|
|
PS int64
|
|
Order string
|
|
Sort string
|
|
}
|
|
|
|
// AuditLogSearchResult is the model to parse search challenge common result
|
|
type AuditLogSearchResult struct {
|
|
Code int `json:"code"`
|
|
Message string `json:"message"`
|
|
TTL int32 `json:"ttl"`
|
|
|
|
Data struct {
|
|
Order string `json:"order"`
|
|
Sort string `json:"sort"`
|
|
Page model.Page `json:"page"`
|
|
Result []struct {
|
|
Action string `json:"action"`
|
|
Business int64 `json:"business"`
|
|
CTime string `json:"ctime"`
|
|
ExtraData string `json:"extra_data"`
|
|
Str0 string `json:"str_0"`
|
|
Str1 string `json:"str_1"`
|
|
Str2 string `json:"str_2"`
|
|
Oid int64 `json:"oid"`
|
|
Type int64 `json:"type"`
|
|
UID int64 `json:"uid"`
|
|
UName string `json:"uname"`
|
|
} `json:"result"`
|
|
} `json:"data"`
|
|
}
|
|
|
|
// ArchiveAuditLogExtra archive audit log extra message
|
|
type ArchiveAuditLogExtra struct {
|
|
Content struct {
|
|
ID int64 `json:"id"` //oid
|
|
UID int64 `json:"uid"`
|
|
UName string `json:"uname"`
|
|
Note string `json:"note"`
|
|
Content string `json:"content"`
|
|
} `json:"content"`
|
|
Diff string `json:"diff"`
|
|
}
|
|
|
|
// Query make query for AuditLogGroupSearchCond
|
|
func (alsc *AuditLogGroupSearchCond) Query() (uv url.Values) {
|
|
uv = url.Values{}
|
|
|
|
// AppID
|
|
uv.Set("appid", _auditLogSrhComID)
|
|
|
|
// Common
|
|
uv.Set("pn", "1")
|
|
uv.Set("ps", "20")
|
|
uv.Set("order", "ctime")
|
|
uv.Set("sort", "desc")
|
|
if alsc.PN != 0 {
|
|
uv.Set("pn", fmt.Sprintf("%d", alsc.PN))
|
|
}
|
|
if alsc.PS != 0 {
|
|
uv.Set("ps", fmt.Sprintf("%d", alsc.PS))
|
|
}
|
|
if alsc.Order != "" {
|
|
uv.Set("order", alsc.Order)
|
|
}
|
|
if alsc.Sort != "" {
|
|
uv.Set("sort", alsc.Sort)
|
|
}
|
|
if alsc.Int0From != 0 {
|
|
uv.Set("int_0_from", strconv.FormatInt(alsc.Int0From, 10))
|
|
}
|
|
|
|
if alsc.Int0To != 0 {
|
|
uv.Set("int_0_to", strconv.FormatInt(alsc.Int0To, 10))
|
|
}
|
|
|
|
if alsc.Int1From != 0 {
|
|
uv.Set("int_1_from", strconv.FormatInt(alsc.Int1From, 10))
|
|
}
|
|
|
|
if alsc.Int1To != 0 {
|
|
uv.Set("int_1_to", strconv.FormatInt(alsc.Int1To, 10))
|
|
}
|
|
|
|
if alsc.Int2From != 0 {
|
|
uv.Set("int_2_from", strconv.FormatInt(alsc.Int2From, 10))
|
|
}
|
|
|
|
if alsc.Int2To != 0 {
|
|
uv.Set("int_2_to", strconv.FormatInt(alsc.Int2To, 10))
|
|
}
|
|
|
|
// Group related
|
|
uv.Set("group", strings.Join(alsc.Group, ","))
|
|
uv.Set("uname", strings.Join(alsc.UNames, ","))
|
|
uv.Set("uid", xstr.JoinInts(alsc.Uids))
|
|
uv.Set("business", xstr.JoinInts(alsc.Businesses))
|
|
uv.Set("type", xstr.JoinInts(alsc.Type))
|
|
uv.Set("oid", xstr.JoinInts(alsc.Oids))
|
|
uv.Set("action", strings.Join(alsc.Actions, ","))
|
|
uv.Set("ctime_from", alsc.CTimeFrom)
|
|
uv.Set("ctime_to", alsc.CTimeTo)
|
|
|
|
uv.Set("int_0", xstr.JoinInts(alsc.Int0))
|
|
uv.Set("int_1", xstr.JoinInts(alsc.Int1))
|
|
uv.Set("int_2", xstr.JoinInts(alsc.Int2))
|
|
|
|
uv.Set("str_0", alsc.Str0)
|
|
uv.Set("str_1", alsc.Str1)
|
|
uv.Set("str_2", alsc.Str2)
|
|
|
|
return uv
|
|
}
|