2026-05-29 19:56:14 +08:00

103 lines
3.6 KiB
Go

package teamsalarysettlement
type userDTO struct {
UserID string `json:"user_id"`
DisplayUserID string `json:"display_user_id"`
Username string `json:"username"`
Avatar string `json:"avatar"`
}
type pendingDTO struct {
PolicyType string `json:"policy_type"`
UserID string `json:"user_id"`
User userDTO `json:"user"`
CycleKey string `json:"cycle_key"`
RegionID int64 `json:"region_id"`
RegionName string `json:"region_name"`
PolicyID uint64 `json:"policy_id"`
PolicyName string `json:"policy_name"`
LevelNo int32 `json:"level_no"`
IncomeUSDMinor int64 `json:"income_usd_minor"`
IncomeUSD string `json:"income_usd"`
SalaryUSDMinorTarget int64 `json:"salary_usd_minor_target"`
SalaryUSDTarget string `json:"salary_usd_target"`
SalaryUSDMinorDelta int64 `json:"salary_usd_minor_delta"`
SalaryUSDDelta string `json:"salary_usd_delta"`
SettledLevelNo int32 `json:"settled_level_no"`
SettledSalaryUSDMinor int64 `json:"settled_salary_usd_minor"`
SettledSalaryUSD string `json:"settled_salary_usd"`
LastSettledIncomeUSDMinor int64 `json:"last_settled_income_usd_minor"`
LastSettledIncomeUSD string `json:"last_settled_income_usd"`
MonthClosedAtMS int64 `json:"month_closed_at_ms"`
}
type recordDTO struct {
SettlementID string `json:"settlement_id"`
CommandID string `json:"command_id"`
TransactionID string `json:"transaction_id"`
PolicyType string `json:"policy_type"`
TriggerMode string `json:"trigger_mode"`
UserID string `json:"user_id"`
User userDTO `json:"user"`
CycleKey string `json:"cycle_key"`
RegionID int64 `json:"region_id"`
PolicyID uint64 `json:"policy_id"`
LevelNo int32 `json:"level_no"`
IncomeUSDMinor int64 `json:"income_usd_minor"`
IncomeUSD string `json:"income_usd"`
SalaryUSDMinorDelta int64 `json:"salary_usd_minor_delta"`
SalaryUSDDelta string `json:"salary_usd_delta"`
Status string `json:"status"`
Reason string `json:"reason"`
CreatedAtMS int64 `json:"created_at_ms"`
}
type pendingQuery struct {
Page int
PageSize int
PolicyType string
TriggerMode string
CycleKey string
RegionID int64
CountryID int64
CountryCode string
UserID int64
}
type recordQuery struct {
Page int
PageSize int
PolicyType string
TriggerMode string
CycleKey string
Status string
RegionID int64
CountryID int64
CountryCode string
UserID int64
PolicyID uint64
StartAtMS int64
EndAtMS int64
}
type settleRequest struct {
PolicyType string `json:"policy_type"`
TriggerMode string `json:"trigger_mode"`
CycleKey string `json:"cycle_key"`
RegionID int64 `json:"region_id"`
CountryID int64 `json:"country_id"`
CountryCode string `json:"country_code"`
UserIDs []int64 `json:"user_ids"`
}
type settleResultDTO struct {
PolicyType string `json:"policy_type"`
CycleKey string `json:"cycle_key"`
RequestedCount int `json:"requested_count"`
ProcessedCount int `json:"processed_count"`
SuccessCount int `json:"success_count"`
SkippedCount int `json:"skipped_count"`
FailureCount int `json:"failure_count"`
Records []recordDTO `json:"records"`
}