package domain import ( "strings" ers "code.30cm.net/digimon/library-go/errs" "code.30cm.net/digimon/library-go/errs/code" "github.com/zeromicro/go-zero/core/logx" ) type ErrorCode uint32 func (e ErrorCode) ToUint32() uint32 { return uint32(e) } // Error Code 統一這邊改 const ( _ = iota PostMongoErrorCode ErrorCode = iota CreatePostError DelPostError UpdatePostError ListPostError ) const ( CommentFoundErrorCode ErrorCode = iota + 10 CommentInsertErrorCode CommentDeleteErrorCode CommentUpdateErrorCode CommentListErrorCode ) const ( AddTimeLineErrorCode ErrorCode = iota + 20 FetchTimeLineErrorCode ClearNoMoreDataErrorCode HasNoMoreDataErrorCode SetNoMoreDataErrorCode ) const ( MarkRelationErrorCode ErrorCode = iota + 30 GetFollowerErrorCode GetFollowerCountErrorCode GetFolloweeErrorCode GetFolloweeCountErrorCode RemoveRelationErrorCode ) func CommentError(ec ErrorCode, s ...string) *ers.LibError { return ers.NewError(code.CloudEPTweeting, code.DBError, ec.ToUint32(), strings.Join(s, " ")) } func CommentErrorL(ec ErrorCode, l logx.Logger, filed []logx.LogField, s ...string) *ers.LibError { e := CommentError(ec, s...) l.WithCallerSkip(1).WithFields(filed...).Error(e.Error()) return e }