123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- package model
- import (
- "encoding/json"
- "fmt"
- "go-common/app/admin/main/aegis/model/net"
- )
- //..
- const (
- LogBusinessAudit = int(231)
- LogTypeAuditSubmit = int(1)
- LogTypeAuditJump = int(2)
- LogTypeAuditAdd = int(3)
- LogTypeAuditCancel = int(4)
- LogBusinessTask = int(232)
- LogTypeTaskDispatch = int(1)
- LogTypeTaskConsumer = int(2)
- LogTYpeTaskWeight = int(3)
- LogBusinessResource = int(233)
- LogTypeFormAuditor = int(1) // 审核员提交变更
- LogTypeFromAdd = int(2) // 业务添加资源
- LogTypeFromCancle = int(3) // 业务注销资源
- LogBusinessNet = int(234) //流程流转
- LogTypeNetTrigger = int(1) //流程流转
- LogFromBatch = "批量提交"
- LogFromSingle = "单个提交"
- LogFromStart = "启动"
- LogFromJump = "跳流程"
- LogFromCancle = "取消流程"
- LogBusinessNetConf = int(235) //流程配置
- LogTypeNetConf = int(1) //流程网配置
- LogTypeTokenConf = int(2) //令牌配置
- LogTypeFlowConf = int(3) //节点配置
- LogTypeTranConf = int(4) //变迁配置
- LogTypeTokenBindConf = int(5) //令牌绑定配置
- LogTypeDirConf = int(6) //有向线配置
- //流程配置的操作
- LogNetActionNew = "创建"
- LogNetActionUpdate = "更新"
- LogNetActionDisable = "禁用"
- LogNetActionAvailable = "启用"
- //流程配置的更新字段
- LogFieldPID = "pid"
- LogFieldChName = "ch_name"
- LogFieldName = "name"
- LogFieldTokenID = "token_id"
- LogFieldStartFlow = "start_flow"
- LogFieldTrigger = "trigger"
- LogFieldLimit = "limit"
- LogFieldDirection = "direction"
- LogFieldOrder = "order"
- LogFieldGuard = "guard"
- LogFieldOutput = "output"
- )
- //LogFieldDesc 日志中的变更字段描述
- var LogFieldDesc = map[string]string{
- LogFieldPID: "父网",
- LogFieldChName: "中文名",
- LogFieldName: "英文名",
- LogFieldTokenID: "令牌",
- LogFieldStartFlow: "初始节点",
- LogFieldTrigger: "触发类型",
- LogFieldLimit: "限制",
- LogFieldDirection: "指向",
- LogFieldOrder: "顺序",
- LogFieldGuard: "通行条件",
- LogFieldOutput: "输出规则",
- }
- //LogFieldTemp 指定模板和字段,组建变更日志字段
- func LogFieldTemp(field string, nw interface{}, old interface{}, diffTemp bool) (s string) {
- var (
- desc string
- exist bool
- temp string
- )
- if desc, exist = LogFieldDesc[field]; !exist {
- desc = field
- }
- if diffTemp {
- temp = "[%s]从[%v]变成[%v]"
- s = fmt.Sprintf(temp, desc, old, nw)
- } else {
- temp = "[%s]为[%v]"
- s = fmt.Sprintf(temp, desc, nw)
- }
- return
- }
- //NetConfOper 流程配置日志
- type NetConfOper struct {
- OID int64 `json:"oid"`
- Action string `json:"action"`
- UID int64 `json:"uid"`
- Uname string `json:"uname"`
- NetID int64 `json:"net_id"`
- ChName string `json:"ch_name"`
- FlowID int64 `json:"flow_id"`
- TranID int64 `json:"tran_id"`
- Diff []string `json:"diff"`
- }
- //SearchAuditLogParam 搜索行为日志参数
- type SearchAuditLogParam struct {
- RID []int64
- OID []string `form:"oid,split" validate:"omitempty,max=30,dive,gt=0"`
- Username []string `form:"username,split"`
- CtimeFrom string `form:"ctime_from"`
- CtimeTo string `form:"ctime_to"`
- Ps int `form:"ps" validate:"gt=0,max=50" default:"10"`
- Pn int `form:"pn" validate:"gt=0" default:"1"`
- TaskID []int64 `form:"task_id,split" validate:"omitempty,max=30"`
- State string `form:"state"`
- BusinessID int64 `form:"business_id" validate:"required,gt=0"`
- }
- //SearchAuditLog 审核日志记录
- type SearchAuditLog struct {
- RID int64 `json:"rid"`
- OID string `json:"oid"`
- TaskID int64 `json:"task_id"`
- State string `json:"state"`
- Stime string `json:"stime"`
- UID int64 `json:"uid"`
- Uname string `json:"uname"`
- Department string `json:"department"`
- Extra string `json:"extra"`
- }
- type SearchLogResult struct {
- Result []struct {
- UID int64 `json:"uid"`
- Uname string `json:"uname"`
- OID int64 `json:"oid"`
- Type int8 `json:"type"`
- Action string `json:"action"`
- Str0 string `json:"str_0"`
- Str1 string `json:"str_1"`
- Str2 string `json:"str_2"`
- Int0 int64 `json:"int_0"`
- Int1 int64 `json:"int_1"`
- Int2 int64 `json:"int_2"`
- Ctime string `json:"ctime"`
- Extra string `json:"extra_data"`
- } `json:"result"`
- Page struct {
- Num int `json:"num"`
- Size int `json:"size"`
- Total int `json:"total"`
- } `json:"page"`
- }
- // Change for log
- type Change struct {
- Opt *SubmitOptions `json:"opt"`
- Flow *Flow `json:"flow"`
- }
- //GetSubmitOper .
- func (change *Change) GetSubmitOper() (flowaction, submitopt string) {
- if change.Flow != nil && change.Flow.ResultToken != nil {
- flowaction = change.Flow.ResultToken.ChName
- }
- if change.Opt != nil {
- if change.Opt.Result != nil {
- if change.Opt.Result.ReasonID != 0 {
- submitopt += fmt.Sprintf(" 理由ID:%d ", change.Opt.Result.ReasonID)
- }
- if change.Opt.Result.RejectReason != "" && change.Opt.Result.RejectReason != "null" {
- submitopt += fmt.Sprintf(" 打回理由:%s ", change.Opt.Result.RejectReason)
- }
- if change.Opt.Result.Note != "" && change.Opt.Result.Note != "null" {
- submitopt += fmt.Sprintf(" 备注:%s ", change.Opt.Result.Note)
- }
- }
- if change.Opt.Forbid != nil {
- if change.Opt.Forbid.Reason != "" && change.Opt.Forbid.Reason != "null" {
- submitopt += fmt.Sprintf(" 封禁理由:%s ", change.Opt.Forbid.Reason)
- if du := change.Opt.Forbid.Duration; du == -1 {
- submitopt += " 封禁时长:永久 "
- } else {
- submitopt += fmt.Sprintf(" 封禁时长:%d天 ", du/86400)
- }
- }
- if change.Opt.Forbid.Comment != "" && change.Opt.Forbid.Comment != "null" {
- submitopt += fmt.Sprintf(" 备注:%s ", change.Opt.Forbid.Comment)
- }
- }
- }
- return
- }
- // Flow for log
- type Flow struct {
- SubmitToken *net.TokenPackage `json:"submit_token"`
- ResultToken *net.TokenPackage `json:"result_token"`
- NewFlowID int64 `json:"new_flow_id"`
- OldFlowID json.Number `json:"old_flow_id"`
- }
- // WeightLog task log
- type WeightLog struct {
- UPtime string `json:"uptime"`
- Mid int64 `json:"mid"`
- MemName string `json:"member_name"` // up主名称
- Fans int64 `json:"fans"`
- FansWeight int64 `json:"fans_weight"`
- Group string `json:"group"`
- GroupWeight int64 `json:"group_weight"`
- WaitTime string `json:"wait_time"`
- WaitWeight int64 `json:"wait_weight"`
- EqualWeight int64 `json:"config_weight"`
- ConfigItems []*ConfigItem `json:"config_items"`
- Weight int64 `json:"weight"`
- }
- // ConfigItem .
- type ConfigItem struct {
- Name string `json:"name"`
- Desc string `json:"desc"`
- Username string `json:"uname"`
- }
- //TrackRsc 资源信息追踪
- type TrackRsc struct {
- Ctime string `json:"ctime"`
- Content string `json:"content"`
- Detail map[string]interface{} `json:"detail"`
- }
- //TrackAudit 操作日志信息追踪
- type TrackAudit struct {
- Ctime string `json:"ctime"`
- FlowID []int64 `json:"flow_id"`
- FlowName string `json:"flow_name"`
- State string `json:"state"`
- Uname string `json:"uname"`
- }
- //TrackInfo 信息追踪汇总
- type TrackInfo struct {
- Add []*TrackRsc `json:"add"`
- Audit []*TrackAudit `json:"audit"`
- Relation [][]int `json:"relation"`
- }
- //TrackParam 信息追踪参数
- type TrackParam struct {
- BusinessID int64 `form:"business_id" validate:"required,gt=0"`
- OID string `form:"oid" validate:"required,gt=0"`
- Pn int `form:"pn" validate:"gt=0" default:"1"`
- Ps int `form:"ps" validate:"gt=0,max=30" default:"10"`
- LastPageTime string `form:"last_page_time"`
- }
- //ParamsQueryLog .
- type ParamsQueryLog struct {
- Business int `reflect:"business"`
- Type int `default:"0" reflect:"type,omitdefault"`
- Uname []string `reflect:"uname"`
- UID []int64 `reflect:"uid"`
- Oid []int64 `reflect:"oid"`
- Action []string `reflect:"action"`
- CtimeFrom string `reflect:"ctime,from"`
- CtimeTo string `reflect:"ctime,to"`
- Int0 []int64 `reflect:"int_0"`
- Int0From string `reflect:"int_0,from"`
- Int0To string `reflect:"int_0,to"`
- Int1 []int64 `reflect:"int_1"`
- Int1From string `reflect:"int_1,from"`
- Int1To string `reflect:"int_1,to"`
- Int2 []int64 `reflect:"int_2"`
- Int2From string `reflect:"int_2,from"`
- Int3To string `reflect:"int_2,to"`
- Str0 []string `reflect:"str_0"`
- Str1 []string `reflect:"str_1"`
- Str2 []string `reflect:"str_2"`
- }
- //EsCommon .
- type EsCommon struct {
- Pn int
- Ps int
- Order string
- Sort string
- Group string
- }
|