Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"callback.go",
"challenge.go",
"group.go",
"param.go",
"platform.go",
"wlog.go",
],
importpath = "go-common/app/admin/main/workflow/model/param",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = ["//library/xstr:go_default_library"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,11 @@
package param
// AddCallbackParam is the model to create callback
type AddCallbackParam struct {
Business int8 `json:"business"`
URL string `json:"url"`
IsSobot bool `json:"is_sobot"`
State int8 `json:"state"`
ExternalAPI string `json:"external_api"`
SourceAPI string `json:"source_api"`
}

View File

@@ -0,0 +1,227 @@
package param
import (
"net/url"
"strconv"
"go-common/library/xstr"
)
// ChallengeListCommonParam .
type ChallengeListCommonParam struct {
Business int8 `form:"business" validate:"required"`
IDs []int64 `form:"ids,split"`
Oids []string `form:"oids,split"`
ObjectMids []int64 `form:"object_mids,split"`
Mids []int64 `form:"mids,split"`
Gids []int64 `form:"gids,split"`
States []int64 `form:"states,split"`
TypeIDs []int64 `form:"typeids,split"`
Tids []int64 `form:"tids,split" validate:"dive,gt=0"`
Rounds []int64 `form:"rounds,split"`
AssigneeAdminIDs []int64 `form:"assignee_adminids,split"`
AssigneeAdminNames []string `form:"assignee_adminnames,split"`
AdminIDs []int64 `form:"adminids,split"`
BusinessStates []int64 `form:"business_states,split"`
DispatchStates []int64 `form:"dispatch_states,split"`
Title string `form:"title"`
Content string `form:"content"`
AdminReply string `form:"admin_reply"`
UserReply string `form:"user_reply"`
CTimeFrom string `form:"ctime_from"`
CTimeTo string `form:"ctime_to"`
Order string `form:"order" default:"ctime"`
Sort string `form:"sort_order" default:"desc"`
PS int `form:"ps" default:"50"`
PN int `form:"pn" default:"1"`
}
// ChallengeListV3Param .
type ChallengeListV3Param struct {
Business int8 `form:"business" validate:"required"`
IDs []int64 `form:"cid,split"`
Oids []string `form:"oid,split"`
Mids []int64 `form:"mid,split"`
Gids []int64 `form:"gid,split"`
States []int64 `form:"state,split"`
TypeIDs []int64 `form:"typeid,split"`
Tids []int64 `form:"tid,split"`
Roles []int64 `form:"role,split"`
AssigneeAdminIDs []int64 `form:"assignee_adminid,split"`
AssigneeAdminNames []string `form:"assignee_admin_name,split"`
AdminIDs []int64 `form:"adminid,split"`
AdminNames []string `form:"admin_name,split"`
BusinessStates []int64 `form:"business_state,split"`
KW []string `form:"kw,split"`
KWField []string `form:"kw_field,split"`
CTimeFrom string `form:"ctime_from"`
CTimeTo string `form:"ctime_to"`
Order string `form:"order" default:"id"`
Sort string `form:"sort" default:"desc"`
PS int `form:"ps" default:"50"`
PN int `form:"pn" default:"1"`
}
// ChallRstParam describe the reset request params to a challenge row
type ChallRstParam struct {
Cid int64 `form:"cid" json:"cid" validate:"required,min=1"`
State int8 `form:"state" json:"state" validate:"min=0,max=14"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
Reason string `form:"reason" json:"reason"`
Business int8 `form:"business" json:"business"`
}
// ChallUpParam describe the update request params to a challenge row
type ChallUpParam struct {
Cid int64 `form:"cid" json:"cid" validate:"required,min=1"`
Tid int64 `form:"tid" json:"tid"`
Note string `form:"note" json:"note"`
AdminID int64 `form:"adminid" json:"adminid"`
AdminName string `json:"admin_name"`
Business int8 `form:"business" json:"business"`
Role int8 `form:"role" json:"role"`
}
// ChallResParam describe the set result request params to a challenge row
type ChallResParam struct {
Cid int64 `json:"cid" form:"cid" validate:"required,min=1"`
State int8 `json:"state" form:"state" validate:"min=0,max=14"`
Reason string `json:"reason" form:"reason"`
AdminID int64 `json:"adminid" form:"adminid"`
AdminName string `json:"admin_name"`
}
// BatchChallResParam describe the set result request params to a set of challenges
type BatchChallResParam struct {
Cids []int64 `json:"cids" form:"cid,split" validate:"required,gt=0"`
State int8 `json:"state" form:"state" validate:"min=0,max=14"`
Business int8 `form:"business" json:"business"`
Role int8 `form:"role" json:"role"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
Reason string `json:"reason" form:"reason"`
}
// ChallSetParamV3 .
type ChallSetParamV3 struct {
ID []int64 `json:"id" form:"id,split" validate:"required,gt=0"`
State int8 `json:"state" form:"state" validate:"min=0,max=14"`
AdminID int64 `json:"adminid"`
Reason string `json:"reason" form:"reason"`
}
// BatchChallBusStateParam .
type BatchChallBusStateParam struct {
Cids []int64 `form:"cid,split" json:"cid" validate:"required,gt=0"`
AssigneeAdminID int64 `json:"assignee_admin_id"`
AssigneeAdminName string `json:"assignee_admin_name"`
Business int8 `form:"business"`
Role int8 `form:"role"`
BusState int8 `form:"business_state" json:"business_state" validate:"min=0,max=14"`
}
// EventParam is used to parse user request
type EventParam struct {
Cid int64 `json:"cid" form:"cid" validate:"required,min=1"`
AdminID int64 `json:"adminid" form:"adminid"`
AdminName string `json:"admin_name"`
Content string `json:"content" form:"content"`
Attachments string `json:"attachments" form:"attachments"`
Event int8 `json:"event" form:"event" validate:"required,min=1"`
}
// BatchEventParam is used to parse user request
type BatchEventParam struct {
Cids []int64 `json:"cids,split" form:"cids,split" validate:"required,dive,gt=0"`
AdminID int64 `json:"adminid" form:"adminid"`
AdminName string `json:"admin_name"`
Content string `json:"content" form:"content"`
Attachments string `json:"attachments" form:"attachments"`
Event int8 `json:"event" form:"event" validate:"required,min=1"`
}
// ChallExtraParam describe the request params to update challenge extra data
type ChallExtraParam struct {
Cid int64 `json:"cid" validate:"required,min=1"`
AdminID int64 `json:"adminid" validate:"required,min=1"`
AdminName string `json:"admin_name"`
Extra map[string]interface{} `json:"extra" validate:"required"`
}
// ChallExtraParamV3 .
type ChallExtraParamV3 struct {
Cids []int64 `json:"cid" form:"cid,split" validate:"required,dive,gt=0"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
Extra string `json:"extra" form:"extra" validate:"required"`
}
// BatchChallExtraParam describe the request params to batch update challenges extra data
type BatchChallExtraParam struct {
Cids []int64 `json:"cid" form:"cid" validate:"required,min=1"`
Business int8 `json:"business" form:"business"`
AdminID int64 `json:"adminid" validate:"required,min=1"`
AdminName string `json:"admin_name"`
Extra map[string]interface{} `json:"extra" form:"extra" validate:"required"`
}
// BusChallsBusStateParam describe the request params to update business state of challenges in business
type BusChallsBusStateParam struct {
Business int8 `json:"business" validate:"required,min=1"`
Oid int64 `json:"oid" validate:"required,min=1"`
AdminID int64 `json:"adminid" validate:"required,min=1"`
BusState int8 `json:"business_state" validate:"min=0,max=14"`
PreBusStates []int8 `json:"pre_business_states" validate:"dive,gt=-1"`
Extra map[string]interface{} `json:"extra"`
}
// ValidComponent will verify the component field is valid
func (e *EventParam) ValidComponent() bool {
if e.Cid > 0 &&
e.AdminID > 0 &&
e.Content != "" &&
e.Event > 0 {
return true
}
return false
}
// ValidComponent will verify the component field is valid
func (be *BatchEventParam) ValidComponent() bool {
if len(be.Cids) > 0 &&
be.AdminID > 0 &&
be.Content != "" &&
be.Event > 0 {
return true
}
return false
}
// MessageParam is the model to send message to end user
type MessageParam struct {
Type string
Source int8
DataType int8
MC string
Title string
Context string
MidList []int64
}
// Query method will serialize all conditions into a url.Values struct
func (mp *MessageParam) Query() (uv url.Values) {
uv = url.Values{}
uv.Set("type", mp.Type)
uv.Set("source", strconv.Itoa(int(mp.Source)))
uv.Set("data_type", strconv.Itoa(int(mp.DataType)))
uv.Set("mc", mp.MC)
uv.Set("title", mp.Title)
uv.Set("context", mp.Context)
uv.Set("mid_list", xstr.JoinInts(mp.MidList))
return uv
}

View File

@@ -0,0 +1,130 @@
package param
// GroupParam describe the group param
type GroupParam struct {
Oid int64 `form:"oid" json:"oid" validate:"required,min=1"`
Business int8 `form:"business" json:"business" validate:"required,min=1"`
Rid int8 `form:"rid" json:"rid"`
State int8 `form:"state" json:"state"`
Tid int64 `form:"tid" json:"tid" validate:"required,min=1"`
Note string `form:"note" json:"note"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
}
// GroupRoleSetParam .
type GroupRoleSetParam struct {
GID []int64 `form:"id,split" json:"id" validate:"required"`
AdminID int64 `json:"admin_id"`
AdminName string `json:"admin_name"`
BID int8 `form:"bid" json:"bid" validate:"required,min=1"`
RID int8 `json:"rid"`
TID int64 `form:"tid" json:"tid" validate:"min=-1"`
Note string `form:"note" json:"note"`
}
// GroupResParam describe the set result request params to a group row
type GroupResParam struct {
Oid int64 `form:"oid" json:"oid" validate:"required,min=1"`
Business int8 `form:"business" json:"business" validate:"required,min=1"`
State int8 `form:"state" json:"state" validate:"required,min=1,max=14"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
Reason string `form:"reason" json:"reason"`
ISDisplay bool `form:"is_display" json:"is_display"`
IsMessage bool `form:"is_message" json:"is_message"`
ReviewState int `form:"review_state" json:"review_state"`
Extra *GroupExtra `json:"extra"`
}
// BatchGroupResParam describe the set result request params to a set of groups
type BatchGroupResParam struct {
GID []int64 `form:"id,split" json:"id"`
Oids []int64 `form:"oids,split" json:"oids" validate:"required,gt=0"`
Business int8 `form:"business" json:"business" validate:"required,min=1"`
Role int8 `form:"role" json:"role"`
State int8 `form:"state" json:"state" validate:"required,min=1,max=14"`
AdminID int64 `json:"adminid"`
AdminName string `json:"admin_name"`
Reason string `form:"reason" json:"reason"`
ISDisplay bool `form:"is_display" json:"is_display"`
IsMessage bool `form:"is_message" json:"is_message"`
ReviewState int `form:"review_state" json:"review_state"`
Extra *GroupExtra `json:"extra"`
}
// GroupExtra .
type GroupExtra struct {
ISDisplay bool `form:"is_display" json:"is_display"`
IsMessage bool `form:"is_message" json:"is_message"`
ReviewState int `form:"review_state" json:"review_state"`
}
// GroupListParamV3 .
type GroupListParamV3 struct {
Business int8 `form:"business" validate:"required"`
Oid []string `form:"oid,split"`
Rid []int8 `form:"rid,split"` //role
Fid []int64 `form:"fid,split"` //flow
Eid []int64 `form:"eid,split"`
Mid []int64 `form:"mid,split"` // workflow_business mid
ReportMid []int64 `form:"report_mid,split"` // workflow_chall mid
FirstUserTid []int64 `form:"first_user_tid"`
State []int8 `form:"state,split"`
Tid []int64 `form:"tid,split"`
Round []int64 `form:"round,split"`
TypeID []int64 `form:"typeid,split"`
KWPriority bool `form:"kw_priority"`
KW []string `form:"kw,split"`
KWField []string `form:"kw_field,split"`
Order string `form:"order" default:"lasttime"`
Sort string `form:"sort" default:"desc"`
PN int64 `form:"pn" default:"1"`
PS int64 `form:"ps" default:"50"`
AdminName []string `form:"admin_name,split"`
CTimeFrom string `form:"ctime_from"`
CTimeTo string `form:"ctime_to"`
}
// GroupStateSetParam .
type GroupStateSetParam struct {
ID []int64 `form:"id,split" json:"id" validate:"required"`
Business int8 `form:"business" json:"business" validate:"required"`
State int8 `form:"state" json:"state" validate:"required"`
Tid int64 `form:"tid" json:"tid"` //处理理由tag_id
Rid int8 `form:"rid" json:"rid" validate:"required"`
Reason string `form:"reason" json:"reason"`
IsDisplay bool `form:"is_display" json:"is_display"`
IsMessage bool `form:"is_message" json:"is_message"` //通知举报人
IsMessageUper bool `form:"is_message_uper" json:"is_message_uper"` //通知被举报人(up主)
ReviewState int `form:"review_state" json:"review_state"`
DecreaseMoral int64 `form:"decrease_moral" json:"decrease_moral" validate:"max=0"` //扣节操
DisposeMode int `form:"dispose_mode" json:"dispose_mode" validate:"min=0"` //内容处理方式,批量操作不支持处理内容
BlockDay int64 `form:"block_day" json:"block_day"` //封禁时间
BlockReason int8 `form:"block_reason" json:"block_reason"` //封禁理由
AdminID int64 `json:"admin_id"`
AdminName string `json:"admin_name"`
}
// GroupStatePublicReferee .
type GroupStatePublicReferee struct {
ID []int64 `form:"id,split" json:"id" validate:"required"`
Business int8 `form:"business" json:"business" validate:"required"`
AdminID int64 `json:"admin_id"`
AdminName string `json:"admin_name"`
State int8 `json:"state"`
}
// UpExtraParam describe the request params to batch update group extra data
type UpExtraParam struct {
Gids []int64 `form:"gid,split" json:"gid" validate:"required,min=1"`
Extra string `form:"extra" json:"extra" validate:"required"`
AdminID int64 `json:"admin_id"`
AdminName string `json:"admin_name"`
}
// GroupPendingParam .
type GroupPendingParam struct {
Business int8 `form:"business" json:"business" validate:"required,min=1"`
Rid []int8 `form:"rid,split" json:"rid"`
}

View File

@@ -0,0 +1,44 @@
package param
// AddBusAttrParam describe params of add or update business attrs
type AddBusAttrParam struct {
ID int64 `form:"id" json:"id"`
Bid int64 `form:"bid" json:"bid"`
Name string `form:"name" json:"name"`
DealType int8 `form:"deal_type" json:"deal_type"`
ExpireTime int64 `form:"expire_time" json:"expire_time"`
AssignType int8 `form:"assign_type" json:"assign_type"`
AssignMax int8 `form:"assign_max" json:"assign_max"`
GroupType int8 `form:"group_type" json:"group_type"`
BusinessName string `form:"business_name" json:"business_name"`
}
// BusAttrButtonSwitch .
type BusAttrButtonSwitch struct {
Bid int8 `form:"bid" json:"bid" validate:"required"`
Index uint8 `form:"index" json:"index" validate:"min=0,max=7"`
Switch uint8 `form:"switch" json:"switch" validate:"min=0,max=1"`
}
// BusAttrButtonShortCut .
type BusAttrButtonShortCut struct {
Bid int8 `form:"bid" json:"bid" validate:"required"`
Index int8 `form:"index" json:"index" validate:"min=0,max=7"`
ShortCut string `form:"short_cut" json:"short_cut" validate:"required"`
}
// BusAttrExtAPI .
type BusAttrExtAPI struct {
Bid int8 `form:"bid" json:"bid" validate:"required"`
ExternalAPI string `form:"external_api" json:"external_api"`
}
// BlockInfo .
type BlockInfo struct {
Mid int64 `form:"mid" json:"mid" validate:"required"`
}
// Source .
type Source struct {
Bid int8 `form:"bid" json:"bid" validate:"required"`
}

View File

@@ -0,0 +1,36 @@
package param
// ChallListParam describe challenge list search params of a business
type ChallListParam struct {
Businesses []int8 `form:"businesses" validate:"required,min=1"`
AssignNum []int8 `form:"assign_num" validate:"required,min=0"`
Order string `form:"order" default:"id"`
Sort string `form:"sort" default:"desc"`
PN int `form:"pn"`
PS int `form:"ps"`
R int64 `form:"r" validate:"required"`
}
// ChallHandlingDoneListParam describe params challenge list handling of admin
type ChallHandlingDoneListParam struct {
Businesses int8 `form:"businesses" validate:"required,min=1"`
Order string `form:"order"`
Sort string `form:"sort"`
PN int `form:"pn"`
PS int `form:"ps"`
}
// ChallCountParam describe challenge count in some states of a business
type ChallCountParam struct {
Business int64 `form:"business" validate:"required,min=1"`
States []int64 `form:"states,split" validate:"dive,gt=-1"`
}
// ChallCreatedListParam return challenge list created by an admin
type ChallCreatedListParam struct {
Businesses int8 `form:"businesses" validate:"required,min=1"`
Order string `form:"order"`
Sort string `form:"sort"`
PN int `form:"pn"`
PS int `form:"ps"`
}

View File

@@ -0,0 +1,22 @@
package param
// TargetLogParam log/target/list api param
type TargetLogParam struct {
Target int64 `form:"target" validate:"required,min=1"`
Module int8 `form:"module" validate:"required,min=1"`
}
// LogListParam .
type LogListParam struct {
Business int64 `form:"business" validate:"required"`
AdminIDs []int64 `form:"adminid,split"`
OIDs []int64 `form:"oid,split"`
MIDs []int64 `form:"up_mid,split"`
TypeIDs []int64 `form:"typeids,split"`
CTimeFrom string `form:"optctime_from"`
CTimeTo string `form:"optctime_to"`
Order string `form:"order" default:"opt_ctime"`
Sort string `form:"sort_order" default:"desc"`
PN int64 `form:"page" default:"1"`
PS int64 `form:"ps" default:"50"`
}