feat: 按创建人隔离采集采购任务 (#127)
This commit is contained in:
@@ -576,17 +576,17 @@ func (r CollectTaskResult) Skipped() int {
|
||||
// 返回的跳过分类必须显示给操作员。静默跳过的话,
|
||||
// 操作员会以为任务建好了,等半天没动静也不知道为什么。
|
||||
func CreatePddCollectTasks(db *sql.DB, goodsIDs []string) (CollectTaskResult, error) {
|
||||
return createPddCollectTasks(db, goodsIDs, "", "")
|
||||
return createPddCollectTasks(db, goodsIDs, "", "", "")
|
||||
}
|
||||
|
||||
// CreatePddCollectTasksForUser 为 PDD 批量页面创建可选客户端的采集任务。
|
||||
// 即使浏览器伪造 clientID,也必须重新按当前登录账号校验可见范围。
|
||||
func CreatePddCollectTasksForUser(db *sql.DB, actor *model.User, goodsIDs []string, clientID string) (CollectTaskResult, error) {
|
||||
visibleUserID, err := visibleClientUserID(actor)
|
||||
visibleUserID, err := taskActorScope(actor)
|
||||
if err != nil {
|
||||
return CollectTaskResult{}, err
|
||||
}
|
||||
return createPddCollectTasks(db, goodsIDs, strings.TrimSpace(clientID), visibleUserID)
|
||||
return createPddCollectTasks(db, goodsIDs, strings.TrimSpace(clientID), visibleUserID, actor.UserID)
|
||||
}
|
||||
|
||||
// RecollectPddProductForUser 为详情页一次明确的重新采集创建单商品任务。
|
||||
@@ -600,7 +600,7 @@ func RecollectPddProductForUser(db *sql.DB, actor *model.User, goodsID, clientID
|
||||
return result, invalidInput("商品 ID 不能为空")
|
||||
}
|
||||
|
||||
visibleUserID, err := visibleClientUserID(actor)
|
||||
visibleUserID, err := taskActorScope(actor)
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
@@ -647,8 +647,8 @@ func RecollectPddProductForUser(db *sql.DB, actor *model.User, goodsID, clientID
|
||||
return result, nil
|
||||
}
|
||||
|
||||
if err := repository.InsertCollectTaskForClient(
|
||||
tx, newCollectTaskID(), p.GoodsID, p.URL, clientID); err != nil {
|
||||
if err := repository.InsertCollectTaskForClientAndUser(
|
||||
tx, newCollectTaskID(), p.GoodsID, p.URL, clientID, actor.UserID); err != nil {
|
||||
return result, err
|
||||
}
|
||||
result.Created = 1
|
||||
@@ -658,7 +658,7 @@ func RecollectPddProductForUser(db *sql.DB, actor *model.User, goodsID, clientID
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func createPddCollectTasks(db *sql.DB, goodsIDs []string, clientID, visibleUserID string) (CollectTaskResult, error) {
|
||||
func createPddCollectTasks(db *sql.DB, goodsIDs []string, clientID, visibleUserID, createdByUserID string) (CollectTaskResult, error) {
|
||||
var result CollectTaskResult
|
||||
|
||||
goodsIDs = dedupe(goodsIDs)
|
||||
@@ -725,8 +725,8 @@ func createPddCollectTasks(db *sql.DB, goodsIDs []string, clientID, visibleUserI
|
||||
continue
|
||||
}
|
||||
|
||||
if err := repository.InsertCollectTaskForClient(
|
||||
tx, newCollectTaskID(), p.GoodsID, p.URL, clientID); err != nil {
|
||||
if err := repository.InsertCollectTaskForClientAndUser(
|
||||
tx, newCollectTaskID(), p.GoodsID, p.URL, clientID, createdByUserID); err != nil {
|
||||
return CollectTaskResult{}, err
|
||||
}
|
||||
result.Created++
|
||||
|
||||
Reference in New Issue
Block a user