You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
981 B
49 lines
981 B
1 year ago
|
package core
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
func VarsFile(savePath string) error {
|
||
|
saveFileName := fmt.Sprintf("%s/vars.go", strings.TrimRight(savePath, "/"))
|
||
|
return os.WriteFile(saveFileName, []byte(`
|
||
|
package model
|
||
|
|
||
|
import (
|
||
|
"git.diulo.com/mogfee/kit/errors"
|
||
|
"gorm.io/gorm"
|
||
|
)
|
||
|
|
||
|
var ErrNotFound = errors.BadRequest("DB_NOT_FOUND", "数据不存在")
|
||
|
var ErrIdRequest = errors.BadRequest("DB_ID_REQUIRED", "id不能为空")
|
||
|
|
||
|
func IsErrNotFound(err error) bool {
|
||
|
return errors.Reason(err) == "DB_NOT_FOUND"
|
||
|
}
|
||
|
|
||
|
func IsErrIdRequest(err error) bool {
|
||
|
return errors.Reason(err) == "DB_ID_REQUIRED"
|
||
|
}
|
||
|
func findResultWithError[T any](data T, err error) (T, error) {
|
||
|
switch err {
|
||
|
case nil:
|
||
|
return data, nil
|
||
|
case gorm.ErrRecordNotFound:
|
||
|
return data, ErrNotFound
|
||
|
default:
|
||
|
return data, err
|
||
|
}
|
||
|
}
|
||
|
func GetPage(page int32, size int32) (offset int, pageSize int) {
|
||
|
if page <= 1 {
|
||
|
page = 1
|
||
|
}
|
||
|
offset = int((page - 1) * size)
|
||
|
return offset, int(size)
|
||
|
}
|
||
|
|
||
|
`), os.ModePerm)
|
||
|
}
|