- cms store management.
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
package model
|
||||
|
||||
const (
|
||||
DefPageSize = 50
|
||||
)
|
||||
|
||||
type GoodsOrderExt struct {
|
||||
GoodsOrder
|
||||
WaybillStatus int `json:"waybillStatus"`
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -19,21 +19,21 @@ const (
|
||||
|
||||
type Store struct {
|
||||
ModelIDCUO
|
||||
Name string `gorm:"type:varchar(255);unique_index"`
|
||||
CityCode int // todo ?
|
||||
DistrictCode int // todo ?
|
||||
Address string `gorm:"type:varchar(255)"`
|
||||
Tel1 string `gorm:"type:varchar(32)"`
|
||||
Tel2 string `gorm:"type:varchar(32)"`
|
||||
OpenTime1 int16 // 930就表示9点半,用两个的原因是为了支持中午休息,1与2的时间段不能交叉,为0表示没有
|
||||
CloseTime1 int16 // 格式同上
|
||||
OpenTime2 int16 // 格式同上
|
||||
CloseTime2 int16 // 格式同上
|
||||
Lng int // 乘了10的6次方
|
||||
Lat int // 乘了10的6次方
|
||||
DeliveryRangeType int8 // 参见相关常量定义
|
||||
DeliveryRange string `gorm:"type:varchar(2048)"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon,则为逗号分隔坐标,分号分隔的坐标点(坐标与Lng和Lat一样,都是整数),比如 121361504,31189308;121420555,31150238。否则为半径,单位为米
|
||||
Status int
|
||||
Name string `gorm:"type:varchar(255);unique_index" json:"name"`
|
||||
CityCode int `json:"cityCode"` // todo ?
|
||||
DistrictCode int `json:"districtCode"` // todo ?
|
||||
Address string `gorm:"type:varchar(255)" json:"address"`
|
||||
Tel1 string `gorm:"type:varchar(32)" json:"tel1"`
|
||||
Tel2 string `gorm:"type:varchar(32)" json:"tel2"`
|
||||
OpenTime1 int16 `json:"openTime1"` // 930就表示9点半,用两个的原因是为了支持中午休息,1与2的时间段不能交叉,为0表示没有
|
||||
CloseTime1 int16 `json:"closeTime1"` // 格式同上
|
||||
OpenTime2 int16 `json:"openTime2"` // 格式同上
|
||||
CloseTime2 int16 `json:"closeTime2"` // 格式同上
|
||||
Lng int `json:"lng"` // 乘了10的6次方
|
||||
Lat int `json:"lat"` // 乘了10的6次方
|
||||
DeliveryRangeType int8 `json:"deliveryRangeType"` // 参见相关常量定义
|
||||
DeliveryRange string `gorm:"type:varchar(2048)" json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon,则为逗号分隔坐标,分号分隔的坐标点(坐标与Lng和Lat一样,都是整数),比如 121361504,31189308;121420555,31150238。否则为半径,单位为米
|
||||
Status int `json:"status"`
|
||||
}
|
||||
|
||||
type StoreSub struct {
|
||||
|
||||
Reference in New Issue
Block a user