- sku category.

This commit is contained in:
gazebo
2018-09-10 07:47:18 +08:00
parent d8907cf010
commit ce56d774a2
5 changed files with 82 additions and 21 deletions

View File

@@ -27,11 +27,11 @@ func GetPurchaseHandler(vendorID int) partner.IPurchasePlatformHandler {
func (v *VendorSync) SyncCategory(categoryID int, isForce bool, userName string) (err error) {
db := dao.GetDB()
cats := []*model.SkuCategory{}
cond := make(map[string]interface{})
if categoryID != 0 {
err = dao.GetRows(db, &cats, "SELECT * FROM sku_category WHERE id = ?", categoryID)
} else {
err = dao.GetRows(db, &cats, "SELECT * FROM sku_category")
cond["ID"] = categoryID
}
err = dao.GetEntities(db, &cats, cond, true)
for _, cat := range cats {
if (cat.JdSyncStatus & model.SyncFlagNewMask) != 0 { // 新增
err = GetPurchaseHandler(model.VendorIDJD).CreateCategory(cat, userName)

View File

@@ -3,6 +3,7 @@ package cms
import (
"errors"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
@@ -13,11 +14,14 @@ var (
)
// parentID 为-1表示所有
func GetVendorCategories(vendorID int, parentID int) (cats []*model.SkuVendorCategory, err error) {
if parentID == -1 {
return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ?", vendorID)
func GetVendorCategories(vendorID int, parentID int) (vendorCats []*model.SkuVendorCategory, err error) {
cond := map[string]interface{}{
"VendorID": vendorID,
}
return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ? AND parent_id = ?", vendorID, parentID)
if parentID != -1 {
cond["ParentID"] = parentID
}
return vendorCats, dao.GetEntities(nil, &vendorCats, cond, false)
}
func GetSkuMetaInfo() (*model.SkuMetaInfo, error) {
@@ -30,14 +34,15 @@ func GetSkuMetaInfo() (*model.SkuMetaInfo, error) {
// parentID 为-1表示所有
func GetCategories(parentID int) (cats []*model.SkuCategory, err error) {
if parentID == -1 {
return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_category")
return cats, dao.GetEntities(nil, &cats, nil, false)
}
return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_category WHERE parent_id = ?", parentID)
return cats, dao.GetEntities(nil, &cats, utils.Params2Map("ParentID", parentID), false)
}
func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
cat.ID = 0
cat.JdSyncStatus = model.SyncFlagNewMask
cat.DeletedAt = utils.DefaultTimeValue
if err = dao.CreateEntity(nil, cat); err == nil {
outCat = cat
err = CurVendorSync.SyncCategory(cat.ID, false, userName)
@@ -63,7 +68,7 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
parentCat.ID = parentID
db := dao.GetDB()
if err = dao.GetEntity(db, parentCat); err == nil {
if err = dao.GetRows(db, &cats, "SELECT * FROM sku_category WHERE parent_id = ?", parentID); err == nil {
if err = dao.GetEntities(db, &cats, utils.Params2Map("ParentID", parentID), false); err == nil {
catsLen := len(cats)
if catsLen != len(categoryIDs) {
return ErrInputCatsDoesntMatch
@@ -86,3 +91,9 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
}
return err
}
func DeleteCategory(categoryID int, isForce bool, userName string) (num int64, err error) {
cat := &model.SkuCategory{}
cat.ID = categoryID
return dao.DeleteEntity(nil, cat, nil, userName)
}

View File

@@ -237,10 +237,13 @@ func CreateStore(store *model.Store, userName string) (id int, err error) {
}
func SyncStore2Vendor(db *dao.DaoDB, vendorID int, store *model.Store, isForce bool, userName string) (err error) {
var (
storeMaps []*model.StoreMap
)
if db == nil {
db = dao.GetDB()
}
storeMaps, err := GetStoreVendorMaps(db, store.ID, -1)
err = dao.GetEntities(db, &storeMaps, utils.Params2Map("StoreID", store.ID), true)
if err == nil {
// globals.SugarLogger.Debug(utils.Format4Output(store, false))
copiedStore := *store
@@ -258,12 +261,13 @@ func SyncStore2Vendor(db *dao.DaoDB, vendorID int, store *model.Store, isForce b
}
func GetStoreVendorMaps(db *dao.DaoDB, storeID int, vendorID int) (storeMaps []*model.StoreMap, err error) {
if vendorID == -1 {
err = dao.GetRows(db, &storeMaps, "SELECT * FROM store_map WHERE store_id = ?", storeID)
} else {
err = dao.GetRows(db, &storeMaps, "SELECT * FROM store_map WHERE store_id = ? AND vendor_id = ?", storeID, vendorID)
cond := map[string]interface{}{
"StoreID": storeID,
}
return storeMaps, err
if vendorID != -1 {
cond["VendorID"] = vendorID
}
return storeMaps, dao.GetEntities(db, &storeMaps, cond, false)
}
func AddStoreVendorMap(db *dao.DaoDB, storeMap *model.StoreMap, userName string) (outStoreMap *model.StoreMap, err error) {
@@ -281,7 +285,7 @@ func AddStoreVendorMap(db *dao.DaoDB, storeMap *model.StoreMap, userName string)
func DeleteStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, userName string) (num int64, err error) {
storeMap := &model.StoreMap{}
return dao.DeleteEntity(db, storeMap, utils.Params2Map("StoreID", storeID, "VendorID", vendorID))
return dao.DeleteEntity(db, storeMap, utils.Params2Map("StoreID", storeID, "VendorID", vendorID), "")
}
func UpdateStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, payload map[string]interface{}, userName string) (num int64, err error) {