package call_back_struct import ( "errors" "fmt" ) type CommonCallbackReq struct { SendID string `json:"sendID"` CallbackCommand string `json:"callbackCommand"` ServerMsgID string `json:"serverMsgID"` ClientMsgID string `json:"clientMsgID"` OperationID string `json:"operationID"` SenderPlatformID int32 `json:"senderPlatformID"` SenderNickname string `json:"senderNickname"` SessionType int32 `json:"sessionType"` MsgFrom int32 `json:"msgFrom"` ContentType int32 `json:"contentType"` Status int32 `json:"status"` CreateTime int64 `json:"createTime"` Content string `json:"content"` Seq uint32 `json:"seq"` AtUserIDList []string `json:"atUserList"` SenderFaceURL string `json:"faceURL"` Ex string `json:"ex"` } type CallbackResp interface { Parse() (IsPass bool, err error) } type CommonCallbackResp struct { ActionCode int `json:"actionCode"` ErrCode int `json:"errCode"` ErrMsg string `json:"errMsg"` OperationID string `json:"operationID"` } func (c *CommonCallbackResp) Parse() (isPass bool, err error) { if c.ActionCode != 0 { err = errors.New(fmt.Sprintf("callback response error actionCode is %d, errCode is %d, errMsg is %s", c.ActionCode, c.ErrCode, c.ErrMsg)) return false, err } if c.ErrCode != 0 { err = errors.New(fmt.Sprintf("callback response error actionCode is %d, errCode is %d, errMsg is %s", c.ActionCode, c.ErrCode, c.ErrMsg)) return false, err } return true, nil } type UserStatusBaseCallback struct { CallbackCommand string `json:"callbackCommand"` OperationID string `json:"operationID"` PlatformID int32 `json:"platformID"` Platform string `json:"platform"` } type UserStatusCallbackReq struct { UserStatusBaseCallback UserID string `json:"userID"` } type UserStatusBatchCallbackReq struct { UserStatusBaseCallback UserIDList []string `json:"userIDList"` }