mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
пофиксил неправильный пересчет фасовок в накладной
This commit is contained in:
@@ -97,10 +97,12 @@ func (bot *Bot) initMenus() {
|
||||
bot.menuServers = &tele.ReplyMarkup{}
|
||||
|
||||
bot.menuDicts = &tele.ReplyMarkup{}
|
||||
btnSync := bot.menuDicts.Data("⚡️ Обновить данные", "act_sync")
|
||||
btnSync := bot.menuDicts.Data("⚡️ Быстрое обновление", "act_sync")
|
||||
btnFullSync := bot.menuDicts.Data("♻️ Полная перезагрузка", "act_full_sync")
|
||||
btnBack := bot.menuDicts.Data("🔙 Назад", "nav_main")
|
||||
bot.menuDicts.Inline(
|
||||
bot.menuDicts.Row(btnSync),
|
||||
bot.menuDicts.Row(btnFullSync),
|
||||
bot.menuDicts.Row(btnBack),
|
||||
)
|
||||
|
||||
@@ -122,6 +124,7 @@ func (bot *Bot) initHandlers() {
|
||||
|
||||
bot.b.Handle(&tele.Btn{Unique: "act_add_server"}, bot.startAddServerFlow)
|
||||
bot.b.Handle(&tele.Btn{Unique: "act_sync"}, bot.triggerSync)
|
||||
bot.b.Handle(&tele.Btn{Unique: "act_full_sync"}, bot.triggerFullSync)
|
||||
bot.b.Handle(&tele.Btn{Unique: "act_del_server_menu"}, bot.renderDeleteServerMenu)
|
||||
bot.b.Handle(&tele.Btn{Unique: "confirm_name_yes"}, bot.handleConfirmNameYes)
|
||||
bot.b.Handle(&tele.Btn{Unique: "confirm_name_no"}, bot.handleConfirmNameNo)
|
||||
@@ -571,6 +574,26 @@ func (bot *Bot) NotifySuccess(userID uuid.UUID, amount float64, newBalance int,
|
||||
bot.b.Send(&tele.User{ID: user.TelegramID}, msg, tele.ModeHTML)
|
||||
}
|
||||
|
||||
func (bot *Bot) triggerFullSync(c tele.Context) error {
|
||||
userDB, _ := bot.accountRepo.GetUserByTelegramID(c.Sender().ID)
|
||||
server, _ := bot.accountRepo.GetActiveServer(userDB.ID)
|
||||
if server == nil {
|
||||
return c.Respond(&tele.CallbackResponse{Text: "Нет активного сервера"})
|
||||
}
|
||||
|
||||
c.Respond(&tele.CallbackResponse{Text: "Запущена полная перезагрузка данных...", ShowAlert: false})
|
||||
c.Send("⏳ <b>Полная синхронизация</b>\\nОбновляю историю накладных за 60 дней и справочники. Это может занять до 1 минуты.", tele.ModeHTML)
|
||||
|
||||
go func() {
|
||||
if err := bot.syncService.SyncAllData(userDB.ID, true); err != nil {
|
||||
bot.b.Send(c.Sender(), "❌ Ошибка при полной синхронизации: "+err.Error())
|
||||
} else {
|
||||
bot.b.Send(c.Sender(), "✅ Все данные успешно обновлены!")
|
||||
}
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (bot *Bot) handleBillingCallbacks(c tele.Context, data string, userDB *account.User) error {
|
||||
if data == "bill_topup" {
|
||||
return bot.renderTariffShowcase(c, "")
|
||||
@@ -670,7 +693,7 @@ func (bot *Bot) triggerSync(c tele.Context) error {
|
||||
}
|
||||
c.Respond(&tele.CallbackResponse{Text: "Запускаю синхронизацию..."})
|
||||
go func() {
|
||||
if err := bot.syncService.SyncAllData(userDB.ID); err != nil {
|
||||
if err := bot.syncService.SyncAllData(userDB.ID, false); err != nil {
|
||||
logger.Log.Error("Manual sync failed", zap.Error(err))
|
||||
bot.b.Send(c.Sender(), "❌ Ошибка синхронизации. Проверьте настройки сервера.")
|
||||
} else {
|
||||
@@ -867,7 +890,7 @@ func (bot *Bot) saveServerFinal(c tele.Context, userID int64, serverName string)
|
||||
successMsg += "Начинаю первичную синхронизацию данных..."
|
||||
|
||||
c.Send(successMsg, tele.ModeHTML)
|
||||
go bot.syncService.SyncAllData(userDB.ID)
|
||||
go bot.syncService.SyncAllData(userDB.ID, false)
|
||||
|
||||
return bot.renderMainMenu(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user