优化提交kit/biz

Signed-off-by: lixxxww <941403820@qq.com>
This commit is contained in:
lixxxww
2024-01-23 07:38:19 +00:00
committed by Gitee
parent 76ed6737a2
commit d947142c40
2 changed files with 108 additions and 0 deletions

73
kit/biz/assets.go Normal file
View File

@@ -0,0 +1,73 @@
package biz
import (
"fmt"
"pandax/kit/utils"
"reflect"
)
func ErrIsNil(err error, msg string, params ...any) {
if err != nil {
if err.Error() == "record not found" {
return
}
panic(NewBizErr(fmt.Sprintf(msg, params...)))
}
}
func ErrIsNilAppendErr(err error, msg string) {
if err != nil {
panic(NewBizErr(fmt.Sprintf(msg, err.Error())))
}
}
func IsNil(err error) {
switch t := err.(type) {
case *BizError:
panic(any(t))
case error:
panic(any(NewBizErr(fmt.Sprintf("非业务异常: %s", err.Error()))))
}
}
func IsTrue(exp bool, msg string, params ...any) {
if !exp {
panic(any(NewBizErr(fmt.Sprintf(msg, params...))))
}
}
func IsTrueBy(exp bool, err BizError) {
if !exp {
panic(any(err))
}
}
func NotEmpty(str string, msg string, params ...any) {
if str == "" {
panic(any(NewBizErr(fmt.Sprintf(msg, params...))))
}
}
func NotNil(data any, msg string) {
if reflect.ValueOf(data).IsNil() {
panic(NewBizErr(msg))
}
}
func NotBlank(data any, msg string) {
if utils.IsBlank(reflect.ValueOf(data)) {
panic(NewBizErr(msg))
}
}
func IsEquals(data1 any, data2 any, msg string) {
if !reflect.DeepEqual(data1, data2) {
panic(NewBizErr(msg))
}
}
func Nil(data any, msg string) {
if !reflect.ValueOf(data).IsNil() {
panic(NewBizErr(msg))
}
}

35
kit/biz/bizerror.go Normal file
View File

@@ -0,0 +1,35 @@
package biz
// 业务错误
type BizError struct {
code int16
err string
}
var (
Success *BizError = NewBizErrCode(200, "success")
BizErr *BizError = NewBizErrCode(400, "biz error")
ServerError *BizError = NewBizErrCode(500, "服务器异常,请联系管理员")
PermissionErr *BizError = NewBizErrCode(4001, "没有权限操作可能是TOKEN过期了请先登录")
CasbinErr *BizError = NewBizErrCode(403, "没有API接口访问权限请联系管理员")
)
// 错误消息
func (e *BizError) Error() string {
return e.err
}
// 错误码
func (e *BizError) Code() int16 {
return e.code
}
// 创建业务逻辑错误结构体,默认为业务逻辑错误
func NewBizErr(msg string) *BizError {
return &BizError{code: BizErr.code, err: msg}
}
// 创建业务逻辑错误结构体可设置指定错误code
func NewBizErrCode(code int16, msg string) *BizError {
return &BizError{code: code, err: msg}
}