66 lines
2.4 KiB
Go
66 lines
2.4 KiB
Go
package chat
|
||
|
||
import (
|
||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||
)
|
||
|
||
// BatchBanAccountRequest 批量封用户(逐条返回结果,部分失败不影响其余)。
|
||
// 对应 chat 服务 POST /api/open/batchBanAccount,验签走 form 参数 gkey/time/sign。
|
||
type BatchBanAccountRequest struct {
|
||
*requests.RpcRequest
|
||
Gkey string `position:"Body" field:"gkey"`
|
||
Time string `position:"Body" field:"time"`
|
||
Sign string `position:"Body" field:"sign"`
|
||
Items string `position:"Body" field:"items"` // JSON 数组字符串,每项 {gkey,sid,uid,user_name,role_id,role_name,game_id},单次最多 200 条
|
||
Banduration int64 `position:"Body" field:"banduration"` // 封禁时长(分钟),必须 >0
|
||
Banremark string `position:"Body" field:"banremark"` // 封禁备注(写入 gr_block 留痕)
|
||
OpAdmin string `position:"Body" field:"op_admin"` // 操作人(拼进备注留痕)
|
||
}
|
||
|
||
// BanAccountItem 待封角色(Items 的 JSON 元素)
|
||
type BanAccountItem struct {
|
||
Gkey string `json:"gkey"` // 游戏标识
|
||
Sid string `json:"sid"` // 区服 ID
|
||
Uid int64 `json:"uid"` // 高热用户 ID
|
||
UserName string `json:"user_name"` // 高热账号
|
||
RoleId string `json:"role_id"` // 角色 ID
|
||
RoleName string `json:"role_name"` // 角色名
|
||
GameId int64 `json:"game_id"` // 子游戏 ID
|
||
}
|
||
|
||
// BanAccountResult 单条封禁结果
|
||
type BanAccountResult struct {
|
||
Uid int64 `json:"uid"`
|
||
RoleId string `json:"role_id"`
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
}
|
||
|
||
type BatchBanAccountResponse struct {
|
||
*responses.BaseResponse
|
||
Code int `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Data struct {
|
||
Results []BanAccountResult `json:"results"`
|
||
} `json:"data"`
|
||
}
|
||
|
||
// CreateBatchBanAccountRequest 组装请求并完成 open 签名(key 由调用方配置传入)。
|
||
func CreateBatchBanAccountRequest(gkey, key string) (req *BatchBanAccountRequest) {
|
||
req = &BatchBanAccountRequest{
|
||
RpcRequest: &requests.RpcRequest{},
|
||
}
|
||
req.InitWithApiInfo(HOST, VERSION, "/api/open/batchBanAccount")
|
||
req.Method = requests.POST
|
||
req.Gkey, req.Time, req.Sign = signOpenApi(gkey, key)
|
||
return
|
||
}
|
||
|
||
func CreateBatchBanAccountResponse() (response *BatchBanAccountResponse) {
|
||
response = &BatchBanAccountResponse{
|
||
BaseResponse: &responses.BaseResponse{},
|
||
}
|
||
return
|
||
}
|