- 京东回调活动创建等5秒再执行,以免通过API创建时重复创建

- 饿百防重复创建
This commit is contained in:
gazebo
2019-07-31 09:13:09 +08:00
parent 5ce287fe09
commit b225f814ec
3 changed files with 48 additions and 26 deletions

View File

@@ -726,29 +726,32 @@ func RefreshPageActs(ctx *jxcontext.Context, vendorIDs []int, createdFrom time.T
if err = err2; err != nil {
return nil, err
}
actInfo, err2 := dao.QueryActs(db, 0, 0, -1, "", vendorID, nil, []int{model.ActCreateTypeSpider},
nil, 0, 0, 0, utils.DefaultTimeValue, utils.DefaultTimeValue, createdFrom, utils.DefaultTimeValue)
// actInfo, err2 := dao.QueryActs(db, 0, 0, -1, "", vendorID, nil, []int{model.ActCreateTypeSpider},
// nil, 0, 0, 0, utils.DefaultTimeValue, utils.DefaultTimeValue, createdFrom, utils.DefaultTimeValue)
vendorActIDs, err2 := dao.GetExistVendorActIDs(db, vendorID)
if err = err2; err != nil {
return nil, err
}
localActMap := make(map[string]*dao.ActVendorInfo)
for _, v := range actInfo.Data {
if v.VendorList[0].VendorActID != "" {
localActMap[v.VendorList[0].VendorActID] = v
}
}
localActMap := jxutils.StringList2Map(vendorActIDs)
// localActMap := make(map[string]*dao.ActVendorInfo)
// for _, v := range vendorActIDs {
// if v.VendorList[0].VendorActID != "" {
// localActMap[v.VendorList[0].VendorActID] = v
// }
// }
var needAddActList []*model.Act2
var needUpdateActList []*model.Act
// var needUpdateActList []*model.Act
for _, v := range actList {
localAct := localActMap[v.VendorActID]
if localAct == nil {
if localAct == 0 {
if v.Status == model.ActStatusCreated {
needAddActList = append(needAddActList, v)
}
} else if v.Status != localAct.Status {
localAct.Status = v.Status
needUpdateActList = append(needUpdateActList, &localAct.Act)
}
// else if v.Status != localAct.Status {
// localAct.Status = v.Status
// needUpdateActList = append(needUpdateActList, &localAct.Act)
// }
}
subTask := tasksch.NewParallelTask("RefreshPageAct Sub", nil, ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
@@ -788,11 +791,11 @@ func RefreshPageActs(ctx *jxcontext.Context, vendorIDs []int, createdFrom time.T
}
}
}
for _, v := range needUpdateActList {
if _, err = dao.UpdateEntity(db, v, model.FieldStatus); err != nil {
return nil, err
}
}
// for _, v := range needUpdateActList {
// if _, err = dao.UpdateEntity(db, v, model.FieldStatus); err != nil {
// return nil, err
// }
// }
dao.Commit(db)
}
return retVal, err