jd act
This commit is contained in:
@@ -39,6 +39,11 @@ var (
|
|||||||
actMap jxutils.SyncMapWithTimeout
|
actMap jxutils.SyncMapWithTimeout
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 是否按单一门店商品维度创建活动
|
||||||
|
func isCreateTypeSingle() bool {
|
||||||
|
return !globals.IsProductEnv()
|
||||||
|
}
|
||||||
|
|
||||||
func splitPromotionSku(skus []*jdapi.PromotionSku, maxCount int) (skusList [][]*jdapi.PromotionSku) {
|
func splitPromotionSku(skus []*jdapi.PromotionSku, maxCount int) (skusList [][]*jdapi.PromotionSku) {
|
||||||
for {
|
for {
|
||||||
skusLen := len(skus)
|
skusLen := len(skus)
|
||||||
@@ -213,18 +218,18 @@ func createSkuAct(ctx *jxcontext.Context, act *model.Act2, actStoreSku []*model.
|
|||||||
return vendorActID, err
|
return vendorActID, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func cancelSkuActSkus(ctx *jxcontext.Context, vendorOrgCode string, actType int, vendorActID string, actStoreSku []*model.ActStoreSku2) (err error) {
|
func cancelSkuActSkus(ctx *jxcontext.Context, act *model.Act2, vendorActID string, actStoreSku []*model.ActStoreSku2) (err error) {
|
||||||
if vendorActID != "" {
|
if vendorActID != "" {
|
||||||
if skuList := storeSku2Jd(actStoreSku, model.IsSyncStatusNeedDelete); len(skuList) > 0 {
|
if skuList := storeSku2Jd(actStoreSku, model.IsSyncStatusNeedDelete); len(skuList) > 0 {
|
||||||
err = CancelPromotionSku(vendorOrgCode, actType, utils.Str2Int64(vendorActID), "", skuList, ctx.GetTrackInfo())
|
err = CancelPromotionSku(act.VendorOrgCode, act.Type, utils.Str2Int64(vendorActID), "", skuList, ctx.GetTrackInfo())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func cancelSkuAct(ctx *jxcontext.Context, vendorOrgCode string, actType int, vendorActID string) (err error) {
|
func cancelSkuAct(ctx *jxcontext.Context, act *model.Act2, vendorActID string) (err error) {
|
||||||
if vendorActID != "" {
|
if vendorActID != "" {
|
||||||
err = CancelPromotion(vendorOrgCode, actType, utils.Str2Int64(vendorActID), "", ctx.GetTrackInfo())
|
err = CancelPromotion(act.VendorOrgCode, act.Type, utils.Str2Int64(vendorActID), "", ctx.GetTrackInfo())
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -256,7 +261,7 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa
|
|||||||
if model.IsSyncStatusDelete(act.SyncStatus) {
|
if model.IsSyncStatusDelete(act.SyncStatus) {
|
||||||
for vendorActID := range vendorActInfoMap {
|
for vendorActID := range vendorActInfoMap {
|
||||||
if vendorActID != "" {
|
if vendorActID != "" {
|
||||||
if err = cancelSkuAct(ctx, act.VendorOrgCode, act.Type, vendorActID); err != nil {
|
if err = cancelSkuAct(ctx, act, vendorActID); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -287,9 +292,9 @@ func (c *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITa
|
|||||||
if vendorActID != "" {
|
if vendorActID != "" {
|
||||||
if len(vendorActInfoMap[vendorActID]) == len(deleteActInfoMap[vendorActID]) {
|
if len(vendorActInfoMap[vendorActID]) == len(deleteActInfoMap[vendorActID]) {
|
||||||
// todo 如果这个取消导致了整活动被取消的话,怎么设置京西活动的状态
|
// todo 如果这个取消导致了整活动被取消的话,怎么设置京西活动的状态
|
||||||
err = cancelSkuAct(ctx, act.VendorOrgCode, act.Type, vendorActID)
|
err = cancelSkuAct(ctx, act, vendorActID)
|
||||||
} else {
|
} else {
|
||||||
err = cancelSkuActSkus(ctx, act.VendorOrgCode, act.Type, vendorActID, deleteActInfoMap[vendorActID])
|
err = cancelSkuActSkus(ctx, act, vendorActID, deleteActInfoMap[vendorActID])
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user