Files
jx-callback/business/jxstore/cms/cms.go
2018-08-17 16:42:16 +08:00

73 lines
1.7 KiB
Go

package cms
import (
"reflect"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/gormdb"
"github.com/qor/admin"
"github.com/qor/qor"
"github.com/qor/qor/resource"
)
var (
curAdmin *admin.Admin
)
func Init() {
gormdb.Init()
curAdmin = admin.New(&admin.AdminConfig{
DB: gormdb.GetDB(),
SiteName: "京西管理系统v0.0.1",
})
storeRes := curAdmin.AddResource(&model.Store{})
lngMeta := storeRes.GetMeta("Lng")
lngMeta.Type = "float"
lngMeta.SetSetter(func(record interface{}, metaValue *resource.MetaValue, context *qor.Context) {
store := record.(*model.Store)
store.Lng = int(utils.Str2Float64((metaValue.Value.([]string))[0]) * 1000000)
globals.SugarLogger.Debugf("metaValue:%v", reflect.TypeOf(metaValue.Value))
})
lngMeta.SetValuer(func(record interface{}, context *qor.Context) (result interface{}) {
store := record.(*model.Store)
result = float64(store.Lng) / 1000000
return result
})
curAdmin.AddResource(&model.StoreSub{})
curAdmin.AddResource(&model.Sku{})
curAdmin.AddResource(&model.SkuName{})
}
func GetAdmin() *admin.Admin {
return curAdmin
}
// func SaveMapSlice2DB(db *gorm.DB, data []map[string]interface{}, tableName string, keyMaps map[string]string) {
// if len(data) == 0 {
// return
// }
// sql := "INSERT INTO " + tableName + "("
// for k := range data[0] {
// realK, ok := keyMaps[k]
// if !ok {
// realK = k
// }
// sql += realK + ","
// }
// sql = sql[:len(sql)-1] + ") "
// for _, dataRow := range data {
// for k, v := range dataRow {
// realK, ok := keyMaps[k]
// if !ok {
// realK = k
// }
// sql += "("
// }
// }
// }