package cms import ( "errors" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner" ) type VendorSync struct { } var ( CurVendorSync VendorSync ) var ( ErrHaveNotImplementedYet = errors.New("还没有实现") ) func GetPurchaseHandler(vendorID int) partner.IPurchasePlatformHandler { return basesch.FixedBaseScheduler.GetPurchasePlatformFromVendorID(vendorID) } 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 { 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) } else if (cat.JdSyncStatus&model.SyncFlagModifiedMask) != 0 || isForce { // 修改 err = GetPurchaseHandler(model.VendorIDJD).UpdateCategory(cat, userName) } if err == nil { cat.JdSyncStatus = 0 _, err = dao.UpdateEntity(db, cat, "JdSyncStatus") } if err != nil { break } } return err }