Documentation
¶
Index ¶
- Constants
- func ExpirableTypes() []int
- type Balance
- type Commission
- type FilterParams
- type Gift
- type Login
- type Message
- type OrderCreated
- type Register
- type ResetSubscribe
- type ServerTraffic
- type ServerTrafficRank
- type Subscribe
- type SystemLog
- type Traffic
- type TrafficStat
- type Type
- type UserTraffic
- type UserTrafficRank
Constants ¶
const ( ResetSubscribeTypeAuto uint16 = 231 // Auto reset ResetSubscribeTypeAdvance uint16 = 232 // Advance reset ResetSubscribeTypePaid uint16 = 233 // Paid reset ResetSubscribeTypeQuota uint16 = 234 // Quota reset BalanceTypeRecharge uint16 = 321 // Recharge BalanceTypeWithdraw uint16 = 322 // Withdraw BalanceTypePayment uint16 = 323 // Payment BalanceTypeRefund uint16 = 324 // Refund BalanceTypeAdjust uint16 = 326 // Admin Adjust BalanceTypeReward uint16 = 325 // Reward CommissionTypePurchase uint16 = 331 // Purchase CommissionTypeRenewal uint16 = 332 // Renewal CommissionTypeRefund uint16 = 333 // Refund CommissionTypeWithdraw uint16 = 334 // withdraw CommissionTypeAdjust uint16 = 335 // Admin Adjust CommissionTypeConvertBalance uint16 = 336 // Convert to Balance GiftTypeIncrease uint16 = 341 // Increase GiftTypeReduce uint16 = 342 // Reduce )
Variables ¶
This section is empty.
Functions ¶
func ExpirableTypes ¶ added in v1.19.0
func ExpirableTypes() []int
ExpirableTypes returns the operational log classes that may be removed by the configured retention policy. Financial logs are deliberately absent: balance, commission and gift entries are durable ledgers and are also used by business queries, so treating them as disposable logs corrupts history. Keep this as an allowlist so newly-added log types are retained by default.
Types ¶
type Balance ¶
type Balance struct {
requestmeta.Metadata
Type uint16 `json:"type"`
Amount int64 `json:"amount"`
OrderNo string `json:"order_no,omitempty"`
Balance int64 `json:"balance"`
Timestamp int64 `json:"timestamp"`
}
Balance represents a balance log entry.
type Commission ¶
type Commission struct {
requestmeta.Metadata
Type uint16 `json:"type"`
Amount int64 `json:"amount"`
OrderNo string `json:"order_no"`
Timestamp int64 `json:"timestamp"`
}
Commission represents a commission log entry.
func (*Commission) Marshal ¶
func (c *Commission) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for Commission.
func (*Commission) Unmarshal ¶
func (c *Commission) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for Commission.
type FilterParams ¶
type FilterParams struct {
Page int
Size int
Type uint8
Data string
Search string
ObjectID int64
SkipCount bool // when true, skip the COUNT(*) query (total will be 0)
}
FilterParams log 列表查询过滤条件
type Gift ¶
type Gift struct {
requestmeta.Metadata
Type uint16 `json:"type"`
OrderNo string `json:"order_no"`
SubscribeId int64 `json:"subscribe_id"`
Amount int64 `json:"amount"`
Balance int64 `json:"balance"`
Remark string `json:"remark,omitempty"`
Timestamp int64 `json:"timestamp"`
}
Gift represents a gift log entry.
type Login ¶
type Login struct {
requestmeta.IPMetadata
Method string `json:"method"`
LoginIP string `json:"login_ip"`
UserAgent string `json:"user_agent"`
Success bool `json:"success"`
Timestamp int64 `json:"timestamp"`
ActorID int64 `json:"actor_id,omitempty"`
}
Login represents a login log entry.
type Message ¶
type Message struct {
requestmeta.Metadata
To string `json:"to"`
Subject string `json:"subject,omitempty"`
Content map[string]interface{} `json:"content"`
Platform string `json:"platform"`
Template string `json:"template"`
Status uint8 `json:"status"` // 0: Attempt started, 1: Sent, 2: Failed
}
Message represents a message log entry.
type OrderCreated ¶ added in v1.20.1
type OrderCreated struct {
requestmeta.Metadata
OrderNo string `json:"order_no"`
OrderType uint8 `json:"order_type"`
Quantity int64 `json:"quantity"`
Price int64 `json:"price"`
Amount int64 `json:"amount"`
GiftAmount int64 `json:"gift_amount"`
Discount int64 `json:"discount"`
CouponDiscount int64 `json:"coupon_discount"`
PaymentID int64 `json:"payment_id"`
Method string `json:"method"`
FeeAmount int64 `json:"fee_amount"`
SubscribeID int64 `json:"subscribe_id,omitempty"`
Source string `json:"source"`
Timestamp int64 `json:"timestamp"`
}
OrderCreated represents a durable order-creation audit entry. It contains only the order summary needed for operations and risk analysis; coupon codes, gateway trade numbers and guest credentials are deliberately absent.
func (*OrderCreated) Marshal ¶ added in v1.20.1
func (o *OrderCreated) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for OrderCreated.
func (*OrderCreated) Unmarshal ¶ added in v1.20.1
func (o *OrderCreated) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for OrderCreated.
type Register ¶
type Register struct {
requestmeta.IPMetadata
AuthMethod string `json:"auth_method"`
Identifier string `json:"identifier"`
RegisterIP string `json:"register_ip"`
UserAgent string `json:"user_agent"`
Timestamp int64 `json:"timestamp"`
ActorID int64 `json:"actor_id,omitempty"`
}
Register represents a registration log entry.
type ResetSubscribe ¶
type ResetSubscribe struct {
requestmeta.Metadata
Type uint16 `json:"type"`
UserId int64 `json:"user_id"`
OrderNo string `json:"order_no,omitempty"`
Timestamp int64 `json:"timestamp"`
}
ResetSubscribe represents a reset subscription log entry.
func (*ResetSubscribe) Marshal ¶
func (r *ResetSubscribe) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for ResetSubscribe.
func (*ResetSubscribe) Unmarshal ¶
func (r *ResetSubscribe) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for ResetSubscribe.
type ServerTraffic ¶
type ServerTraffic struct {
requestmeta.Metadata
ServerId int64 `json:"server_id"` // Server ID
Upload int64 `json:"upload"` // Upload traffic in bytes
Download int64 `json:"download"` // Download traffic in bytes
Total int64 `json:"total"` // Total traffic in bytes (Upload + Download)
}
ServerTraffic represents a server traffic log entry.
func (*ServerTraffic) Marshal ¶
func (s *ServerTraffic) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for ServerTraffic.
func (*ServerTraffic) Unmarshal ¶
func (s *ServerTraffic) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for ServerTraffic.
type ServerTrafficRank ¶
type ServerTrafficRank struct {
Rank map[uint8]ServerTraffic `json:"rank"` // Key is rank ,type is ServerTraffic
}
ServerTrafficRank represents a server traffic rank entry.
func (*ServerTrafficRank) Marshal ¶
func (s *ServerTrafficRank) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for ServerTrafficRank.
func (*ServerTrafficRank) Unmarshal ¶
func (s *ServerTrafficRank) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for ServerTrafficRank.
type Subscribe ¶
type Subscribe struct {
requestmeta.IPMetadata
Token string `json:"token"`
UserAgent string `json:"user_agent"`
ClientIP string `json:"client_ip"`
UserSubscribeId int64 `json:"user_subscribe_id"`
ActorID int64 `json:"actor_id,omitempty"`
}
Subscribe represents a subscription log entry.
type SystemLog ¶
type SystemLog struct {
Id int64 `gorm:"primaryKey;AUTO_INCREMENT"`
Type uint8 `` /* 236-byte string literal not displayed */
Date string `gorm:"index:idx_date;type:varchar(20);default:null;comment:Log Date"`
ObjectID int64 `gorm:"index:idx_object_id;type:bigint(20);not null;default:0;comment:Object ID"`
Content string `gorm:"type:text;not null;comment:Log Content"`
CreatedAt time.Time `gorm:"<-:create;comment:Create Time"`
}
SystemLog represents a log entry in the system.
type Traffic ¶
Traffic represents a subscription traffic log entry.
type TrafficStat ¶
type TrafficStat struct {
requestmeta.Metadata
Upload int64 `json:"upload"`
Download int64 `json:"download"`
Total int64 `json:"total"`
}
TrafficStat represents a daily traffic statistics log entry.
func (*TrafficStat) Marshal ¶
func (t *TrafficStat) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for TrafficStat.
func (*TrafficStat) Unmarshal ¶
func (t *TrafficStat) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for TrafficStat.
type Type ¶
type Type uint8
const ( TypeEmailMessage Type = 10 // Message log TypeMobileMessage Type = 11 // Mobile message log TypeSubscribe Type = 20 // Subscription log TypeSubscribeTraffic Type = 21 // Subscription traffic log TypeServerTraffic Type = 22 // Server traffic log TypeResetSubscribe Type = 23 // Reset subscription log TypeLogin Type = 30 // Login log TypeRegister Type = 31 // Registration log TypeBalance Type = 32 // Balance log TypeCommission Type = 33 // Commission log TypeGift Type = 34 // Gift log TypeOrderCreated Type = 35 // Order creation audit log TypeUserTrafficRank Type = 40 // Top 10 User traffic rank log TypeServerTrafficRank Type = 41 // Top 10 Server traffic rank log TypeTrafficStat Type = 42 // Daily traffic statistics log )
type UserTraffic ¶
type UserTraffic struct {
requestmeta.Metadata
SubscribeId int64 `json:"subscribe_id"` // Subscribe ID
UserId int64 `json:"user_id"` // User ID
Upload int64 `json:"upload"` // Upload traffic in bytes
Download int64 `json:"download"` // Download traffic in bytes
Total int64 `json:"total"` // Total traffic in bytes (Upload + Download)
}
UserTraffic represents a user traffic log entry.
func (*UserTraffic) Marshal ¶
func (u *UserTraffic) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for UserTraffic.
func (*UserTraffic) Unmarshal ¶
func (u *UserTraffic) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for UserTraffic.
type UserTrafficRank ¶
type UserTrafficRank struct {
Rank map[uint8]UserTraffic `json:"rank"` // Key is rank ,type is UserTraffic
}
UserTrafficRank represents a user traffic rank entry.
func (*UserTrafficRank) Marshal ¶
func (u *UserTrafficRank) Marshal() ([]byte, error)
Marshal implements the json.Marshaler interface for UserTrafficRank.
func (*UserTrafficRank) Unmarshal ¶
func (u *UserTrafficRank) Unmarshal(data []byte) error
Unmarshal implements the json.Unmarshaler interface for UserTrafficRank.