Files
mayfly-go/server/pkg/biz/assert.go
kanzihuang ae3d2659aa 重构数据库备份与恢复模块 (#80)
* fix: 保存 LastResult 时截断字符串过长部分,以避免数据库报错

* refactor: 新增 entity.DbTaskBase 和 persistence.dbTaskBase, 用于实现数据库备份和恢复任务处理相关部分

* fix: aeskey变更后,解密密码出现数组越界访问错误

* fix: 时间属性为零值时,保存到 mysql 数据库报错

* refactor db.infrastructure.service.scheduler

* feat: 实现立即备份功能

* refactor db.infrastructure.service.db_instance

* refactor: 从数据库中获取数据库备份目录、mysql文件路径等配置信息

* fix: 数据库备份和恢复问题

* fix: 修改 .gitignore 文件,忽略数据库备份目录和数据库程序目录
2024-01-05 08:55:34 +08:00

74 lines
1.5 KiB
Go

package biz
import (
"fmt"
"mayfly-go/pkg/errorx"
"mayfly-go/pkg/utils/anyx"
"reflect"
)
// 断言错误为ni
// @param msgAndParams 消息与参数占位符,第一位为错误消息可包含%s等格式化标识。其余为Sprintf格式化值内容
//
// ErrIsNil(err)
// ErrIsNil(err, "xxxx")
// ErrIsNil(err, "xxxx: %s", "yyyy")
func ErrIsNil(err error, msgAndParams ...any) {
if err != nil {
if len(msgAndParams) == 0 {
panic(errorx.NewBiz(err.Error()))
}
panic(errorx.NewBiz(fmt.Sprintf(msgAndParams[0].(string), msgAndParams[1:]...)))
}
}
func ErrIsNilAppendErr(err error, msg string) {
if err != nil {
panic(errorx.NewBiz(fmt.Sprintf(msg, err.Error())))
}
}
func IsTrue(exp bool, msg string, params ...any) {
if !exp {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func IsTrueBy(exp bool, err errorx.BizError) {
if !exp {
panic(err)
}
}
func NotEmpty(str string, msg string, params ...any) {
if str == "" {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func NotNil(data any, msg string, params ...any) {
if reflect.ValueOf(data).IsNil() {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func NotBlank(data any, msg string, params ...any) {
if anyx.IsBlank(data) {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func IsEquals(data any, data1 any, msg string) {
if data != data1 {
panic(errorx.NewBiz(msg))
}
}
func Nil(data any, msg string) {
if !reflect.ValueOf(data).IsNil() {
panic(errorx.NewBiz(msg))
}
}