f
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -21,3 +21,4 @@ data/*
|
|||||||
|
|
||||||
/app/api
|
/app/api
|
||||||
**/__debug_bin*.exe
|
**/__debug_bin*.exe
|
||||||
|
**/api.exe
|
||||||
@@ -316,14 +316,30 @@ func (w *WechatPayService) CreateWechatOrder(ctx context.Context, amount float64
|
|||||||
if getUidErr != nil {
|
if getUidErr != nil {
|
||||||
return "", getUidErr
|
return "", getUidErr
|
||||||
}
|
}
|
||||||
userAuthModel, findAuthModelErr := w.userAuthModel.FindOneByUserIdAuthType(ctx, userID, model.UserAuthTypeWxh5OpenID)
|
// 微信内 H5:优先 wxh5_openid(与公众号/网页 AppID 一致);若无则尝试 wxmini_openid(走小程序 AppID 下单)
|
||||||
if findAuthModelErr != nil {
|
h5Auth, h5Err := w.userAuthModel.FindOneByUserIdAuthType(ctx, userID, model.UserAuthTypeWxh5OpenID)
|
||||||
return "", findAuthModelErr
|
if h5Err == nil {
|
||||||
}
|
logx.Infof("微信h5支付订单:userAuthModel(wxh5): %+v", h5Auth)
|
||||||
logx.Infof("微信h5支付订单:userAuthModel: %+v", userAuthModel)
|
prepayData, err = w.CreateWechatH5Order(ctx, amount, description, outTradeNo, h5Auth.AuthKey)
|
||||||
prepayData, err = w.CreateWechatH5Order(ctx, amount, description, outTradeNo, userAuthModel.AuthKey)
|
if err != nil {
|
||||||
if err != nil {
|
return "", err
|
||||||
return "", err
|
}
|
||||||
|
} else if h5Err == model.ErrNotFound {
|
||||||
|
miniAuth, miniErr := w.userAuthModel.FindOneByUserIdAuthType(ctx, userID, model.UserAuthTypeWxMiniOpenID)
|
||||||
|
if miniErr != nil {
|
||||||
|
return "", miniErr
|
||||||
|
}
|
||||||
|
logx.WithContext(ctx).Infof(
|
||||||
|
"[WechatPay] wxh5 无 wxh5_openid,使用 wxmini_openid 下单 out_trade_no=%s user_id=%d",
|
||||||
|
outTradeNo, userID,
|
||||||
|
)
|
||||||
|
logx.Infof("微信h5支付订单:userAuthModel(wxmini fallback): %+v", miniAuth)
|
||||||
|
prepayData, err = w.CreateWechatMiniProgramOrder(ctx, amount, description, outTradeNo, miniAuth.AuthKey)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "", h5Err
|
||||||
}
|
}
|
||||||
case model.PlatformApp:
|
case model.PlatformApp:
|
||||||
// 如果是 APP 平台,调用 APP 支付订单创建
|
// 如果是 APP 平台,调用 APP 支付订单创建
|
||||||
|
|||||||
Reference in New Issue
Block a user