73 lines
1.7 KiB
Go
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 += "("
|
|
// }
|
|
// }
|
|
// }
|