From f80c0812f00f8700c4d1e6aed0e92b85508d438a Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Sat, 23 Nov 2024 23:46:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(user):=20=E4=BF=AE=E6=AD=A3=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmd/api/internal/logic/pay/paymentlogic.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/user/cmd/api/internal/logic/pay/paymentlogic.go b/app/user/cmd/api/internal/logic/pay/paymentlogic.go index e189db7..88de5a6 100644 --- a/app/user/cmd/api/internal/logic/pay/paymentlogic.go +++ b/app/user/cmd/api/internal/logic/pay/paymentlogic.go @@ -2,6 +2,7 @@ package pay import ( "context" + "encoding/hex" "encoding/json" "fmt" "github.com/pkg/errors" @@ -12,6 +13,7 @@ import ( "qnc-server/app/user/model" "qnc-server/common/ctxdata" "qnc-server/common/xerr" + "qnc-server/pkg/lzkit/crypto" ) type PaymentLogic struct { @@ -48,7 +50,15 @@ func (l *PaymentLogic) Payment(req *types.PaymentReq) (resp *types.PaymentResp, if err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "生成订单, 查找产品错误: %+v", err) } - + secretKey := l.svcCtx.Config.Encrypt.SecretKey + key, decodeErr := hex.DecodeString(secretKey) + if decodeErr != nil { + return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "生成订单, 获取AES密钥失败: %+v", decodeErr) + } + encryptParams, aesEncryptErr := crypto.AesEncrypt([]byte(cache), key) + if aesEncryptErr != nil { + return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "生成订单, 加密参数失败: %+v", aesEncryptErr) + } var prepayID string var outTradeNo string @@ -87,7 +97,7 @@ func (l *PaymentLogic) Payment(req *types.PaymentReq) (resp *types.PaymentResp, OrderId: orderID, UserId: userID, ProductId: product.Id, - QueryParams: cache, + QueryParams: encryptParams, QueryState: "pending", } _, insertQueryErr := l.svcCtx.QueryModel.Insert(l.ctx, session, &query)