feat: PDD 批量采集支持可选客户端 (#74)
This commit is contained in:
+25
-13
@@ -28,6 +28,12 @@ func (h *Handler) PddList(c *gin.Context) {
|
||||
"读取 PDD 商品列表失败,数据没有被改动。刷新页面重试;一直失败请把这句话报给维护者。")
|
||||
return
|
||||
}
|
||||
assignableClients, err := service.ListAssignableClients(h.db, currentUser(c), h.onlineThreshold)
|
||||
if err != nil {
|
||||
fail(c, http.StatusInternalServerError,
|
||||
"读取可选客户端失败,数据没有被改动。刷新页面重试。")
|
||||
return
|
||||
}
|
||||
|
||||
// 底部状态条平时显示统计,刚做完操作时先显示操作结果。
|
||||
// 操作结果是通过跳转带过来的 msg 参数传的(见 pddRedirect)。
|
||||
@@ -49,16 +55,17 @@ func (h *Handler) PddList(c *gin.Context) {
|
||||
}
|
||||
detailValues.Set("page", strconv.Itoa(result.Page))
|
||||
c.HTML(http.StatusOK, "pdd/list", page(c, "pdd", "PDD 商品", gin.H{
|
||||
"Rows": result.Rows,
|
||||
"Keyword": keyword,
|
||||
"Status": statusLine,
|
||||
"StatusFilter": string(status),
|
||||
"StatusOptions": service.CollectStatusOptions(),
|
||||
"HasAnyProducts": result.Total > 0,
|
||||
"IsFiltered": result.IsFiltered,
|
||||
"CurrentPage": result.Page,
|
||||
"Pagination": service.NewPaginationView(result.Page, result.TotalPages, values.Encode()),
|
||||
"DetailURL": "/pdd/detail?" + detailValues.Encode(),
|
||||
"Rows": result.Rows,
|
||||
"Keyword": keyword,
|
||||
"Status": statusLine,
|
||||
"StatusFilter": string(status),
|
||||
"StatusOptions": service.CollectStatusOptions(),
|
||||
"HasAnyProducts": result.Total > 0,
|
||||
"IsFiltered": result.IsFiltered,
|
||||
"CurrentPage": result.Page,
|
||||
"Pagination": service.NewPaginationView(result.Page, result.TotalPages, values.Encode()),
|
||||
"DetailURL": "/pdd/detail?" + detailValues.Encode(),
|
||||
"AssignableClients": assignableClients,
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -131,10 +138,15 @@ func (h *Handler) PddCollect(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
result, err := service.CreatePddCollectTasks(h.db, ids)
|
||||
result, err := service.CreatePddCollectTasksForUser(h.db, currentUser(c), ids, c.PostForm("client_id"))
|
||||
if err != nil {
|
||||
fail(c, http.StatusInternalServerError,
|
||||
"创建采集任务失败:"+err.Error()+"。这一批任务整体没有创建,可以直接重试。")
|
||||
status := http.StatusInternalServerError
|
||||
message := "创建采集任务失败,系统没有改动这一批数据。请稍后重试。"
|
||||
if service.IsValidationError(err) {
|
||||
status = http.StatusBadRequest
|
||||
message = err.Error() + "。这一批任务整体没有创建,请重新选择。"
|
||||
}
|
||||
fail(c, status, message)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user