package httper

import (
	"encoding/json"
)

const (
	ERRCODE_SYSTEM_ERROR  = 10001
	ERRCODE_BAD_PARAMETER = 10002
)

// 错误时返回
type GeneralError struct {
	ErrCode int    `json:"err_code" description:"错误码"`
	ErrMsg  string `json:"err_msg" description:"错误消息"`
}

func (g *GeneralError) Error() string {
	data, _ := json.Marshal(g)
	return string(data)
}

func SystemError(errMsg string) {
	panic(&GeneralError{
		ErrCode: ERRCODE_SYSTEM_ERROR,
		ErrMsg:  errMsg,
	})
}

func BadParamer(errMsg string) {
	panic(&GeneralError{
		ErrCode: ERRCODE_BAD_PARAMETER,
		ErrMsg:  errMsg,
	})
}

func CustomError(errCode int, errMsg string) {
	panic(&GeneralError{
		ErrCode: errCode,
		ErrMsg:  errMsg,
	})
}
