- cms store management.

This commit is contained in:
gazebo
2018-09-03 18:28:37 +08:00
parent 426fe7c570
commit 70d5ae5dd1
17 changed files with 1522 additions and 628 deletions

View File

@@ -1,7 +1,6 @@
package dao
import (
"fmt"
"reflect"
"git.rosy.net.cn/baseapi/utils"
@@ -20,7 +19,6 @@ func GetRows(db *gorm.DB, inPtr interface{}, sql string, values ...interface{})
}
typeInfo := topTypeInfo.Elem()
if typeInfo.Kind() != reflect.Slice {
fmt.Printf("type:%s", typeInfo.String())
panic("SelectEntities inPtr should be slice ptr (*[]Type)")
}
elmType := typeInfo.Elem()
@@ -47,7 +45,7 @@ func GetRows(db *gorm.DB, inPtr interface{}, sql string, values ...interface{})
return err
}
func GetEntity(item interface{}, db *gorm.DB) error {
func GetEntity(db *gorm.DB, item interface{}) error {
if db == nil {
db = gormdb.GetDB()
}
@@ -57,6 +55,26 @@ func GetEntity(item interface{}, db *gorm.DB) error {
return err
}
func UpdateEntity(db *gorm.DB, item interface{}, values map[string]interface{}) error {
if db == nil {
db = gormdb.GetDB()
}
err := utils.CallFuncLogError(func() error {
return db.Model(item).Updates(values).Error
}, reflect.TypeOf(item).Name())
return err
}
func CreateEntity(db *gorm.DB, item interface{}) error {
if db == nil {
db = gormdb.GetDB()
}
err := utils.CallFuncLogError(func() error {
return db.Create(item).Error
}, reflect.TypeOf(item).Name())
return err
}
func GetSellCities(skuNameID int, vendorID int, db *gorm.DB) (cities []*model.Place, err error) {
cities = []*model.Place{}
sql := `
@@ -71,3 +89,32 @@ func GetSellCities(skuNameID int, vendorID int, db *gorm.DB) (cities []*model.Pl
}
return cities, GetRows(nil, &cities, sql, skuNameID)
}
func GetPlaceByCode(db *gorm.DB, code int) (place *model.Place, err error) {
if db == nil {
db = gormdb.GetDB()
}
place = new(model.Place)
err = db.Where("code = ?", code).First(place).Error
return place, err
}
func GetPlaceByName(db *gorm.DB, name string, level int, parentCode int) (place *model.Place, err error) {
if db == nil {
db = gormdb.GetDB()
}
place = new(model.Place)
if err = db.Where("parent_code = ? AND level = ? AND name = ?", parentCode, level, name).First(place).Error; err == gorm.ErrRecordNotFound {
err = db.Where("parent_code = ? AND level = ? AND name LIKE ?", parentCode, level, "%"+name+"%").First(place).Error
}
return place, err
}
func GetPlaceByJdCode(db *gorm.DB, jdCode int) (place *model.Place, err error) {
if db == nil {
db = gormdb.GetDB()
}
place = new(model.Place)
err = db.Where("jd_code = ?", jdCode).First(place).Error
return place, err
}

View File

@@ -34,3 +34,11 @@ func TestSelectEntities(t *testing.T) {
globals.SugarLogger.Debug(utils.Format4Output(places, false))
}
func TestGetPlaceByName(t *testing.T) {
result, err := GetPlaceByName(nil, "青羊", 3, 510100)
if err != nil {
t.Fatal(err)
}
t.Log(result)
}