Yimaru-BackEnd/internal/domain/referal.go

187 lines
5.7 KiB
Go

package domain
// import (
// "time"
// dbgen "Yimaru-Backend/gen/db"
// )
// type ReferralCode struct {
// ID int64
// ReferrerID int64
// ReferralCode string
// CompanyID int64
// NumberOfReferrals int64
// RewardAmount Currency
// CreatedAt time.Time
// UpdatedAt time.Time
// }
// type ReferralCodeRes struct {
// ID int64 `json:"id"`
// ReferrerID int64 `json:"referrer_id"`
// ReferralCode string `json:"referral_code"`
// CompanyID int64 `json:"company_id"`
// NumberOfReferrals int64 `json:"number_of_referrals"`
// RewardAmount float32 `json:"reward_amount"`
// CreatedAt time.Time `json:"created_at"`
// UpdatedAt time.Time `json:"updated_at"`
// }
// type CreateReferralCode struct {
// ReferrerID int64
// ReferralCode string
// CompanyID int64
// NumberOfReferrals int64
// RewardAmount Currency
// }
// type UserReferral struct {
// ReferredID int64
// ReferralCodeID int64
// }
// type CreateUserReferrals struct {
// ReferredID int64
// ReferralCodeID int64
// }
// type UpdateReferralCode struct {
// ID int64
// IsActive bool
// ReferralCode string
// RewardAmount Currency
// NumberOfReferrals int64
// }
// type ReferralStats struct {
// TotalReferrals int64
// TotalRewardEarned Currency
// }
// type ReferralStatsRes struct {
// TotalReferrals int64 `json:"total_referrals"`
// TotalRewardEarned float32 `json:"total_reward_earned"`
// }
// // type ReferralSettings struct {
// // ID int64
// // ReferralRewardAmount float64
// // CashbackPercentage float64
// // BetReferralBonusPercentage float64
// // MaxReferrals int32
// // ExpiresAfterDays int32
// // UpdatedBy string
// // CreatedAt time.Time
// // UpdatedAt time.Time
// // Version int32
// // }
// // type ReferralSettingsReq struct {
// // ReferralRewardAmount float64 `json:"referral_reward_amount" validate:"required"`
// // CashbackPercentage float64 `json:"cashback_percentage" validate:"required"`
// // MaxReferrals int32 `json:"max_referrals" validate:"required"`
// // UpdatedBy string `json:"updated_by" validate:"required"`
// // }
// func ConvertCreateReferralCode(code CreateReferralCode) dbgen.CreateReferralCodeParams {
// return dbgen.CreateReferralCodeParams{
// ReferralCode: code.ReferralCode,
// ReferrerID: code.ReferrerID,
// CompanyID: code.CompanyID,
// NumberOfReferrals: code.NumberOfReferrals,
// RewardAmount: int64(code.RewardAmount),
// }
// }
// func ConvertDBReferralCode(code dbgen.ReferralCode) ReferralCode {
// return ReferralCode{
// ID: code.ID,
// ReferrerID: code.ReferrerID,
// ReferralCode: code.ReferralCode,
// NumberOfReferrals: code.NumberOfReferrals,
// RewardAmount: Currency(code.RewardAmount),
// CompanyID: code.CompanyID,
// CreatedAt: code.CreatedAt.Time,
// UpdatedAt: code.UpdatedAt.Time,
// }
// }
// func ConvertDBReferralCodes(codes []dbgen.ReferralCode) []ReferralCode {
// result := make([]ReferralCode, len(codes))
// for i, code := range codes {
// result[i] = ConvertDBReferralCode(code)
// }
// return result
// }
// func ConvertCreateUserReferral(referral CreateUserReferrals) dbgen.CreateUserReferralParams {
// return dbgen.CreateUserReferralParams{
// ReferredID: referral.ReferredID,
// ReferralCodeID: referral.ReferralCodeID,
// }
// }
// func ConvertDBUserReferral(referral dbgen.UserReferral) UserReferral {
// return UserReferral{
// ReferredID: referral.ReferredID,
// ReferralCodeID: referral.ReferralCodeID,
// }
// }
// func ConvertDBUserReferrals(referrals []dbgen.UserReferral) []UserReferral {
// result := make([]UserReferral, len(referrals))
// for i, referral := range referrals {
// result[i] = ConvertDBUserReferral(referral)
// }
// return result
// }
// func ConvertUpdateReferralCode(referralCode UpdateReferralCode) dbgen.UpdateReferralCodeParams {
// return dbgen.UpdateReferralCodeParams{
// ID: referralCode.ID,
// IsActive: referralCode.IsActive,
// ReferralCode: referralCode.ReferralCode,
// NumberOfReferrals: referralCode.NumberOfReferrals,
// RewardAmount: int64(referralCode.RewardAmount),
// }
// }
// func ConvertDBReferralStats(stats dbgen.GetReferralStatsRow) ReferralStats {
// return ReferralStats{
// TotalReferrals: stats.TotalReferrals,
// TotalRewardEarned: Currency(stats.TotalRewardEarned),
// }
// }
// func ConvertReferralCodeRes(referral ReferralCode) ReferralCodeRes {
// return ReferralCodeRes{
// ID: referral.ID,
// ReferrerID: referral.ReferrerID,
// ReferralCode: referral.ReferralCode,
// CompanyID: referral.CompanyID,
// NumberOfReferrals: referral.NumberOfReferrals,
// RewardAmount: referral.RewardAmount.Float32(),
// CreatedAt: referral.CreatedAt,
// UpdatedAt: referral.UpdatedAt,
// }
// }
// func ConvertReferralCodeResList(referrals []ReferralCode) []ReferralCodeRes {
// result := make([]ReferralCodeRes, len(referrals))
// for i, referral := range referrals {
// result[i] = ConvertReferralCodeRes(referral)
// }
// return result
// }
// func ConvertReferralStatsRes(stats ReferralStats) ReferralStatsRes {
// return ReferralStatsRes{
// TotalReferrals: stats.TotalReferrals,
// TotalRewardEarned: stats.TotalRewardEarned.Float32(),
// }
// }