2026-07-02 10:53:44 +08:00

69 lines
2.7 KiB
Go

package financeapplication
import "hyapp-admin-server/internal/model"
type applicationDTO struct {
ID uint `json:"id"`
AppCode string `json:"appCode"`
AppName string `json:"appName"`
Operation string `json:"operation"`
WalletIdentity string `json:"walletIdentity"`
TargetUserID string `json:"targetUserId"`
CoinAmount int64 `json:"coinAmount"`
RechargeAmount string `json:"rechargeAmount"`
CredentialImageURL string `json:"credentialImageUrl"`
CredentialText string `json:"credentialText"`
ApplicantUserID uint `json:"applicantUserId"`
ApplicantName string `json:"applicantName"`
AuditorUserID *uint `json:"auditorUserId"`
AuditorName string `json:"auditorName"`
Status string `json:"status"`
AuditRemark string `json:"auditRemark"`
AuditedAtMS *int64 `json:"auditedAtMs"`
WalletCommandID string `json:"walletCommandId"`
WalletTransactionID string `json:"walletTransactionId"`
WalletAssetType string `json:"walletAssetType"`
WalletAmountDelta int64 `json:"walletAmountDelta"`
WalletBalanceAfter int64 `json:"walletBalanceAfter"`
CreatedAtMS int64 `json:"createdAtMs"`
UpdatedAtMS int64 `json:"updatedAtMs"`
DingTalkNotified *bool `json:"dingTalkNotified,omitempty"`
}
func applicationDTOFromModel(item model.FinanceApplication) applicationDTO {
return applicationDTO{
ID: item.ID,
AppCode: item.AppCode,
AppName: item.AppCode,
Operation: item.Operation,
WalletIdentity: item.WalletIdentity,
TargetUserID: item.TargetUserID,
CoinAmount: item.CoinAmount,
RechargeAmount: item.RechargeAmount,
CredentialImageURL: item.CredentialImageURL,
CredentialText: item.CredentialText,
ApplicantUserID: item.ApplicantUserID,
ApplicantName: item.ApplicantName,
AuditorUserID: item.AuditorUserID,
AuditorName: item.AuditorName,
Status: item.Status,
AuditRemark: item.AuditRemark,
AuditedAtMS: item.AuditedAtMS,
WalletCommandID: item.WalletCommandID,
WalletTransactionID: item.WalletTransactionID,
WalletAssetType: item.WalletAssetType,
WalletAmountDelta: item.WalletAmountDelta,
WalletBalanceAfter: item.WalletBalanceAfter,
CreatedAtMS: item.CreatedAtMS,
UpdatedAtMS: item.UpdatedAtMS,
}
}
func applicationDTOsFromModel(items []model.FinanceApplication) []applicationDTO {
out := make([]applicationDTO, 0, len(items))
for _, item := range items {
out = append(out, applicationDTOFromModel(item))
}
return out
}