feat: синхронизировать книги партномеров вместе с прайслистами
PullPartnumberBooks вызывается автоматически после каждой синхронизации прайслистов — в фоновом воркере, при ручном триггере /api/sync/pricelists и при полной синхронизации /api/sync/all. Отдельная кнопка «Синхронизировать» на странице Партномера удалена. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
d204e337b5
commit
0fc0366bb1
@@ -232,6 +232,10 @@ func (h *SyncHandler) SyncPricelists(c *gin.Context) {
|
||||
}
|
||||
h.localDB.AppendSyncLog("pricelists", "ok", "", synced, startTime, time.Since(startTime).Milliseconds())
|
||||
|
||||
if _, err := h.syncService.PullPartnumberBooks(); err != nil {
|
||||
slog.Warn("partnumber books pull failed after pricelist sync", "error", err)
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, SyncResultResponse{
|
||||
Success: true,
|
||||
Message: "Pricelists synced successfully",
|
||||
@@ -352,6 +356,10 @@ func (h *SyncHandler) SyncAll(c *gin.Context) {
|
||||
}
|
||||
h.localDB.AppendSyncLog("pricelists", "ok", "", pricelistsSynced, plNow, time.Since(plNow).Milliseconds())
|
||||
|
||||
if _, err := h.syncService.PullPartnumberBooks(); err != nil {
|
||||
slog.Warn("partnumber books pull failed during full sync", "error", err)
|
||||
}
|
||||
|
||||
projectsResult, err := h.syncService.ImportProjectsToLocal()
|
||||
if err != nil {
|
||||
slog.Error("project import failed during full sync", "error", err)
|
||||
|
||||
@@ -100,5 +100,10 @@ func (w *Worker) runSync() {
|
||||
return
|
||||
}
|
||||
|
||||
// Pull partnumber books together with pricelists
|
||||
if _, err := w.service.PullPartnumberBooks(); err != nil {
|
||||
w.logger.Warn("background sync: failed to pull partnumber books", "error", err)
|
||||
}
|
||||
|
||||
w.logger.Info("background sync cycle completed")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user