- cms store management.
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user