722 lines
20 KiB
Go
722 lines
20 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: virtual_report.sql
|
|
|
|
package dbgen
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const CreateCompanyReport = `-- name: CreateCompanyReport :one
|
|
INSERT INTO virtual_game_company_reports (
|
|
company_id, provider_id,
|
|
report_date, report_type,
|
|
total_bet_amount, total_win_amount, created_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, NOW())
|
|
RETURNING id, company_id, provider_id, report_date, report_type, total_bet_amount, total_win_amount, net_profit, profit_margin, created_at, updated_at
|
|
`
|
|
|
|
type CreateCompanyReportParams struct {
|
|
CompanyID int64 `json:"company_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalBetAmount pgtype.Numeric `json:"total_bet_amount"`
|
|
TotalWinAmount pgtype.Numeric `json:"total_win_amount"`
|
|
}
|
|
|
|
func (q *Queries) CreateCompanyReport(ctx context.Context, arg CreateCompanyReportParams) (VirtualGameCompanyReport, error) {
|
|
row := q.db.QueryRow(ctx, CreateCompanyReport,
|
|
arg.CompanyID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalBetAmount,
|
|
arg.TotalWinAmount,
|
|
)
|
|
var i VirtualGameCompanyReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.CompanyID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetProfit,
|
|
&i.ProfitMargin,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const CreateFinancialReport = `-- name: CreateFinancialReport :one
|
|
INSERT INTO virtual_game_financial_reports (
|
|
game_id, provider_id, report_date, report_type,
|
|
total_bets, total_wins, created_at
|
|
) VALUES ($1, $2, $3, $4, $5, $6, NOW())
|
|
RETURNING id, game_id, provider_id, report_date, report_type, total_bets, total_wins, ggr, rtp, created_at, updated_at
|
|
`
|
|
|
|
type CreateFinancialReportParams struct {
|
|
GameID string `json:"game_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalBets pgtype.Numeric `json:"total_bets"`
|
|
TotalWins pgtype.Numeric `json:"total_wins"`
|
|
}
|
|
|
|
func (q *Queries) CreateFinancialReport(ctx context.Context, arg CreateFinancialReportParams) (VirtualGameFinancialReport, error) {
|
|
row := q.db.QueryRow(ctx, CreateFinancialReport,
|
|
arg.GameID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalBets,
|
|
arg.TotalWins,
|
|
)
|
|
var i VirtualGameFinancialReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.GameID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBets,
|
|
&i.TotalWins,
|
|
&i.Ggr,
|
|
&i.Rtp,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const CreatePlayerActivityReport = `-- name: CreatePlayerActivityReport :one
|
|
INSERT INTO virtual_game_player_activity_reports (
|
|
user_id, report_date, report_type,
|
|
total_deposits, total_withdrawals,
|
|
total_bet_amount, total_win_amount,
|
|
rounds_played, created_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, NOW())
|
|
RETURNING id, user_id, report_date, report_type, total_deposits, total_withdrawals, net_contribution, total_bet_amount, total_win_amount, net_result, rounds_played, avg_bet_size, created_at, updated_at
|
|
`
|
|
|
|
type CreatePlayerActivityReportParams struct {
|
|
UserID int64 `json:"user_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalDeposits pgtype.Numeric `json:"total_deposits"`
|
|
TotalWithdrawals pgtype.Numeric `json:"total_withdrawals"`
|
|
TotalBetAmount pgtype.Numeric `json:"total_bet_amount"`
|
|
TotalWinAmount pgtype.Numeric `json:"total_win_amount"`
|
|
RoundsPlayed pgtype.Int8 `json:"rounds_played"`
|
|
}
|
|
|
|
func (q *Queries) CreatePlayerActivityReport(ctx context.Context, arg CreatePlayerActivityReportParams) (VirtualGamePlayerActivityReport, error) {
|
|
row := q.db.QueryRow(ctx, CreatePlayerActivityReport,
|
|
arg.UserID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalDeposits,
|
|
arg.TotalWithdrawals,
|
|
arg.TotalBetAmount,
|
|
arg.TotalWinAmount,
|
|
arg.RoundsPlayed,
|
|
)
|
|
var i VirtualGamePlayerActivityReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalDeposits,
|
|
&i.TotalWithdrawals,
|
|
&i.NetContribution,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetResult,
|
|
&i.RoundsPlayed,
|
|
&i.AvgBetSize,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const DeleteFinancialReport = `-- name: DeleteFinancialReport :exec
|
|
DELETE FROM virtual_game_financial_reports
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) DeleteFinancialReport(ctx context.Context, id int64) error {
|
|
_, err := q.db.Exec(ctx, DeleteFinancialReport, id)
|
|
return err
|
|
}
|
|
|
|
const DeletePlayerActivityReport = `-- name: DeletePlayerActivityReport :exec
|
|
DELETE FROM virtual_game_player_activity_reports
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) DeletePlayerActivityReport(ctx context.Context, id int64) error {
|
|
_, err := q.db.Exec(ctx, DeletePlayerActivityReport, id)
|
|
return err
|
|
}
|
|
|
|
const GetCompanyProfitTrend = `-- name: GetCompanyProfitTrend :many
|
|
SELECT report_date, SUM(net_profit) AS total_profit
|
|
FROM virtual_game_company_reports
|
|
WHERE company_id = $1
|
|
AND provider_id = $2
|
|
AND report_date BETWEEN $3 AND $4
|
|
GROUP BY report_date
|
|
ORDER BY report_date
|
|
`
|
|
|
|
type GetCompanyProfitTrendParams struct {
|
|
CompanyID int64 `json:"company_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportDate_2 pgtype.Date `json:"report_date_2"`
|
|
}
|
|
|
|
type GetCompanyProfitTrendRow struct {
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
TotalProfit int64 `json:"total_profit"`
|
|
}
|
|
|
|
func (q *Queries) GetCompanyProfitTrend(ctx context.Context, arg GetCompanyProfitTrendParams) ([]GetCompanyProfitTrendRow, error) {
|
|
rows, err := q.db.Query(ctx, GetCompanyProfitTrend,
|
|
arg.CompanyID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportDate_2,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetCompanyProfitTrendRow
|
|
for rows.Next() {
|
|
var i GetCompanyProfitTrendRow
|
|
if err := rows.Scan(&i.ReportDate, &i.TotalProfit); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetCompanyReportByID = `-- name: GetCompanyReportByID :one
|
|
SELECT id, company_id, provider_id, report_date, report_type, total_bet_amount, total_win_amount, net_profit, profit_margin, created_at, updated_at FROM virtual_game_company_reports
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) GetCompanyReportByID(ctx context.Context, id int64) (VirtualGameCompanyReport, error) {
|
|
row := q.db.QueryRow(ctx, GetCompanyReportByID, id)
|
|
var i VirtualGameCompanyReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.CompanyID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetProfit,
|
|
&i.ProfitMargin,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetCompanyReportsInRange = `-- name: GetCompanyReportsInRange :many
|
|
SELECT id, company_id, provider_id, report_date, report_type, total_bet_amount, total_win_amount, net_profit, profit_margin, created_at, updated_at FROM virtual_game_company_reports
|
|
WHERE company_id = $1
|
|
AND provider_id = $2
|
|
AND report_date BETWEEN $3 AND $4
|
|
ORDER BY report_date
|
|
`
|
|
|
|
type GetCompanyReportsInRangeParams struct {
|
|
CompanyID int64 `json:"company_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportDate_2 pgtype.Date `json:"report_date_2"`
|
|
}
|
|
|
|
func (q *Queries) GetCompanyReportsInRange(ctx context.Context, arg GetCompanyReportsInRangeParams) ([]VirtualGameCompanyReport, error) {
|
|
rows, err := q.db.Query(ctx, GetCompanyReportsInRange,
|
|
arg.CompanyID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportDate_2,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []VirtualGameCompanyReport
|
|
for rows.Next() {
|
|
var i VirtualGameCompanyReport
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.CompanyID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetProfit,
|
|
&i.ProfitMargin,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetDailyFinancialReports = `-- name: GetDailyFinancialReports :many
|
|
SELECT id, game_id, provider_id, report_date, report_type, total_bets, total_wins, ggr, rtp, created_at, updated_at FROM virtual_game_financial_reports
|
|
WHERE report_date = $1
|
|
AND report_type = 'daily'
|
|
`
|
|
|
|
func (q *Queries) GetDailyFinancialReports(ctx context.Context, reportDate pgtype.Date) ([]VirtualGameFinancialReport, error) {
|
|
rows, err := q.db.Query(ctx, GetDailyFinancialReports, reportDate)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []VirtualGameFinancialReport
|
|
for rows.Next() {
|
|
var i VirtualGameFinancialReport
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.GameID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBets,
|
|
&i.TotalWins,
|
|
&i.Ggr,
|
|
&i.Rtp,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetFinancialReportByID = `-- name: GetFinancialReportByID :one
|
|
SELECT id, game_id, provider_id, report_date, report_type, total_bets, total_wins, ggr, rtp, created_at, updated_at FROM virtual_game_financial_reports
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) GetFinancialReportByID(ctx context.Context, id int64) (VirtualGameFinancialReport, error) {
|
|
row := q.db.QueryRow(ctx, GetFinancialReportByID, id)
|
|
var i VirtualGameFinancialReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.GameID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBets,
|
|
&i.TotalWins,
|
|
&i.Ggr,
|
|
&i.Rtp,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetFinancialReportsForGame = `-- name: GetFinancialReportsForGame :many
|
|
SELECT id, game_id, provider_id, report_date, report_type, total_bets, total_wins, ggr, rtp, created_at, updated_at FROM virtual_game_financial_reports
|
|
WHERE game_id = $1
|
|
AND provider_id = $2
|
|
AND report_date BETWEEN $3 AND $4
|
|
ORDER BY report_date
|
|
`
|
|
|
|
type GetFinancialReportsForGameParams struct {
|
|
GameID string `json:"game_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportDate_2 pgtype.Date `json:"report_date_2"`
|
|
}
|
|
|
|
func (q *Queries) GetFinancialReportsForGame(ctx context.Context, arg GetFinancialReportsForGameParams) ([]VirtualGameFinancialReport, error) {
|
|
rows, err := q.db.Query(ctx, GetFinancialReportsForGame,
|
|
arg.GameID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportDate_2,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []VirtualGameFinancialReport
|
|
for rows.Next() {
|
|
var i VirtualGameFinancialReport
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.GameID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBets,
|
|
&i.TotalWins,
|
|
&i.Ggr,
|
|
&i.Rtp,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetPlayerActivityByDate = `-- name: GetPlayerActivityByDate :one
|
|
SELECT id, user_id, report_date, report_type, total_deposits, total_withdrawals, net_contribution, total_bet_amount, total_win_amount, net_result, rounds_played, avg_bet_size, created_at, updated_at FROM virtual_game_player_activity_reports
|
|
WHERE user_id = $1
|
|
AND report_date = $2
|
|
AND report_type = $3
|
|
`
|
|
|
|
type GetPlayerActivityByDateParams struct {
|
|
UserID int64 `json:"user_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
}
|
|
|
|
func (q *Queries) GetPlayerActivityByDate(ctx context.Context, arg GetPlayerActivityByDateParams) (VirtualGamePlayerActivityReport, error) {
|
|
row := q.db.QueryRow(ctx, GetPlayerActivityByDate, arg.UserID, arg.ReportDate, arg.ReportType)
|
|
var i VirtualGamePlayerActivityReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalDeposits,
|
|
&i.TotalWithdrawals,
|
|
&i.NetContribution,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetResult,
|
|
&i.RoundsPlayed,
|
|
&i.AvgBetSize,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetPlayerActivityByID = `-- name: GetPlayerActivityByID :one
|
|
SELECT id, user_id, report_date, report_type, total_deposits, total_withdrawals, net_contribution, total_bet_amount, total_win_amount, net_result, rounds_played, avg_bet_size, created_at, updated_at FROM virtual_game_player_activity_reports
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) GetPlayerActivityByID(ctx context.Context, id int64) (VirtualGamePlayerActivityReport, error) {
|
|
row := q.db.QueryRow(ctx, GetPlayerActivityByID, id)
|
|
var i VirtualGamePlayerActivityReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalDeposits,
|
|
&i.TotalWithdrawals,
|
|
&i.NetContribution,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetResult,
|
|
&i.RoundsPlayed,
|
|
&i.AvgBetSize,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetPlayerActivityRange = `-- name: GetPlayerActivityRange :many
|
|
SELECT id, user_id, report_date, report_type, total_deposits, total_withdrawals, net_contribution, total_bet_amount, total_win_amount, net_result, rounds_played, avg_bet_size, created_at, updated_at FROM virtual_game_player_activity_reports
|
|
WHERE user_id = $1
|
|
AND report_date BETWEEN $2 AND $3
|
|
ORDER BY report_date
|
|
`
|
|
|
|
type GetPlayerActivityRangeParams struct {
|
|
UserID int64 `json:"user_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportDate_2 pgtype.Date `json:"report_date_2"`
|
|
}
|
|
|
|
func (q *Queries) GetPlayerActivityRange(ctx context.Context, arg GetPlayerActivityRangeParams) ([]VirtualGamePlayerActivityReport, error) {
|
|
rows, err := q.db.Query(ctx, GetPlayerActivityRange, arg.UserID, arg.ReportDate, arg.ReportDate_2)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []VirtualGamePlayerActivityReport
|
|
for rows.Next() {
|
|
var i VirtualGamePlayerActivityReport
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalDeposits,
|
|
&i.TotalWithdrawals,
|
|
&i.NetContribution,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetResult,
|
|
&i.RoundsPlayed,
|
|
&i.AvgBetSize,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetTopPlayersByNetResult = `-- name: GetTopPlayersByNetResult :many
|
|
SELECT user_id, SUM(net_result) AS total_net
|
|
FROM virtual_game_player_activity_reports
|
|
WHERE report_date BETWEEN $1 AND $2
|
|
GROUP BY user_id
|
|
ORDER BY total_net DESC
|
|
LIMIT $3
|
|
`
|
|
|
|
type GetTopPlayersByNetResultParams struct {
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportDate_2 pgtype.Date `json:"report_date_2"`
|
|
Limit int32 `json:"limit"`
|
|
}
|
|
|
|
type GetTopPlayersByNetResultRow struct {
|
|
UserID int64 `json:"user_id"`
|
|
TotalNet int64 `json:"total_net"`
|
|
}
|
|
|
|
func (q *Queries) GetTopPlayersByNetResult(ctx context.Context, arg GetTopPlayersByNetResultParams) ([]GetTopPlayersByNetResultRow, error) {
|
|
rows, err := q.db.Query(ctx, GetTopPlayersByNetResult, arg.ReportDate, arg.ReportDate_2, arg.Limit)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetTopPlayersByNetResultRow
|
|
for rows.Next() {
|
|
var i GetTopPlayersByNetResultRow
|
|
if err := rows.Scan(&i.UserID, &i.TotalNet); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const UpsertCompanyReport = `-- name: UpsertCompanyReport :one
|
|
INSERT INTO virtual_game_company_reports (
|
|
company_id, provider_id,
|
|
report_date, report_type,
|
|
total_bet_amount, total_win_amount,
|
|
created_at, updated_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, NOW(), NOW())
|
|
ON CONFLICT (company_id, provider_id, report_date, report_type)
|
|
DO UPDATE SET
|
|
total_bet_amount = EXCLUDED.total_bet_amount,
|
|
total_win_amount = EXCLUDED.total_win_amount,
|
|
updated_at = NOW()
|
|
RETURNING id, company_id, provider_id, report_date, report_type, total_bet_amount, total_win_amount, net_profit, profit_margin, created_at, updated_at
|
|
`
|
|
|
|
type UpsertCompanyReportParams struct {
|
|
CompanyID int64 `json:"company_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalBetAmount pgtype.Numeric `json:"total_bet_amount"`
|
|
TotalWinAmount pgtype.Numeric `json:"total_win_amount"`
|
|
}
|
|
|
|
func (q *Queries) UpsertCompanyReport(ctx context.Context, arg UpsertCompanyReportParams) (VirtualGameCompanyReport, error) {
|
|
row := q.db.QueryRow(ctx, UpsertCompanyReport,
|
|
arg.CompanyID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalBetAmount,
|
|
arg.TotalWinAmount,
|
|
)
|
|
var i VirtualGameCompanyReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.CompanyID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetProfit,
|
|
&i.ProfitMargin,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const UpsertFinancialReport = `-- name: UpsertFinancialReport :one
|
|
INSERT INTO virtual_game_financial_reports (
|
|
game_id, provider_id, report_date, report_type,
|
|
total_bets, total_wins, created_at, updated_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, NOW(), NOW())
|
|
ON CONFLICT (game_id, provider_id, report_date, report_type)
|
|
DO UPDATE SET
|
|
total_bets = EXCLUDED.total_bets,
|
|
total_wins = EXCLUDED.total_wins,
|
|
updated_at = NOW()
|
|
RETURNING id, game_id, provider_id, report_date, report_type, total_bets, total_wins, ggr, rtp, created_at, updated_at
|
|
`
|
|
|
|
type UpsertFinancialReportParams struct {
|
|
GameID string `json:"game_id"`
|
|
ProviderID string `json:"provider_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalBets pgtype.Numeric `json:"total_bets"`
|
|
TotalWins pgtype.Numeric `json:"total_wins"`
|
|
}
|
|
|
|
func (q *Queries) UpsertFinancialReport(ctx context.Context, arg UpsertFinancialReportParams) (VirtualGameFinancialReport, error) {
|
|
row := q.db.QueryRow(ctx, UpsertFinancialReport,
|
|
arg.GameID,
|
|
arg.ProviderID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalBets,
|
|
arg.TotalWins,
|
|
)
|
|
var i VirtualGameFinancialReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.GameID,
|
|
&i.ProviderID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalBets,
|
|
&i.TotalWins,
|
|
&i.Ggr,
|
|
&i.Rtp,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const UpsertPlayerActivityReport = `-- name: UpsertPlayerActivityReport :one
|
|
INSERT INTO virtual_game_player_activity_reports (
|
|
user_id, report_date, report_type,
|
|
total_deposits, total_withdrawals,
|
|
total_bet_amount, total_win_amount,
|
|
rounds_played, created_at, updated_at
|
|
)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, NOW(), NOW())
|
|
ON CONFLICT (user_id, report_date, report_type)
|
|
DO UPDATE SET
|
|
total_deposits = EXCLUDED.total_deposits,
|
|
total_withdrawals = EXCLUDED.total_withdrawals,
|
|
total_bet_amount = EXCLUDED.total_bet_amount,
|
|
total_win_amount = EXCLUDED.total_win_amount,
|
|
rounds_played = EXCLUDED.rounds_played,
|
|
updated_at = NOW()
|
|
RETURNING id, user_id, report_date, report_type, total_deposits, total_withdrawals, net_contribution, total_bet_amount, total_win_amount, net_result, rounds_played, avg_bet_size, created_at, updated_at
|
|
`
|
|
|
|
type UpsertPlayerActivityReportParams struct {
|
|
UserID int64 `json:"user_id"`
|
|
ReportDate pgtype.Date `json:"report_date"`
|
|
ReportType string `json:"report_type"`
|
|
TotalDeposits pgtype.Numeric `json:"total_deposits"`
|
|
TotalWithdrawals pgtype.Numeric `json:"total_withdrawals"`
|
|
TotalBetAmount pgtype.Numeric `json:"total_bet_amount"`
|
|
TotalWinAmount pgtype.Numeric `json:"total_win_amount"`
|
|
RoundsPlayed pgtype.Int8 `json:"rounds_played"`
|
|
}
|
|
|
|
func (q *Queries) UpsertPlayerActivityReport(ctx context.Context, arg UpsertPlayerActivityReportParams) (VirtualGamePlayerActivityReport, error) {
|
|
row := q.db.QueryRow(ctx, UpsertPlayerActivityReport,
|
|
arg.UserID,
|
|
arg.ReportDate,
|
|
arg.ReportType,
|
|
arg.TotalDeposits,
|
|
arg.TotalWithdrawals,
|
|
arg.TotalBetAmount,
|
|
arg.TotalWinAmount,
|
|
arg.RoundsPlayed,
|
|
)
|
|
var i VirtualGamePlayerActivityReport
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ReportDate,
|
|
&i.ReportType,
|
|
&i.TotalDeposits,
|
|
&i.TotalWithdrawals,
|
|
&i.NetContribution,
|
|
&i.TotalBetAmount,
|
|
&i.TotalWinAmount,
|
|
&i.NetResult,
|
|
&i.RoundsPlayed,
|
|
&i.AvgBetSize,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|