- 调整dao中的函数分布,将门店相关的都移到store中

This commit is contained in:
gazebo
2019-07-23 10:22:05 +08:00
parent 2b38cbf750
commit 79d81fdd73
2 changed files with 106 additions and 104 deletions

View File

@@ -8,7 +8,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/refutil"
"github.com/astaxie/beego/orm"
)
type KVUpdateItem struct {
@@ -137,106 +136,3 @@ func DeleteEntityLogically(db *DaoDB, item interface{}, kvs map[string]interface
model.FieldDeletedAt: time.Now(),
}), userName, conditions)
}
func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendorCategoryID string, status int8, userName string) (err error) {
storeCat := &model.StoreSkuCategoryMap{
StoreID: storeID,
CategoryID: categoryID,
MtwmSyncStatus: model.SyncFlagNewMask,
EbaiSyncStatus: model.SyncFlagNewMask,
WscSyncStatus: model.SyncFlagNewMask,
}
storeCat.DeletedAt = utils.DefaultTimeValue
if err = GetEntity(db, storeCat, model.FieldStoreID, model.FieldCategoryID, model.FieldDeletedAt); err != nil && err != orm.ErrNoRows {
return err
}
if vendorID == model.VendorIDMTWM {
storeCat.MtwmID = vendorCategoryID
storeCat.MtwmSyncStatus = status
} else if vendorID == model.VendorIDEBAI || vendorID == model.VendorIDWSC {
intVendorCategoryID := utils.Str2Int64WithDefault(vendorCategoryID, 0)
if vendorID == model.VendorIDEBAI {
storeCat.EbaiID = intVendorCategoryID
storeCat.EbaiSyncStatus = status
} else {
storeCat.WscID = intVendorCategoryID
storeCat.WscSyncStatus = status
}
} else {
panic("unsupported vendor")
}
if storeCat.ID == 0 {
WrapAddIDCULDEntity(storeCat, userName)
err = CreateEntity(db, storeCat)
} else {
WrapUpdateULEntity(storeCat, userName)
_, err = UpdateEntity(db, storeCat)
}
return err
}
func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap, err error) {
if db == nil {
db = GetDB()
}
storeMap = &model.StoreMap{
StoreID: storeID,
VendorID: vendorID,
}
storeMap.DeletedAt = utils.DefaultTimeValue
if err = GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
if err != orm.ErrNoRows {
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storeMap failed with error:%v", storeID, vendorID, err)
}
return nil, err
}
return storeMap, nil
}
func FakeGetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap, err error) {
vendorID2 := vendorID
if vendorID == model.VendorIDWSC {
vendorID2 = model.VendorIDJD // 微商城的属性以京东属性为准(以免再绑定)
}
if storeMap, err = GetStoreMapByStoreID(db, storeID, vendorID2); vendorID == model.VendorIDWSC && IsNoRowsError(err) {
err = nil
storeMap = &model.StoreMap{
StoreID: storeID,
VendorID: vendorID2,
Status: model.StoreStatusOpened,
PricePercentage: 100,
AutoPickup: 1,
DeliveryType: model.StoreDeliveryTypeByStore,
// DeliveryFee
DeliveryCompetition: 1,
IsSync: 1,
}
}
return storeMap, err
}
func GetOpenedStoreCouriersByStoreID(db *DaoDB, storeID, vendorID int) (storeMaps []*model.StoreCourierMap, err error) {
if db == nil {
db = GetDB()
}
if err = utils.CallFuncLogError(func() error {
sql := `
SELECT *
FROM store_courier_map
WHERE store_id = ? AND status = ? AND deleted_at = ?
`
sqlParams := []interface{}{
storeID,
model.StoreStatusOpened,
utils.DefaultTimeValue,
}
if vendorID != -1 {
sql += " AND vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
}
return GetRows(db, &storeMaps, sql, sqlParams...)
}, "GetStoreCouriersByStoreID storeID:%d, vendorID:%d", storeID, vendorID); err != nil {
return nil, err
}
return storeMaps, nil
}

View File

@@ -6,6 +6,8 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/orm"
)
// 带购物平台信息的
@@ -39,6 +41,7 @@ type StoreDetail2 struct {
VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"`
DistrictName string `json:"districtName"`
CityName string `json:"cityName"`
AuditStatus int `json:"auditStatus"`
}
func (s *StoreDetail) GetPricePerentage(price int) (pricePercentage int) {
@@ -331,3 +334,106 @@ func PricePercentagePack2Obj(packStr string) (obj model.PricePercentagePack) {
}
return obj
}
func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendorCategoryID string, status int8, userName string) (err error) {
storeCat := &model.StoreSkuCategoryMap{
StoreID: storeID,
CategoryID: categoryID,
MtwmSyncStatus: model.SyncFlagNewMask,
EbaiSyncStatus: model.SyncFlagNewMask,
WscSyncStatus: model.SyncFlagNewMask,
}
storeCat.DeletedAt = utils.DefaultTimeValue
if err = GetEntity(db, storeCat, model.FieldStoreID, model.FieldCategoryID, model.FieldDeletedAt); err != nil && err != orm.ErrNoRows {
return err
}
if vendorID == model.VendorIDMTWM {
storeCat.MtwmID = vendorCategoryID
storeCat.MtwmSyncStatus = status
} else if vendorID == model.VendorIDEBAI || vendorID == model.VendorIDWSC {
intVendorCategoryID := utils.Str2Int64WithDefault(vendorCategoryID, 0)
if vendorID == model.VendorIDEBAI {
storeCat.EbaiID = intVendorCategoryID
storeCat.EbaiSyncStatus = status
} else {
storeCat.WscID = intVendorCategoryID
storeCat.WscSyncStatus = status
}
} else {
panic("unsupported vendor")
}
if storeCat.ID == 0 {
WrapAddIDCULDEntity(storeCat, userName)
err = CreateEntity(db, storeCat)
} else {
WrapUpdateULEntity(storeCat, userName)
_, err = UpdateEntity(db, storeCat)
}
return err
}
func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap, err error) {
if db == nil {
db = GetDB()
}
storeMap = &model.StoreMap{
StoreID: storeID,
VendorID: vendorID,
}
storeMap.DeletedAt = utils.DefaultTimeValue
if err = GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
if err != orm.ErrNoRows {
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storeMap failed with error:%v", storeID, vendorID, err)
}
return nil, err
}
return storeMap, nil
}
func FakeGetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap, err error) {
vendorID2 := vendorID
if vendorID == model.VendorIDWSC {
vendorID2 = model.VendorIDJD // 微商城的属性以京东属性为准(以免再绑定)
}
if storeMap, err = GetStoreMapByStoreID(db, storeID, vendorID2); vendorID == model.VendorIDWSC && IsNoRowsError(err) {
err = nil
storeMap = &model.StoreMap{
StoreID: storeID,
VendorID: vendorID2,
Status: model.StoreStatusOpened,
PricePercentage: 100,
AutoPickup: 1,
DeliveryType: model.StoreDeliveryTypeByStore,
// DeliveryFee
DeliveryCompetition: 1,
IsSync: 1,
}
}
return storeMap, err
}
func GetOpenedStoreCouriersByStoreID(db *DaoDB, storeID, vendorID int) (storeMaps []*model.StoreCourierMap, err error) {
if db == nil {
db = GetDB()
}
if err = utils.CallFuncLogError(func() error {
sql := `
SELECT *
FROM store_courier_map
WHERE store_id = ? AND status = ? AND deleted_at = ?
`
sqlParams := []interface{}{
storeID,
model.StoreStatusOpened,
utils.DefaultTimeValue,
}
if vendorID != -1 {
sql += " AND vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
}
return GetRows(db, &storeMaps, sql, sqlParams...)
}, "GetStoreCouriersByStoreID storeID:%d, vendorID:%d", storeID, vendorID); err != nil {
return nil, err
}
return storeMaps, nil
}