feat: 任务改用采集采购独立序号 (#172)

This commit is contained in:
chengma
2026-08-12 09:21:21 +08:00
parent eca3a77084
commit 9ad067503e
15 changed files with 523 additions and 44 deletions
+9 -12
View File
@@ -647,8 +647,12 @@ func RecollectPddProductForUser(db *sql.DB, actor *model.User, goodsID, clientID
return result, nil
}
taskID, err := repository.NextTaskID(tx, model.TaskCollect)
if err != nil {
return result, err
}
if err := repository.InsertCollectTaskForClientAndUser(
tx, newCollectTaskID(), p.GoodsID, p.URL, clientID, actor.UserID); err != nil {
tx, taskID, p.GoodsID, p.URL, clientID, actor.UserID); err != nil {
return result, err
}
result.Created = 1
@@ -726,7 +730,10 @@ func createPddCollectTasks(db *sql.DB, goodsIDs []string, clientID, visibleUserI
continue
}
taskID := newCollectTaskID()
taskID, err := repository.NextTaskID(tx, model.TaskCollect)
if err != nil {
return CollectTaskResult{}, err
}
if err := repository.InsertCollectTaskForClientAndUser(
tx, taskID, p.GoodsID, p.URL, clientID, createdByUserID); err != nil {
return CollectTaskResult{}, err
@@ -808,16 +815,6 @@ func FormatCollectTaskMessage(r CollectTaskResult) string {
return msg
}
// newCollectTaskID 生成采集任务编号。
// 带 COL- 前缀是为了在日志和数据库里一眼认出这是采集任务而不是采购任务。
func newCollectTaskID() string {
id := newID()
if len(id) > 16 {
id = id[:16]
}
return "COL-" + id
}
// dedupe 去掉重复项并保持原有顺序,顺带丢掉空串。
func dedupe(values []string) []string {
seen := make(map[string]bool, len(values))