f5/sysutils.go
aozhiwei 3ec5583dc5 1
2024-05-09 17:51:05 +08:00

58 lines
822 B
Go

package f5
import (
"q5"
"os"
"errors"
"gorm.io/gorm"
)
const (
ONLINE_ENV = 0
TEST_ENV = iota
DEV_ENV = iota
)
var serverEnv int32
func IsTestEnv() bool {
return serverEnv == TEST_ENV
}
func IsOnlineEnv() bool {
return serverEnv == ONLINE_ENV
}
func IsDevEnv() bool {
return serverEnv == DEV_ENV
}
func New[T any](cb func(*T)) *T {
obj := new(T)
cb(obj)
return obj
}
func ExtractRegisterTimeFromSessionId(sessionId string) int32 {
strList := q5.StrSplit(sessionId, "_")
if len(strList) < 4 {
return 0
}
return q5.ToInt32(strList[0])
}
func IsOrmErrRecordNotFound(err error) bool {
return errors.Is(err, gorm.ErrRecordNotFound)
}
func init() {
switch os.Getenv("SERVER_ENV") {
case "TEST":
serverEnv = TEST_ENV
case "DEBUG":
serverEnv = DEV_ENV
default:
serverEnv = ONLINE_ENV
}
}