package domain import ( "fmt" "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 ( TimeLineErrorCode ErrorCode = iota + 20 ) func CommentError(ec ErrorCode, s ...string) *ers.LibError { return ers.NewError(code.CloudEPTweeting, code.DBError, ec.ToUint32(), fmt.Sprintf("%s", 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 }