新增系列配置

This commit is contained in:
yan.y
2024-11-16 15:25:21 +08:00
parent ef52ecc2be
commit 25dafdf7e5
5 changed files with 65 additions and 6 deletions
+1 -1
View File
@@ -145,7 +145,7 @@ func DataInit() {
zap_server.ZAPLOG.Info("dataInit petBastInfoMap : ", zap.Any("petBastInfoMap", PetBaseInfoMap))
//--------------------------------------------------服务地址数据---------------------------------------------------------
var serviceAddrList []models.ServiceAddr
database.Instance().Model(&models.ServiceAddr{}).Find(&serviceAddrList)
database.Instance().Model(&models.ServiceAddr{}).Where("status = 1").Find(&serviceAddrList)
var ServiceAddrMapC1 = make(map[int64]models.ServiceAddr)
for _, value := range serviceAddrList {
ServiceAddrMapC1[value.Id] = value
+5
View File
@@ -17,6 +17,7 @@ var ExcludeBase = "/static"
var ExcludeBase1 = "/debug"
var ExcludeBase2 = "/admin"
var ExcludeBase3 = "/system"
var ExcludeBase4 = "/payNotify"
var frontExcludes = [...]string{
Root + AuthBase + "/login",
@@ -72,6 +73,10 @@ func FrontAuth(ctx *context.Context) {
ctx.Next()
return
}
if strings.Contains(ctx.Path(), ExcludeBase4) {
ctx.Next()
return
}
frontExcludesStr := strings.Join(frontExcludes[:], ",")
if strings.Contains(frontExcludesStr, ctx.Path()) {
ctx.Next()
+28 -4
View File
@@ -39,7 +39,7 @@ type ToPayRequest struct {
type ToPayResponse struct {
Content *jsapi.PrepayWithRequestPaymentResponse `json:"content"`
PayOrderId string
PayOrderId string `json:"payOrderId"`
}
// 充值
@@ -47,6 +47,7 @@ func (p DefParty) toPay() web_iris.Party {
return web_iris.Party{Prefix: p.Prefix, PartyFunc: func(index iris.Party) {
index.Post(PayBase+"/toPay", func(ctx *context.Context) {
headerBaseInfo := GetHeaderBaseInfo(ctx)
body, _ := io.ReadAll(ctx.Request().Body)
var toPayRequest ToPayRequest
json.Unmarshal(body, &toPayRequest)
@@ -55,7 +56,7 @@ func (p DefParty) toPay() web_iris.Party {
var rechargeInfo *models.RechargeInfo
database.Instance().Model(&models.RechargeInfo{}).Where("id = ?", toPayRequest.PayId).Find(&rechargeInfo)
svc := jsapi.JsapiApiService{Client: utils.GetWxPayService()}
price, _ := strconv.ParseInt(rechargeInfo.Price, 10, 64)
price, _ := strconv.ParseFloat(rechargeInfo.Price, 64)
orderId := NextId.Generate().String()
// 得到prepay_id,以及调起支付所需的参数和签名
resp, _, err := svc.PrepayWithRequestPayment(ctx,
@@ -66,7 +67,7 @@ func (p DefParty) toPay() web_iris.Party {
OutTradeNo: core.String(orderId),
NotifyUrl: core.String(web.CONFIG.System.Domain + "/pet-house/pay/payNotify"),
Amount: &jsapi.Amount{
Total: core.Int64(price * 100),
Total: core.Int64(int64(price * 100.0)),
},
Payer: &jsapi.Payer{
Openid: core.String(userInfo.OpenId),
@@ -93,7 +94,30 @@ func (p DefParty) toPay() web_iris.Party {
func (p DefParty) payNotify() web_iris.Party {
return web_iris.Party{Prefix: p.Prefix, PartyFunc: func(index iris.Party) {
index.Post(PayBase+"/payNotify", func(ctx *context.Context) {
wechatPayCert, _ := utils2.LoadCertificate(utils.CONFIG.WechatCert)
var cert = `-----BEGIN CERTIFICATE-----
MIIDVzCCAj+gAwIBAgIJANfOWdH1ItcBMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV
BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg
Q29tcGFueSBMdGQwHhcNMjEwNDI3MDg1NTIzWhcNMzEwNDI1MDg1NTIzWjBCMQsw
CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh
dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
2VCTd91fnUn73Xy9DLvt/V62TVxRTEEstVdeRaZ3B3leO0pldE806mXO4RwdHXag
HQ4vGeZN0yqm++rDsGK+U3AH7kejyD2pXshNP9Cq5YwbptiLGtjcquw4HNxJQUOm
DeJf2vg6byms9RUipiq4SzbJKqJFlUpbuIPDpSpWz10PYmyCNeDGUUK65E5h2B83
4uxl1zNLYQCrkdBzb8oUxwYeP5a2DNxmjL5lsJML7DGr5znsevnoqGRwTm9fxCGf
y8wus7hwKz6clt3Whmmda7UAdb1c08hEQFVRbF14AR73xbnd8N0obCWJPCbzMCtk
aSef4FdEEgEXJiw0VAJT8wIDAQABo1AwTjAdBgNVHQ4EFgQUT1c7nd/SUO76HSoZ
umNUJv1R5PwwHwYDVR0jBBgwFoAUT1c7nd/SUO76HSoZumNUJv1R5PwwDAYDVR0T
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAfTjxKRQMzNB/U6ZoCUS+BSNfa2Oh
0plMN6ZuzwiVVZwg1jywvv5yv04koS7Pd4i9E4gt9ZBUQXlpq+A3oOCEEHNRR6b2
kyazGRM7s0OP5X21WrbpSmKmU6K7hkfx30yYs08LVs/Q8DIhvaj1FCFeJzUCzYn/
fHMq4tsbKO0dKAeydPM/nrUZBmaYQVKMVOORGLFjFKVO7JV6Kq/R86ouhjEPgJOe
2xulNBUcjicqtZlBdEh/PWCYP2SpGVDclKm8jeo175T3EVAkdKzzmfpxtMmnMlmq
cTJOU9TxuGvNASMtjj7pYIerTx+xgZDXEVBWFW9PjJ0TV06tCRsgSHItgg==
-----END CERTIFICATE-----`
wechatPayCert, err1 := utils2.LoadCertificate(cert)
if err1 != nil {
panic(err1)
}
// 2. 使用本地管理的微信支付平台证书获取微信支付平台证书访问器
certificateVisitor := core.NewCertificateMapWithList([]*x509.Certificate{wechatPayCert})
// 3. 使用apiv3 key、证书访问器初始化 `notify.Handler`