From ceb1c681749f375f50fd724cbf9d078be95f794f Mon Sep 17 00:00:00 2001 From: Amirmahdi Nourkazemi Date: Fri, 10 Jul 2026 01:27:24 +0330 Subject: [PATCH] feat: slected after buy --- internal/economy/avatar.go | 5 +++++ internal/economy/carpet.go | 5 +++++ internal/economy/economy.go | 5 +++++ internal/economy/frame.go | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/internal/economy/avatar.go b/internal/economy/avatar.go index 1f8f3d6..196554c 100644 --- a/internal/economy/avatar.go +++ b/internal/economy/avatar.go @@ -99,6 +99,11 @@ func (s *Service) BuyAvatar(ctx context.Context, userID int64, avatarID string) `INSERT INTO user_avatars (user_id, avatar_id) VALUES (?, ?)`, userID, avatarID); err != nil { return err } + // خرید = مالکیت + انتخابِ خودکار. + if _, err := tx.ExecContext(ctx, + `UPDATE users SET selected_avatar = ? WHERE id = ?`, avatarID, userID); err != nil { + return err + } return tx.Commit() } diff --git a/internal/economy/carpet.go b/internal/economy/carpet.go index 97edbda..fa6d399 100644 --- a/internal/economy/carpet.go +++ b/internal/economy/carpet.go @@ -99,6 +99,11 @@ func (s *Service) BuyCarpet(ctx context.Context, userID int64, carpetID string) `INSERT INTO user_carpets (user_id, carpet_id) VALUES (?, ?)`, userID, carpetID); err != nil { return err } + // خرید = مالکیت + انتخابِ خودکار. + if _, err := tx.ExecContext(ctx, + `UPDATE users SET selected_carpet = ? WHERE id = ?`, carpetID, userID); err != nil { + return err + } return tx.Commit() } diff --git a/internal/economy/economy.go b/internal/economy/economy.go index ed13b28..05848a2 100644 --- a/internal/economy/economy.go +++ b/internal/economy/economy.go @@ -274,6 +274,11 @@ func (s *Service) BuyCard(ctx context.Context, userID int64, cardID string) erro `INSERT INTO user_cards (user_id, card_id) VALUES (?, ?)`, userID, cardID); err != nil { return err } + // خرید = مالکیت + انتخابِ خودکار (به‌عنوانِ پیش‌فرض فعال شود). + if _, err := tx.ExecContext(ctx, + `UPDATE users SET selected_card = ? WHERE id = ?`, cardID, userID); err != nil { + return err + } return tx.Commit() } diff --git a/internal/economy/frame.go b/internal/economy/frame.go index b11d276..c5264a8 100644 --- a/internal/economy/frame.go +++ b/internal/economy/frame.go @@ -124,6 +124,11 @@ func (s *Service) BuyFrame(ctx context.Context, userID int64, frameID string) er `INSERT INTO user_frames (user_id, frame_id) VALUES (?, ?)`, userID, frameID); err != nil { return err } + // خرید = مالکیت + انتخابِ خودکار. + if _, err := tx.ExecContext(ctx, + `UPDATE users SET selected_frame = ? WHERE id = ?`, frameID, userID); err != nil { + return err + } return tx.Commit() }