- basic cms structure.
This commit is contained in:
@@ -1,72 +1,9 @@
|
||||
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"
|
||||
"errors"
|
||||
)
|
||||
|
||||
var (
|
||||
curAdmin *admin.Admin
|
||||
ErrHaveNotImplementedYet = errors.New("还没有实现")
|
||||
)
|
||||
|
||||
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 += "("
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
19
business/jxstore/cms/sku.go
Normal file
19
business/jxstore/cms/sku.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package cms
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals/gormdb"
|
||||
)
|
||||
|
||||
func GetVendorCategories(vendorID int) ([]*model.SkuVendorCategory, error) {
|
||||
db := gormdb.GetDB()
|
||||
cats := []*model.SkuVendorCategory{}
|
||||
return cats, db.Where("vendor_id = ?", vendorID).Find(&cats).Error
|
||||
}
|
||||
|
||||
func GetSkuMetaInfo() (*model.SkuMetaInfo, error) {
|
||||
return &model.SkuMetaInfo{
|
||||
Units: model.UnitNames,
|
||||
SpecUnits: model.SpecUnitNames,
|
||||
}, nil
|
||||
}
|
||||
22
business/jxstore/cms/store.go
Normal file
22
business/jxstore/cms/store.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package cms
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals/gormdb"
|
||||
)
|
||||
|
||||
func GetCities(parentCode int, vendorID int, includeDisabled bool) ([]*model.Place, error) {
|
||||
db := gormdb.GetDB()
|
||||
places := []*model.Place{}
|
||||
sql := "enabled = 1 "
|
||||
if includeDisabled {
|
||||
sql = "1 = 1 "
|
||||
}
|
||||
if vendorID >= 0 {
|
||||
if vendorID == model.VendorIDJD {
|
||||
return places, db.Where(sql + "AND jd_code <> 0 AND level >= 2").Find(&places).Error
|
||||
}
|
||||
return nil, ErrHaveNotImplementedYet
|
||||
}
|
||||
return places, db.Where(sql+"AND parent_code = ?", parentCode).Find(&places).Error
|
||||
}
|
||||
Reference in New Issue
Block a user