2026-06-10 09:52:07 +08:00
|
|
|
|
package big_data
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"bytes"
|
|
|
|
|
|
"encoding/json"
|
|
|
|
|
|
"io"
|
|
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
|
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
|
|
|
|
|
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// GetRoleCreateLogParam 角色创建日志查询参数
|
2026-06-10 14:38:42 +08:00
|
|
|
|
// 说明:等级区间用 *int64、金额区间用 *float64(金额带小数),未设置(nil)时不参与筛选;切片为空表示不限定该条件
|
2026-06-10 09:52:07 +08:00
|
|
|
|
type GetRoleCreateLogParam struct {
|
|
|
|
|
|
Uid string `json:"uid"`
|
|
|
|
|
|
EventTime []string `json:"event_time"` // 区间 [开始, 结束]
|
2026-06-10 10:35:07 +08:00
|
|
|
|
GameSign string `json:"game_sign"`
|
|
|
|
|
|
GameId string `json:"game_id"`
|
|
|
|
|
|
RoleName string `json:"role_name"`
|
|
|
|
|
|
RoleId string `json:"role_id"`
|
|
|
|
|
|
ServerName string `json:"server_name"`
|
|
|
|
|
|
ServerId string `json:"server_id"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
RoleLevelMin *int64 `json:"role_level_min"`
|
|
|
|
|
|
RoleLevelMax *int64 `json:"role_level_max"`
|
2026-06-10 14:38:42 +08:00
|
|
|
|
PayAmtAccMin *float64 `json:"pay_amt_acc_min"`
|
|
|
|
|
|
PayAmtAccMax *float64 `json:"pay_amt_acc_max"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
Page int `json:"page"`
|
|
|
|
|
|
PageSize int `json:"page_size"`
|
|
|
|
|
|
XDebug string `json:"x_debug"` // 测试环境调试头,正式调用可留空
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetRoleCreateLogRequest 角色创建日志查询请求
|
|
|
|
|
|
type GetRoleCreateLogRequest struct {
|
|
|
|
|
|
*requests.JsonRequest
|
|
|
|
|
|
Uid string `position:"Json" field:"uid"`
|
|
|
|
|
|
EventTime []string `position:"Json" field:"event_time"`
|
2026-06-10 10:35:07 +08:00
|
|
|
|
GameSign string `position:"Json" field:"game_sign"`
|
|
|
|
|
|
GameId string `position:"Json" field:"game_id"`
|
|
|
|
|
|
RoleName string `position:"Json" field:"role_name"`
|
|
|
|
|
|
RoleId string `position:"Json" field:"role_id"`
|
|
|
|
|
|
ServerName string `position:"Json" field:"server_name"`
|
|
|
|
|
|
ServerId string `position:"Json" field:"server_id"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
RoleLevelMin *int64 `position:"Json" field:"role_level_min"`
|
|
|
|
|
|
RoleLevelMax *int64 `position:"Json" field:"role_level_max"`
|
2026-06-10 14:38:42 +08:00
|
|
|
|
PayAmtAccMin *float64 `position:"Json" field:"pay_amt_acc_min"`
|
|
|
|
|
|
PayAmtAccMax *float64 `position:"Json" field:"pay_amt_acc_max"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
Page int `position:"Json" field:"page"`
|
|
|
|
|
|
PageSize int `position:"Json" field:"page_size"`
|
|
|
|
|
|
Authorization string `position:"Header" field:"Authorization"`
|
|
|
|
|
|
XDebug string `position:"Header" field:"x-debug"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// getRoleCreateLogBody 自定义请求体序列化结构,绕开 core 的反射序列化(JsonParams):
|
|
|
|
|
|
// - 数值字段 *int64 + omitempty:未设置(nil)时该字段不出现在 JSON 中,避免 0 被 DMS 当成真实筛选条件;
|
2026-06-10 10:35:07 +08:00
|
|
|
|
// - event_time 切片统一为非 nil 空数组 []:避免 nil 被序列化成 null 触发 DMS 类型校验失败;
|
2026-06-10 09:52:07 +08:00
|
|
|
|
// - 标量字符串用 omitempty:空串时不出现在 JSON 中。
|
|
|
|
|
|
type getRoleCreateLogBody struct {
|
|
|
|
|
|
Uid string `json:"uid,omitempty"`
|
|
|
|
|
|
EventTime []string `json:"event_time"`
|
2026-06-10 10:35:07 +08:00
|
|
|
|
GameSign string `json:"game_sign,omitempty"`
|
|
|
|
|
|
GameId string `json:"game_id,omitempty"`
|
|
|
|
|
|
RoleName string `json:"role_name,omitempty"`
|
|
|
|
|
|
RoleId string `json:"role_id,omitempty"`
|
|
|
|
|
|
ServerName string `json:"server_name,omitempty"`
|
|
|
|
|
|
ServerId string `json:"server_id,omitempty"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
RoleLevelMin *int64 `json:"role_level_min,omitempty"`
|
|
|
|
|
|
RoleLevelMax *int64 `json:"role_level_max,omitempty"`
|
2026-06-10 14:38:42 +08:00
|
|
|
|
PayAmtAccMin *float64 `json:"pay_amt_acc_min,omitempty"`
|
|
|
|
|
|
PayAmtAccMax *float64 `json:"pay_amt_acc_max,omitempty"`
|
2026-06-10 09:52:07 +08:00
|
|
|
|
Page int `json:"page"`
|
|
|
|
|
|
PageSize int `json:"page_size"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetBodyReader 覆盖 JsonRequest 默认实现,使用自定义结构序列化 body。
|
|
|
|
|
|
// 鉴权头(Authorization / x-debug)仍由 core 的 InitParam 按 Header 字段设置,不受影响。
|
|
|
|
|
|
func (request *GetRoleCreateLogRequest) GetBodyReader() io.Reader {
|
|
|
|
|
|
body := getRoleCreateLogBody{
|
|
|
|
|
|
Uid: request.Uid,
|
|
|
|
|
|
EventTime: emptyStrSlice(request.EventTime),
|
2026-06-10 10:35:07 +08:00
|
|
|
|
GameSign: request.GameSign,
|
|
|
|
|
|
GameId: request.GameId,
|
|
|
|
|
|
RoleName: request.RoleName,
|
|
|
|
|
|
RoleId: request.RoleId,
|
|
|
|
|
|
ServerName: request.ServerName,
|
|
|
|
|
|
ServerId: request.ServerId,
|
2026-06-10 09:52:07 +08:00
|
|
|
|
RoleLevelMin: request.RoleLevelMin,
|
|
|
|
|
|
RoleLevelMax: request.RoleLevelMax,
|
|
|
|
|
|
PayAmtAccMin: request.PayAmtAccMin,
|
|
|
|
|
|
PayAmtAccMax: request.PayAmtAccMax,
|
|
|
|
|
|
Page: request.Page,
|
|
|
|
|
|
PageSize: request.PageSize,
|
|
|
|
|
|
}
|
|
|
|
|
|
b, err := json.Marshal(body)
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
return strings.NewReader("")
|
|
|
|
|
|
}
|
|
|
|
|
|
return bytes.NewReader(b)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetRoleCreateLogResponse 角色创建日志查询响应(返回不做处理,data 原样透出)
|
|
|
|
|
|
type GetRoleCreateLogResponse struct {
|
|
|
|
|
|
*responses.BaseResponse
|
|
|
|
|
|
Code int `json:"code"`
|
|
|
|
|
|
Message string `json:"message"`
|
|
|
|
|
|
Data json.RawMessage `json:"data"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// CreateGetRoleCreateLogRequest 创建角色创建日志查询请求
|
|
|
|
|
|
// token 为 GetToken 返回的 data.token,直接放入 Authorization 头
|
|
|
|
|
|
func CreateGetRoleCreateLogRequest(token string, param GetRoleCreateLogParam) *GetRoleCreateLogRequest {
|
|
|
|
|
|
req := &GetRoleCreateLogRequest{
|
|
|
|
|
|
JsonRequest: &requests.JsonRequest{},
|
|
|
|
|
|
Uid: param.Uid,
|
|
|
|
|
|
EventTime: param.EventTime,
|
|
|
|
|
|
GameSign: param.GameSign,
|
|
|
|
|
|
GameId: param.GameId,
|
|
|
|
|
|
RoleName: param.RoleName,
|
|
|
|
|
|
RoleId: param.RoleId,
|
|
|
|
|
|
ServerName: param.ServerName,
|
|
|
|
|
|
ServerId: param.ServerId,
|
|
|
|
|
|
RoleLevelMin: param.RoleLevelMin,
|
|
|
|
|
|
RoleLevelMax: param.RoleLevelMax,
|
|
|
|
|
|
PayAmtAccMin: param.PayAmtAccMin,
|
|
|
|
|
|
PayAmtAccMax: param.PayAmtAccMax,
|
|
|
|
|
|
Page: param.Page,
|
|
|
|
|
|
PageSize: param.PageSize,
|
|
|
|
|
|
Authorization: token,
|
|
|
|
|
|
XDebug: param.XDebug,
|
|
|
|
|
|
}
|
|
|
|
|
|
req.InitWithApiInfo(HOST, VERSION, "/api/internal/v1/get_role_create_log")
|
|
|
|
|
|
req.Method = requests.POST
|
|
|
|
|
|
req.Scheme = requests.HTTPS
|
|
|
|
|
|
return req
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// CreateGetRoleCreateLogResponse 创建角色创建日志查询响应
|
|
|
|
|
|
func CreateGetRoleCreateLogResponse() *GetRoleCreateLogResponse {
|
|
|
|
|
|
return &GetRoleCreateLogResponse{
|
|
|
|
|
|
BaseResponse: &responses.BaseResponse{},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|