123 lines
7.2 KiB
Go
123 lines
7.2 KiB
Go
package httpresp
|
|
|
|
import (
|
|
"git.hlsq.asia/alex/proto/proto/rs/rscommon"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
var (
|
|
OK = NewCode(0, "OK")
|
|
Failed = NewCode(1, "Failed")
|
|
TokenInvalid = NewCode(2, "Token Invalid")
|
|
MethodNotAllowed = NewCode(3, "Method Not Allowed")
|
|
NotFound = NewCode(4, "Not Found")
|
|
TokenForbidden = NewCode(5, "Token Forbidden")
|
|
AdminNotExist = NewCode(6, "Admin Not Exist")
|
|
ServerMaintenance = NewCode(7, "Server Maintenance")
|
|
RequestTooFast = NewCode(8, "Request too fast") // 请求太频繁了
|
|
ParamError = NewCode(1001, "参数错误")
|
|
PageQueryError = NewCode(1002, "page query param error")
|
|
PhoneCodeError = NewCode(1003, "Phone or code error") // 手机验证码错误
|
|
PhoneHasBeenBind = NewCode(1004, "Phone number has been bind") // 手机号已经被绑定
|
|
WeChatHasBeenBind = NewCode(1005, "WeChat has been bind") // 微信已经被绑定
|
|
BindTicketError = NewCode(1006, "Bind ticket error") // 登录绑定凭证无效
|
|
RoundIsEnd = NewCode(2001, "Round is end")
|
|
RoundNotEnd = NewCode(2002, "Round not end")
|
|
|
|
NameEmpty = NewCode(1002, "名称不能为空")
|
|
NameDuplicate = NewCode(1003, "名称或编号不能重复")
|
|
ListEmpty = NewCode(1004, "列表不能为空")
|
|
RepeatCommit = NewCode(1005, "请勿重复提交")
|
|
|
|
// ----------------user 10000-11000--------------------
|
|
UserNotFound = NewCode(10001, "User not found")
|
|
CharNickNameTooLong = NewCode(10002, "Character nickname too long")
|
|
CharNickNameIllegal = NewCode(10003, "Character nickname illegal")
|
|
CharNickNameEmpty = NewCode(10004, "Character nickname empty")
|
|
CharModelEmpty = NewCode(10005, "Character model empty")
|
|
CharModelNotExist = NewCode(10006, "Character model not exist")
|
|
CharAvatarEmpty = NewCode(10007, "Character avatar empty")
|
|
CharAvatarNotExist = NewCode(10008, "Character avatar not exist")
|
|
CharSexInvalid = NewCode(10009, "Character sex invalid")
|
|
RewardAlreadyBindError = NewCode(10010, "Reward already bind") // 奖励已绑定
|
|
|
|
// ----------------SCENE 10010-10100--------------------
|
|
SceneRoomNumberGenError = NewCode(10010, "Room number gen error")
|
|
RoomNotExistsError = NewCode(10011, "Room not exists error")
|
|
RoomPlayerUpperLimit = NewCode(10012, "Room player upper limit") // 房间人数满了
|
|
RoomStatusNotAllowEnter = NewCode(10013, "Room status not allow enter") // 房间状态不允许中途进入
|
|
PlayerAlreadyInRoom = NewCode(10014, "Player already in room") //玩家已经在房间中
|
|
PlayerHandicapNotMeet = NewCode(10015, "Player handicap not meet") //玩家等级不足
|
|
NoAvailableRoom = NewCode(10016, "No available room") // 没有符合的房间
|
|
SceneRoomDescriptionWidthError = NewCode(10017, "Room description width more than error")
|
|
// ----------------court-physical 11001-12000--------------------
|
|
CourtPhysicalNotFind = NewCode(11001, "没有找到线下球场配置")
|
|
CourtPhysicalNotFindCompetitionl = NewCode(11002, "没有找到比赛")
|
|
CourtPhysicalCompetitionlNotPermission = NewCode(11003, "你不是房主无权编辑")
|
|
CourtPhysicalCompetitionlNotHole = NewCode(11004, "球场配置错误,没有洞的数据")
|
|
CourtPhysicalCompetitionlPlayerUpperLimit = NewCode(11005, "比赛球员已达上限")
|
|
CourtPhysicalCompetitionlPlayerIsRoom = NewCode(11006, "用户已在房间")
|
|
CourtPhysicalCompetitionlStart = NewCode(11007, "比赛已开始")
|
|
CourtPhysicalCompetitionlPlayerJoinFailed = NewCode(11008, "用户加入比赛失败")
|
|
CourtPhysicalCompetitionlNotRemovedHomeowner = NewCode(11009, "不能移除房主")
|
|
CourtPhysicalCompetitionlNotFindPlayer = NewCode(11010, "房间没有该用户")
|
|
CourtPhysicalCompetitionlNotGamePlayer = NewCode(11011, "该用户不是球员")
|
|
CourtPhysicalCompetitionlNotIn = NewCode(11012, "该用户不在本局比赛")
|
|
CourtPhysicalCompetitionlStartFail = NewCode(11013, "比赛开始初始化数据失败")
|
|
CourtPhysicalCompetitionlEnd = NewCode(11014, "比赛已结束")
|
|
CourtPhysicalCompetitionlNotStart = NewCode(11015, "比赛未开始")
|
|
CourtPhysicalCompetitionlPKFail = NewCode(11016, "PK玩法配置错误")
|
|
CourtPhysicalCompetitionlPKTigerNot3Player = NewCode(11017, "PK玩法配置错误:Tiger玩法参赛选手需≥3")
|
|
CourtPhysicalCompetitionlPKTigerNotTiger = NewCode(11018, "PK玩法配置错误:Tiger玩法不能没有老虎")
|
|
CourtPhysicalCompetitionlPKTigerNotHole = NewCode(11019, "PK玩法配置错误:Tiger玩法至少要选择一个球洞")
|
|
CourtPhysicalCompetitionlPKTigerEnhanceFail = NewCode(11020, "PK玩法配置错误:Tiger玩法比洞才有受让杆")
|
|
CourtPhysicalCompetitionlPKTigerTopHoleFail = NewCode(11021, "PK玩法配置错误:Tiger玩法比洞才有顶洞和收顶洞")
|
|
CourtPhysicalCompetitionlPKRyderCupNot4Player = NewCode(11022, "PK玩法配置错误:莱德杯玩法需4名参赛选手")
|
|
CourtPhysicalCompetitionlPKRyderCupLeastFormat = NewCode(11023, "PK玩法配置错误:莱德杯玩法至少要选择一个赛制")
|
|
CourtPhysicalCompetitionlPKRyderCupHoleFail = NewCode(11024, "PK玩法配置错误:莱德杯玩法球洞配置冲突")
|
|
CourtPhysicalCompetitionlPKRyderCupTeamFail = NewCode(11025, "PK玩法配置错误:莱德杯玩法两队人数不对")
|
|
CourtPhysicalCompetitionlNameIllegal = NewCode(11026, "比赛昵称存在违禁词")
|
|
CourtPhysicalCompetitionlLinkError = NewCode(11027, "生成微信链接错误")
|
|
|
|
// 锦标赛 ----------------court 12001-13000--------------------
|
|
CourtTournamentNotInvited = NewCode(12002, "仅限受邀用户参赛") // 未在邀请名单内
|
|
CourtTournamentHandicapNotMeet = NewCode(12003, "差点不符合参赛要求") // 无有效差点或超出要求区间
|
|
CourtTournamentRoundAlreadyStarted = NewCode(12004, "本轮比赛已开始") // 并发重复开赛(竞态)
|
|
CourtTournamentRoundNotInProgress = NewCode(12005, "轮次未开始,不能开赛") // 轮次不是进行中
|
|
CourtTournamentJoinEnded = NewCode(12006, "已淘汰,无法继续比赛") // 报名已结束(已淘汰)
|
|
CourtTournamentPracticeNotAllowed = NewCode(12007, "该锦标赛未开放练习") // 未配置练习次数
|
|
CourtTournamentPracticeEnded = NewCode(12008, "比赛已结束,不允许练习") // 决赛结束/已完成/已取消
|
|
CourtTournamentPracticeTimesNotEnough = NewCode(12009, "练习次数已用完") // 已练习次数达上限
|
|
CourtTournamentShelfStatusNotAllowed = NewCode(12010, "该锦标赛不允许下架") // 该锦标赛不允许下架
|
|
)
|
|
|
|
type Code struct {
|
|
code int
|
|
error string
|
|
}
|
|
|
|
func NewCode(code int, error string) *Code {
|
|
return &Code{
|
|
code: code,
|
|
error: error,
|
|
}
|
|
}
|
|
|
|
func (c *Code) Code() int {
|
|
return c.code
|
|
}
|
|
|
|
func (c *Code) Error() string {
|
|
return c.error
|
|
}
|
|
|
|
func (c *Code) Wrap() error {
|
|
st := status.New(codes.Unknown, c.Error())
|
|
st, _ = st.WithDetails(&rscommon.ErrorInfo{
|
|
Code: int32(c.Code()),
|
|
Msg: c.Error(),
|
|
})
|
|
return st.Err()
|
|
}
|