fix: import cycle
This commit is contained in:
Vendored
+45
-7
@@ -2,9 +2,9 @@ package cache
|
||||
|
||||
import (
|
||||
"cutego/pkg/constant"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/util"
|
||||
"cutego/refs"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// RemoveList 批量根据Key删除数据
|
||||
@@ -19,7 +19,7 @@ func RemoveList(list []string) {
|
||||
func RemoveCache(key string) int {
|
||||
del, err := refs.RedisDB.DEL(key)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
fmt.Println(err.Error())
|
||||
}
|
||||
return del
|
||||
}
|
||||
@@ -30,7 +30,7 @@ func RemoveCache(key string) int {
|
||||
func GetCache(key string) string {
|
||||
val, err := refs.RedisDB.GET(key)
|
||||
if err != nil {
|
||||
logging.ErrorLog(constant.RedisConst{}.GetRedisError(), err.Error())
|
||||
fmt.Println(constant.RedisConst{}.GetRedisError(), err.Error())
|
||||
return ""
|
||||
}
|
||||
return val
|
||||
@@ -41,9 +41,9 @@ func GetCache(key string) string {
|
||||
// @Param value 值
|
||||
// @Return 新增的行数
|
||||
func SetCache(key string, value interface{}) int {
|
||||
n, err := refs.RedisDB.SET(key, util.StructToJson(value))
|
||||
n, err := refs.RedisDB.SET(key, StructToJson(value))
|
||||
if err != nil {
|
||||
logging.ErrorLog(constant.RedisConst{}.GetRedisError(), err.Error())
|
||||
fmt.Println(constant.RedisConst{}.GetRedisError(), err.Error())
|
||||
return 0
|
||||
}
|
||||
return int(n)
|
||||
@@ -55,5 +55,43 @@ func SetCache(key string, value interface{}) int {
|
||||
// @Param sec 过期时间(单位: 秒)
|
||||
// @Return 新增的行数
|
||||
func SetCacheTTL(key string, value interface{}, sec int) {
|
||||
refs.RedisDB.SETEX(key, sec, util.StructToJson(value))
|
||||
refs.RedisDB.SETEX(key, sec, StructToJson(value))
|
||||
}
|
||||
|
||||
// 结构体、Map等转Json字符串
|
||||
// @Param v interface{}
|
||||
// @Return Json字符串
|
||||
func StructToJson(v interface{}) string {
|
||||
jsonBytes, err := json.Marshal(&v)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return ""
|
||||
}
|
||||
s := string(jsonBytes)
|
||||
//DebugLogf("StructToJson, json=%s", s)
|
||||
return s
|
||||
}
|
||||
|
||||
// Json字符串转结构体、Map等
|
||||
//
|
||||
// 单个对象
|
||||
// s := new(models2.SysConfig)
|
||||
// return common.JsonToStruct(get, s).(*models2.SysConfig)
|
||||
//
|
||||
// 切片(interface{}.(期望类型))
|
||||
// s := make([]interface {}, 0)
|
||||
// target := common.JsonToStruct(get, s)
|
||||
// target.([]dataobject.SysDictData)
|
||||
//
|
||||
// @Param data Json字符串
|
||||
// @Param s 容器(结构体、Map等)
|
||||
// @Return interface{}
|
||||
func JsonToStruct(data string, s interface{}) interface{} {
|
||||
err := json.Unmarshal([]byte(data), &s)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return nil
|
||||
}
|
||||
//common.DebugLogf("JsonToStruct, obj=%v", s)
|
||||
return s
|
||||
}
|
||||
|
||||
@@ -3,13 +3,11 @@ package config
|
||||
import (
|
||||
config "cutego/pkg/config/models"
|
||||
"cutego/pkg/logging"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"gopkg.in/yaml.v2"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"runtime"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -84,44 +82,6 @@ func readAppYmlFile(resourcePath string) {
|
||||
LoadYamlFile(applicationEnvFilePath, AppEnvConfig)
|
||||
}
|
||||
|
||||
// IntToString int转string
|
||||
func IntToString(n int) string {
|
||||
return strconv.Itoa(n)
|
||||
}
|
||||
|
||||
// StringToInt string转int
|
||||
func StringToInt(s string) int {
|
||||
i, err := strconv.Atoi(s)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
// StringToInt64 string转int64
|
||||
func StringToInt64(s string) int64 {
|
||||
i, err := strconv.ParseInt(s, 10, 64)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
// Int64ToString int64转string
|
||||
func Int64ToString(n int64) string {
|
||||
return strconv.FormatInt(n, 10)
|
||||
}
|
||||
|
||||
func mapToBytes(data map[string]interface{}) []byte {
|
||||
bytes, _ := json.Marshal(data)
|
||||
return bytes
|
||||
}
|
||||
|
||||
// MapToStruct map转struct
|
||||
func MapToStruct(data map[string]interface{}, v interface{}) {
|
||||
_ = json.Unmarshal(mapToBytes(data), v)
|
||||
}
|
||||
|
||||
// GetDirPath 获取目录路径
|
||||
func GetDirPath(resType string) string {
|
||||
sysType := runtime.GOOS
|
||||
@@ -165,32 +125,6 @@ func GetDirPath(resType string) string {
|
||||
return AppCoreConfig.CuteGoConfig.File.Linux.Logs
|
||||
}
|
||||
|
||||
// CreateAllDir 递归创建文件夹
|
||||
func CreateAllDir(filePath string) error {
|
||||
if !IsFileOrDirExist(filePath) {
|
||||
err := os.MkdirAll(filePath, os.ModePerm)
|
||||
if err != nil {
|
||||
fmt.Println("创建文件夹失败, error info:", err)
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// IsFileOrDirExist 判断所给路径文件/文件夹是否存在(返回true是存在)
|
||||
func IsFileOrDirExist(path string) bool {
|
||||
// os.Stat获取文件信息
|
||||
_, err := os.Stat(path)
|
||||
if err != nil {
|
||||
if os.IsExist(err) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func init() {
|
||||
// 资源文件所在的路径
|
||||
resourcePath := GetRootPath()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"cutego/pkg/common"
|
||||
"cutego/pkg/config"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/util"
|
||||
"fmt"
|
||||
"github.com/druidcaesa/gotool"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -17,10 +17,10 @@ import (
|
||||
|
||||
// LoggerToFile 日志记录到文件
|
||||
func LoggerToFile() gin.HandlerFunc {
|
||||
dirPath := common.GetDirPath("logging")
|
||||
dirPath := config.GetDirPath("logging")
|
||||
fileName := path.Join(dirPath, "application.logging")
|
||||
if !common.IsFileOrDirExist(dirPath) {
|
||||
err := common.CreateAllDir(dirPath)
|
||||
if !util.IsFileOrDirExist(dirPath) {
|
||||
err := util.CreateAllDir(dirPath)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
}
|
||||
|
||||
+61
-33
@@ -1,8 +1,10 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"cutego/pkg/logging"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// IF 三元表达式
|
||||
@@ -13,40 +15,66 @@ func IF(condition bool, trueValue interface{}, falseValue interface{}) interface
|
||||
return falseValue
|
||||
}
|
||||
|
||||
// 结构体、Map等转Json字符串
|
||||
// @Param v interface{}
|
||||
// @Return Json字符串
|
||||
func StructToJson(v interface{}) string {
|
||||
jsonBytes, err := json.Marshal(&v)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
return ""
|
||||
}
|
||||
s := string(jsonBytes)
|
||||
//DebugLogf("StructToJson, json=%s", s)
|
||||
return s
|
||||
// IntToString int转string
|
||||
func IntToString(n int) string {
|
||||
return strconv.Itoa(n)
|
||||
}
|
||||
|
||||
// Json字符串转结构体、Map等
|
||||
//
|
||||
// 单个对象
|
||||
// s := new(models2.SysConfig)
|
||||
// return common.JsonToStruct(get, s).(*models2.SysConfig)
|
||||
//
|
||||
// 切片(interface{}.(期望类型))
|
||||
// s := make([]interface {}, 0)
|
||||
// target := common.JsonToStruct(get, s)
|
||||
// target.([]dataobject.SysDictData)
|
||||
//
|
||||
// @Param data Json字符串
|
||||
// @Param s 容器(结构体、Map等)
|
||||
// @Return interface{}
|
||||
func JsonToStruct(data string, s interface{}) interface{} {
|
||||
err := json.Unmarshal([]byte(data), &s)
|
||||
// StringToInt string转int
|
||||
func StringToInt(s string) int {
|
||||
i, err := strconv.Atoi(s)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
return nil
|
||||
panic(err)
|
||||
}
|
||||
//common.DebugLogf("JsonToStruct, obj=%v", s)
|
||||
return s
|
||||
return i
|
||||
}
|
||||
|
||||
// StringToInt64 string转int64
|
||||
func StringToInt64(s string) int64 {
|
||||
i, err := strconv.ParseInt(s, 10, 64)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
// Int64ToString int64转string
|
||||
func Int64ToString(n int64) string {
|
||||
return strconv.FormatInt(n, 10)
|
||||
}
|
||||
|
||||
func mapToBytes(data map[string]interface{}) []byte {
|
||||
bytes, _ := json.Marshal(data)
|
||||
return bytes
|
||||
}
|
||||
|
||||
// MapToStruct map转struct
|
||||
func MapToStruct(data map[string]interface{}, v interface{}) {
|
||||
_ = json.Unmarshal(mapToBytes(data), v)
|
||||
}
|
||||
|
||||
// CreateAllDir 递归创建文件夹
|
||||
func CreateAllDir(filePath string) error {
|
||||
if !IsFileOrDirExist(filePath) {
|
||||
err := os.MkdirAll(filePath, os.ModePerm)
|
||||
if err != nil {
|
||||
fmt.Println("创建文件夹失败, error info:", err)
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// IsFileOrDirExist 判断所给路径文件/文件夹是否存在(返回true是存在)
|
||||
func IsFileOrDirExist(path string) bool {
|
||||
// os.Stat获取文件信息
|
||||
_, err := os.Stat(path)
|
||||
if err != nil {
|
||||
if os.IsExist(err) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user