Files
kami_merchant/models/order_params.go
sunxiaolong e4dd2a16a9 🎉初次提交
2023-11-12 22:23:06 +08:00

49 lines
909 B
Go

package models
import (
"encoding/hex"
"encoding/json"
"github.com/beego/beego/v2/server/web"
"merchant/utils"
"time"
)
type OrderParams struct {
PayKey string `json:"payKey"` // 支付明文秘钥
GeneratedTime time.Time `json:"generatedTime"` // 过期时间
Duration int `json:"duration"` // 存续时间(小时)
}
func (p *OrderParams) Encrypt() string {
prepareData := p.String()
if prepareData == "" {
return prepareData
}
// 加密密码数据
key, err := web.AppConfig.String("secret::key")
if err != nil {
return ""
}
iv, err := web.AppConfig.String("secret::iv")
if err != nil {
return ""
}
result, _ := utils.AesCBCEncrypt([]byte(prepareData), []byte(key), []byte(iv))
return hex.EncodeToString(result)
}
func (p *OrderParams) String() string {
r, err := json.Marshal(p)
if err != nil {
return ""
}
return string(r)
}