187 lines
5.7 KiB
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(),
|
|
// }
|
|
// }
|