手动同步改为异步任务并前端轮询状态
This commit is contained in:
@@ -147,7 +147,7 @@ func (h *StockHandler) SyncStatus(c *gin.Context) {
|
||||
}
|
||||
|
||||
// TriggerSync 手动触发同步(管理员)。
|
||||
// 系统管理员点击时同步近半年历史数据,其他管理员只同步当天。
|
||||
// 系统管理员点击时异步同步近半年历史数据,其他管理员只同步当天。
|
||||
func (h *StockHandler) TriggerSync(c *gin.Context) {
|
||||
user, ok := middleware.GetCurrentUser(c)
|
||||
if !ok {
|
||||
@@ -155,18 +155,18 @@ func (h *StockHandler) TriggerSync(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
var count int
|
||||
var job *models.StockSyncJob
|
||||
var err error
|
||||
if user.Role == models.RoleSystemAdmin {
|
||||
count, err = h.Svc.SyncHistory(c.Request.Context(), "manual", 6)
|
||||
job, err = h.Svc.StartSyncHistory(c.Request.Context(), "manual", 6)
|
||||
} else {
|
||||
count, err = h.Svc.Sync(c.Request.Context(), "manual")
|
||||
job, err = h.Svc.StartSync(c.Request.Context(), "manual")
|
||||
}
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"success": false, "error": err.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{"success": true, "records_count": count})
|
||||
c.JSON(http.StatusOK, gin.H{"success": true, "job": job})
|
||||
}
|
||||
|
||||
type distributionRow struct {
|
||||
|
||||
Reference in New Issue
Block a user