feat: complete charge

This commit is contained in:
Rogee
2024-12-10 14:50:50 +08:00
parent e3ef31037c
commit db0eacbc46
12 changed files with 431 additions and 64 deletions

View File

@@ -4,3 +4,6 @@ types:
oauth: backend/pkg/pg.UserOAuth
medias:
resources: backend/pkg/pg.MediaResources
user_balance_histories:
target: backend/pkg/pg.BalanceTarget
type: backend/pkg/pg.BalanceType

View File

@@ -50,10 +50,12 @@ CREATE TABLE user_balance_histories (
balance INT8 NOT NULL,
target jsonb default '{}'::jsonb,
type VARCHAR(128) NOT NULL, -- charge, consume, refund
code VARCHAR(128) NOT NULL default '',
created_at timestamp NOT NULL default now()
);
CREATE INDEX idx_user_balance_histories_user_id ON user_balance_histories (user_id);
CREATE INDEX idx_user_balance_histories_tenant_id ON user_balance_histories (tenant_id);
CREATE INDEX idx_user_balance_histories_code ON user_balance_histories (code);
-- medias
CREATE TABLE
@@ -95,7 +97,6 @@ CREATE INDEX idx_user_medias_tenant_id ON user_medias (tenant_id);
DROP TABLE users;
DROP TABLE tenants;
DROP TABLE users_tenants;
DROP TABLE tenant_user_balances;
DROP TABLE user_balance_histories;
DROP TABLE medias;
DROP TABLE user_medias;

View File

@@ -8,15 +8,17 @@
package model
import (
"backend/pkg/pg"
"time"
)
type UserBalanceHistories struct {
ID int64 `sql:"primary_key" json:"id"`
UserID int64 `json:"user_id"`
TenantID int64 `json:"tenant_id"`
Balance int64 `json:"balance"`
Target *string `json:"target"`
Type string `json:"type"`
CreatedAt time.Time `json:"created_at"`
ID int64 `sql:"primary_key" json:"id"`
UserID int64 `json:"user_id"`
TenantID int64 `json:"tenant_id"`
Balance int64 `json:"balance"`
Target pg.BalanceTarget `json:"target"`
Type pg.BalanceType `json:"type"`
Code string `json:"code"`
CreatedAt time.Time `json:"created_at"`
}

View File

@@ -23,6 +23,7 @@ type userBalanceHistoriesTable struct {
Balance postgres.ColumnInteger
Target postgres.ColumnString
Type postgres.ColumnString
Code postgres.ColumnString
CreatedAt postgres.ColumnTimestamp
AllColumns postgres.ColumnList
@@ -70,9 +71,10 @@ func newUserBalanceHistoriesTableImpl(schemaName, tableName, alias string) userB
BalanceColumn = postgres.IntegerColumn("balance")
TargetColumn = postgres.StringColumn("target")
TypeColumn = postgres.StringColumn("type")
CodeColumn = postgres.StringColumn("code")
CreatedAtColumn = postgres.TimestampColumn("created_at")
allColumns = postgres.ColumnList{IDColumn, UserIDColumn, TenantIDColumn, BalanceColumn, TargetColumn, TypeColumn, CreatedAtColumn}
mutableColumns = postgres.ColumnList{UserIDColumn, TenantIDColumn, BalanceColumn, TargetColumn, TypeColumn, CreatedAtColumn}
allColumns = postgres.ColumnList{IDColumn, UserIDColumn, TenantIDColumn, BalanceColumn, TargetColumn, TypeColumn, CodeColumn, CreatedAtColumn}
mutableColumns = postgres.ColumnList{UserIDColumn, TenantIDColumn, BalanceColumn, TargetColumn, TypeColumn, CodeColumn, CreatedAtColumn}
)
return userBalanceHistoriesTable{
@@ -85,6 +87,7 @@ func newUserBalanceHistoriesTableImpl(schemaName, tableName, alias string) userB
Balance: BalanceColumn,
Target: TargetColumn,
Type: TypeColumn,
Code: CodeColumn,
CreatedAt: CreatedAtColumn,
AllColumns: allColumns,