Files
jx-callback/business/model/store.go
2018-09-09 14:54:17 +08:00

99 lines
3.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
const (
StoreStatusDisabled = -1
StoreStatusClosed = 0
StoreStatusOpened = 1
)
const (
MainSubStoreName = "本店"
MainSubStoreAddress = "本店"
)
// 配送范围类型,此定义与京东到家相同,除非特殊说明,本系统中的坐标都是火星坐标
const (
DeliveryRangeTypePolygon = 2
DeliveryRangeTypeRadius = 3
)
type Store struct {
ModelIDCUL
Name string `orm:"size(255);unique" json:"name"`
CityCode int `orm:"default(0);null" json:"cityCode"` // todo ?
DistrictCode int `orm:"default(0);null" json:"districtCode"` // todo ?
Address string `orm:"size(255)" json:"address"`
Tel1 string `orm:"size(32);index" json:"tel1"`
Tel2 string `orm:"size(32);index" 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 `orm:"size(2048)" json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon则为逗号分隔坐标分号分隔的坐标点坐标与Lng和Lat一样都是整数比如 121361504,31189308;121420555,31150238。否则为半径单位为米
Status int `json:"status"`
DeliveryType int8 `orm:"-" json:"-"`
}
type StoreSub struct {
ModelIDCUL
StoreID int `orm:"column(store_id)"`
Index int // 子店序号为0表示主店
Name string `orm:"size(255);index"`
Address string `orm:"size(255)"`
Status int // 取值同Store.Status
Mobile1 string `orm:"size(32)"`
Mobile2 string `orm:"size(32)"`
Mobile3 string `orm:"size(32)"`
}
func (*StoreSub) TableUnique() [][]string {
return [][]string{
[]string{"StoreID", "Index"},
}
}
type StoreMap struct {
ModelIDCUL
StoreID int `orm:"column(store_id)" json:"storeID"`
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"`
Status int `json:"status"` // 取值同Store.Status
PricePercentage int16 `orm:"default(100)" json:"pricePercentage"` // todo 厂商价格相对于本地价格的百分比,这个字段的修改会比较特殊,因为可能需要刷新厂商价格
AutoPickup int8 `orm:"default(1)" json:"autoPickup"` // 是否自动拣货
DeliveryType int8 `orm:"default(0)" json:"deliveryType"` // 配送类型
DeliveryCompetition int8 `orm:"default(1)" json:"deliveryCompetition"` // 是否支持配送竞争
SyncStatus int8 `orm:"default(2)" json:"syncStatus"`
}
func (*StoreMap) TableUnique() [][]string {
return [][]string{
[]string{"StoreID", "VendorID"},
[]string{"VendorStoreID", "VendorID"},
}
}
type StoreCourierMap struct {
ModelIDCUL
StoreID int `orm:"column(store_id)"`
VendorID int `orm:"column(vendor_id)"`
VendorStoreID string `orm:"column(vendor_store_id);size(48)"`
Status int
}
func (*StoreCourierMap) TableUnique() [][]string {
return [][]string{
[]string{"StoreID", "VendorID"},
[]string{"VendorStoreID", "VendorID"},
}
}