diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 2ae44f3f2..bcc4f27fe 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -214,3 +214,24 @@ func SetStoreSkuSyncStatus(db *DaoDB, vendorID, storeID int, skuIDs []int, syncS } return ExecuteSQL(db, sql, sqlParams...) } + +func SetStoreCategorySyncStatus(db *DaoDB, vendorID, storeID int, catIDs []int, syncStatus int) (num int64, err error) { + globals.SugarLogger.Debugf("SetStoreCategorySyncStatus, storeID:%d, vendorID:%d", storeID, vendorID) + + fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID]) + sql := fmt.Sprintf(` + UPDATE store_sku_category_map + SET %s_sync_status = %s_sync_status | ? + WHERE deleted_at = ? AND store_id = ? + `, fieldPrefix, fieldPrefix) + sqlParams := []interface{}{ + syncStatus, + utils.DefaultTimeValue, + storeID, + } + if len(catIDs) > 0 { + sql += " AND category_id IN (" + GenQuestionMarks(len(catIDs)) + ")" + sqlParams = append(sqlParams, catIDs) + } + return ExecuteSQL(db, sql, sqlParams...) +} diff --git a/business/partner/purchase/weimob/wsc/store_sku.go b/business/partner/purchase/weimob/wsc/store_sku.go index ee667e35a..cd73acabd 100644 --- a/business/partner/purchase/weimob/wsc/store_sku.go +++ b/business/partner/purchase/weimob/wsc/store_sku.go @@ -261,6 +261,7 @@ func (p *PurchaseHandler) FullSyncStoreSkus(ctx *jxcontext.Context, parentTask t rootTask := tasksch.NewSeqTask("微盟微商城FullSyncStoreSkus", userName, func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { case 0: + _, err = dao.SetStoreCategorySyncStatus(db, model.VendorIDWSC, storeID, nil, model.SyncFlagNewMask) case 1: _, err = dao.SetStoreSkuSyncStatus(db, model.VendorIDWSC, storeID, nil, model.SyncFlagNewMask) case 2: