新增系列配置
This commit is contained in:
parent
ef52ecc2be
commit
25dafdf7e5
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@
|
|||
"mchCertificateSerialNumber": "7DA2108120E4C418537BCF3C061AAB109CCF88A9",
|
||||
"mchAPIv3Key": "chonghujiapanlei1234567891234567",
|
||||
"privateKeyPath": "F:\\work\\go\\pet-house\\business\\config\\apiclient_key.pem",
|
||||
"wechatCert": "MIIEKzCCAxOgAwIBAgIUfaIQgSDkxBhTe888BhqrEJzPiKkwDQYJKoZIhvcNAQELBQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsTFFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3QgQ0EwHhcNMjQwOTEwMDc0NDUzWhcNMjkwOTA5MDc0NDUzWjCBhDETMBEGA1UEAwwKMTY4MjYzNzYxMjEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTAwLgYDVQQLDCflroHms6LlrqDmiqTlrrblrqDnianmnI3liqHmnInpmZDlhazlj7gxCzAJBgNVBAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALoZ/ZK7BdW1DKCzsqQnS9ElkWhv8Df4JidAupVoaaGa0Iz8cukj8JgqzzmOA0fSief3z0OvOvmXQujNLXka38Y+8KB/K/BnqRYVGSvLWKwfdalSS+caJZUNLVQVv1zDrPVPb3JmoJMADPIq2sOfLqjmWPIxRcpa7sPeall5fMx07aVrpi2Ov1ueRUphIYNT6aV6KnPrRf/lcRwZxE0+l30l45sDNrd7l5tUsnJq/1OLP+kgidkpic6W1f3jrHZTwYakgShEUgkRsHeUjIQ0ZRYSsD4Mxn/bqdAxDSDWB6aWGwMrY1kubsPkE/AcXTpgpaC+2kQVhaYrWuly0w0T1jMCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQC7Zgux40pvNohZx721rygjo0yUbx54docNS79Eh5J9ukSKMf0cTsORlAnrsCbSYnIoMiqdPqccRYJUefUUuhOrKtuzaka4T+VSiaDTnZ07kB3I8xlvZtW32jHOstVPrJsBfEg53sl5sfWHY+OfuEhwOkoH3v/Fs4nH4hQxjO8RW9tNXqLvTrl1JeEwV4bMZxCAwCvoMPqn19WBFsaFb0kXF46oGeH5kId6oon0RCi+vXb8nSZ4oPXIJwxi9u/uy+wDrVlHohjCK+bRbxGgaIcX5uMPK/M73mzuuLFCbIWN4CLz9yyZGKxNJBq4YuGe+jWagh1GheVuvTdcJ4ZGDhQT"
|
||||
"wechatCert": "`-----BEGIN CERTIFICATE-----\nMIIDVzCCAj+gAwIBAgIJANfOWdH1ItcBMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV\nBAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg\nQ29tcGFueSBMdGQwHhcNMjEwNDI3MDg1NTIzWhcNMzEwNDI1MDg1NTIzWjBCMQsw\nCQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh\ndWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n2VCTd91fnUn73Xy9DLvt/V62TVxRTEEstVdeRaZ3B3leO0pldE806mXO4RwdHXag\nHQ4vGeZN0yqm++rDsGK+U3AH7kejyD2pXshNP9Cq5YwbptiLGtjcquw4HNxJQUOm\nDeJf2vg6byms9RUipiq4SzbJKqJFlUpbuIPDpSpWz10PYmyCNeDGUUK65E5h2B83\n4uxl1zNLYQCrkdBzb8oUxwYeP5a2DNxmjL5lsJML7DGr5znsevnoqGRwTm9fxCGf\ny8wus7hwKz6clt3Whmmda7UAdb1c08hEQFVRbF14AR73xbnd8N0obCWJPCbzMCtk\naSef4FdEEgEXJiw0VAJT8wIDAQABo1AwTjAdBgNVHQ4EFgQUT1c7nd/SUO76HSoZ\numNUJv1R5PwwHwYDVR0jBBgwFoAUT1c7nd/SUO76HSoZumNUJv1R5PwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAfTjxKRQMzNB/U6ZoCUS+BSNfa2Oh\n0plMN6ZuzwiVVZwg1jywvv5yv04koS7Pd4i9E4gt9ZBUQXlpq+A3oOCEEHNRR6b2\nkyazGRM7s0OP5X21WrbpSmKmU6K7hkfx30yYs08LVs/Q8DIhvaj1FCFeJzUCzYn/\nfHMq4tsbKO0dKAeydPM/nrUZBmaYQVKMVOORGLFjFKVO7JV6Kq/R86ouhjEPgJOe\n2xulNBUcjicqtZlBdEh/PWCYP2SpGVDclKm8jeo175T3EVAkdKzzmfpxtMmnMlmq\ncTJOU9TxuGvNASMtjj7pYIerTx+xgZDXEVBWFW9PjJ0TV06tCRsgSHItgg==\n-----END CERTIFICATE-----`\n"
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package utils
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
utils2 "github.com/wechatpay-apiv3/wechatpay-go/utils"
|
||||
"math"
|
||||
"pet-house.com/business/models"
|
||||
"strconv"
|
||||
|
|
@ -28,6 +29,10 @@ func TestCalc(t *testing.T) {
|
|||
i := math.Round(386 * (float64(85) / 100))
|
||||
fmt.Println(i)
|
||||
}
|
||||
func TestCalc7(t *testing.T) {
|
||||
float, _ := strconv.ParseFloat("0.01", 64)
|
||||
fmt.Println(int64(float * 100.0))
|
||||
}
|
||||
func TestCalc1(t *testing.T) {
|
||||
i := float64(85) / 100
|
||||
fmt.Println(i)
|
||||
|
|
@ -51,6 +56,31 @@ func TestCalc5(t *testing.T) {
|
|||
float := strconv.FormatFloat(float64(a/10.0), 'f', 1, 64)
|
||||
fmt.Printf(float)
|
||||
}
|
||||
func TestCalc8(t *testing.T) {
|
||||
var a = `-----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-----`
|
||||
x, err := utils2.LoadCertificate(a)
|
||||
fmt.Println(err)
|
||||
fmt.Println(x)
|
||||
}
|
||||
func TestMath(t *testing.T) {
|
||||
var a = int(RoundToOneDecimalPlace(float64(150)*(95/100.0)) * 10)
|
||||
fmt.Println(a)
|
||||
|
|
|
|||
Loading…
Reference in New Issue