fix: more referral fixes

This commit is contained in:
Samuel Tariku 2025-09-09 19:19:35 +03:00
parent 38c3b13956
commit 3313c3833b
2 changed files with 3 additions and 66 deletions

View File

@ -154,11 +154,6 @@ func (s *Service) GetUserReferralCount(ctx context.Context, referrerID int64) (i
return count, nil
}
// func (s *Service) ProcessDepositBonus(ctx context.Context, userID int64, amount float32, companyID int64) error {
// settingsList, err := s.settingSvc.GetOverrideSettingsList(ctx, companyID)
// if err != nil {
@ -237,4 +232,3 @@ func (s *Service) GetUserReferralCount(ctx context.Context, referrerID int64) (i
// s.logger.Info("Bet referral processed successfully", "referrer ID", referral.ReferrerID, "referrerID", referral.ReferrerID, "bonus", bonus)
// return nil
// }

View File

@ -26,8 +26,9 @@ func (h *Handler) CreateReferralCode(c *fiber.Ctx) error {
)
return fiber.NewError(fiber.StatusInternalServerError, "Invalid user identification")
}
referralCode, err := h.referralSvc.CreateReferralCode(c.Context(), userID, companyID.Value);
if err := h.referralSvc.CreateReferral(c.Context(), userID, companyID.Value); err != nil {
if err != nil {
h.mongoLoggerSvc.Error("Failed to create referral",
zap.Int64("userID", userID),
zap.Int("status_code", fiber.StatusInternalServerError),
@ -38,65 +39,7 @@ func (h *Handler) CreateReferralCode(c *fiber.Ctx) error {
}
fmt.Printf("Successfully created referral!")
return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", nil, nil)
}
func (h *Handler) CreateReferralSettings(c *fiber.Ctx) error {
var req domain.ReferralSettingsReq
if err := c.BodyParser(&req); err != nil {
h.mongoLoggerSvc.Info("Failed to parse settings",
zap.Int("status_code", fiber.StatusBadRequest),
zap.Error(err),
zap.Time("timestamp", time.Now()),
)
return fiber.NewError(fiber.StatusBadRequest, "Invalid request body")
}
if valErrs, ok := h.validator.Validate(c, req); !ok {
var errMsg string
for field, msg := range valErrs {
errMsg += fmt.Sprintf("%s: %s; ", field, msg)
}
h.mongoLoggerSvc.Info("Failed to validate settings",
zap.String("errMsg", errMsg),
zap.Int("status_code", fiber.StatusBadRequest),
zap.Time("timestamp", time.Now()),
)
return fiber.NewError(fiber.StatusBadRequest, errMsg)
}
settings, err := h.referralSvc.GetReferralSettings(c.Context())
if err != nil {
h.mongoLoggerSvc.Error("Failed to fetch previous referral setting",
zap.Int("status_code", fiber.StatusInternalServerError),
zap.Error(err),
zap.Time("timestamp", time.Now()),
)
return fiber.NewError(fiber.StatusInternalServerError, "Failed to create referral")
}
// only allow one referral setting for now
// for future it can be multiple and be able to choose from them
if settings != nil {
h.mongoLoggerSvc.Error("referral setting already exists",
zap.Int("status_code", fiber.StatusInternalServerError),
zap.Error(err),
zap.Time("timestamp", time.Now()),
)
return fiber.NewError(fiber.StatusInternalServerError, "referral setting already exists")
}
if err := h.referralSvc.CreateReferralSettings(c.Context(), req); err != nil {
h.mongoLoggerSvc.Error("Failed to create referral setting",
zap.Int("status_code", fiber.StatusInternalServerError),
zap.Error(err),
zap.Time("timestamp", time.Now()),
)
return fiber.NewError(fiber.StatusInternalServerError, "Failed to create referral")
}
return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", nil, nil)
return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", referralCode, nil)
}
// func (h *Handler) GetReferralCode(c *fiber.Ctx) error {