- all db orm use beego orm, don't use gorm anymore.

This commit is contained in:
gazebo
2018-09-08 12:55:39 +08:00
parent 711013fab4
commit 8c130a15a4
28 changed files with 780 additions and 448 deletions

View File

@@ -2,13 +2,12 @@ package cms
import (
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals/gormdb"
"git.rosy.net.cn/jx-callback/business/model/dao"
)
func GetVendorCategories(vendorID int) ([]*model.SkuVendorCategory, error) {
db := gormdb.GetDB()
cats := []*model.SkuVendorCategory{}
return cats, db.Where("vendor_id = ?", vendorID).Find(&cats).Error
return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ?", vendorID)
}
func GetSkuMetaInfo() (*model.SkuMetaInfo, error) {

View File

@@ -10,11 +10,11 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals/gormdb"
"git.rosy.net.cn/jx-callback/globals"
)
type StoreExt struct {
*model.Store
model.Store
CityName string `json:"cityName"`
DistrictName string `json:"districtName"`
}
@@ -30,36 +30,37 @@ var (
)
func GetPlaces(parentCode int, vendorID int, includeDisabled bool) ([]*model.Place, error) {
db := gormdb.GetDB()
db := dao.GetDB()
places := []*model.Place{}
sql := "enabled = 1 "
sql := "SELECT * FROM place WHERE 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 places, dao.GetRows(db, &places, sql+"AND jd_code <> 0 AND level >= 2")
}
return nil, ErrHaveNotImplementedYet
}
return places, db.Where(sql+"AND parent_code = ?", parentCode).Find(&places).Error
return places, dao.GetRows(db, &places, sql+"AND parent_code = ?", parentCode)
}
func UpdatePlaces(places []*model.Place, userName string) (err error) {
func UpdatePlaces(places []map[string]interface{}, userName string) (err error) {
if len(places) == 0 {
return ErrMissingInput
}
db := gormdb.GetDB()
for _, place := range places {
params := map[string]interface{}{"enabled": place.Enabled, "updated_at": time.Now()}
if place.JdCode != 0 {
params["jd_code"] = place.JdCode
if place["code"] == nil {
return ErrMissingInput
}
if place.MtpsPrice != 0 {
params["mtps_price"] = place.MtpsPrice
}
if err = db.Table("place").Where("code = ?", place.Code).Updates(params).Error; err != nil {
break
placeid := &model.Place{}
globals.SugarLogger.Debug(utils.Format4Output(place, false))
valid, _ := jxutils.FilterMapByFieldList(place, []string{"jdCode", "enabled", "mtpsPrice"})
valid["updatedAt"] = time.Now()
valid["lastOperator"] = userName
globals.SugarLogger.Debug(valid)
if err = dao.UpdateEntityByKV(nil, placeid, valid, utils.Params2Map("Code", place["code"])); err != nil {
return err
}
}
return err
@@ -130,7 +131,8 @@ func GetStores(keyword string, params map[string]interface{}, offset, pageSize i
Ct int
}
countInfo := []tcount{}
if err = dao.GetRows(nil, &countInfo, sqlCount, params2...); err == nil {
db := dao.GetDB()
if err = dao.GetRows(db, &countInfo, sqlCount, params2...); err == nil {
sqlData := "SELECT t1.*, city.name city_name, district.name district_name\n" + sql + `
ORDER BY id
LIMIT ? OFFSET ?`
@@ -144,7 +146,7 @@ func GetStores(keyword string, params map[string]interface{}, offset, pageSize i
retVal := &StoresInfo{
TotalCount: countInfo[0].Ct,
}
err = dao.GetRows(nil, &retVal.Stores, sqlData, params2...)
err = dao.GetRows(db, &retVal.Stores, sqlData, params2...)
return retVal, err
}
return nil, err
@@ -156,9 +158,9 @@ func GetVendorStore(vendorStoreID string, vendorID int) (retVal *StoreExt, err e
result, err2 := handler.ReadStore(vendorStoreID)
if err = err2; err == nil {
retVal = &StoreExt{
Store: result,
Store: *result,
}
db := gormdb.GetDB()
db := dao.GetDB()
if city, err2 := dao.GetPlaceByCode(db, result.CityCode); err2 == nil {
retVal.CityName = city.Name
}
@@ -181,8 +183,8 @@ func UpdateStore(params map[string]interface{}, userName string) (err error) {
params["updatedAt"] = time.Now()
store.ID = int(utils.MustInterface2Int64(params["id"]))
valid, _ := jxutils.FilterMapByStructObject(params, &model.Store{})
err = dao.UpdateEntity(nil, store, valid)
valid, _ := jxutils.NormalFilterMapByStructObject(params, &model.Store{})
err = dao.UpdateEntityByKV(nil, store, valid, nil)
return err
}

View File

@@ -1,72 +0,0 @@
package qorcms
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 += "("
// }
// }
// }