拆分支付配置 Repository 文件职责
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
package paymentconfig
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"hfb_sys/backend/internal/model"
|
||||
)
|
||||
|
||||
// toDTO 转换为 DTO
|
||||
func (r *Repository) toDTO(item model.PaymentMerchantConfig, includeSecret bool) (ConfigDTO, error) {
|
||||
dto := ConfigDTO{
|
||||
ID: item.ID,
|
||||
Name: item.Name,
|
||||
Provider: item.Provider,
|
||||
MerchantID: item.MerchantID,
|
||||
GatewayURL: item.GatewayURL,
|
||||
NotifyURL: item.NotifyURL,
|
||||
JumpURL: item.JumpURL,
|
||||
PayWay: item.PayWay,
|
||||
JSPayFlag: item.JSPayFlag,
|
||||
SignType: item.SignType,
|
||||
ExtraConfig: item.ExtraConfig,
|
||||
IsDefault: item.IsDefault,
|
||||
Status: item.Status,
|
||||
Environment: item.Environment,
|
||||
BusinessTags: item.BusinessTags,
|
||||
TotalTransactions: item.TotalTransactions,
|
||||
TotalAmountCent: item.TotalAmountCent,
|
||||
CreatedBy: item.CreatedBy,
|
||||
UpdatedBy: item.UpdatedBy,
|
||||
CreatedAt: item.CreatedAt.Format(time.RFC3339),
|
||||
UpdatedAt: item.UpdatedAt.Format(time.RFC3339),
|
||||
}
|
||||
|
||||
if item.LastUsedAt != nil {
|
||||
s := item.LastUsedAt.Format(time.RFC3339)
|
||||
dto.LastUsedAt = &s
|
||||
}
|
||||
|
||||
// 只有明确要求时才解密并返回密钥
|
||||
if includeSecret {
|
||||
signKey, err := r.encryptor.Decrypt(item.SignKey)
|
||||
if err != nil {
|
||||
return ConfigDTO{}, ErrDecryptionFailed
|
||||
}
|
||||
notifyKey, err := r.encryptor.Decrypt(item.NotifyKey)
|
||||
if err != nil {
|
||||
return ConfigDTO{}, ErrDecryptionFailed
|
||||
}
|
||||
dto.SignKey = signKey
|
||||
dto.NotifyKey = notifyKey
|
||||
}
|
||||
|
||||
return dto, nil
|
||||
}
|
||||
|
||||
// validateCreateRequest 验证创建请求
|
||||
|
||||
func firstNonEmpty(vals ...string) string {
|
||||
for _, v := range vals {
|
||||
if v != "" {
|
||||
return v
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func defaultSignType(provider string) string {
|
||||
if provider == "lakala" {
|
||||
return "SHA256withRSA"
|
||||
}
|
||||
return "MD5"
|
||||
}
|
||||
Reference in New Issue
Block a user