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 += "(" // } // } // }