diff --git a/.drone.yml b/.drone.yml index 84ba8ea..d9da937 100644 --- a/.drone.yml +++ b/.drone.yml @@ -16,22 +16,22 @@ steps: GOMODCACHE: '/drone/src/mod.pkg' commands: # - GOPROXY=https://goproxy.cn go get -u github.com/go-bindata/go-bindata/...@v3.1.2 - - GOPROXY=https://goproxy.cn CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X recook/configs.environment=release" -tags=jsoniter -v -o ./recook ./main.go + - GOPROXY=https://goproxy.cn CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X recook/configs.environment=release" -tags=jsoniter -v -o ./recook_v2 ./main.go - name: scp files image: appleboy/drone-scp settings: - host: 47.100.87.70 + host: 120.55.167.78 username: from_secret: pro_user password: from_secret: pro_pass port: 22 target: /root - source: ./recook + source: ./recook_v2 - name: ssh image: appleboy/drone-ssh settings: - host: 47.100.87.70 + host: 120.55.167.78 username: from_secret: pro_user password: @@ -39,7 +39,7 @@ steps: port: 22 script: - cd /root - - ./update_recook.sh + - ./update_recook_v2.sh volumes: - name: cache host: @@ -47,59 +47,6 @@ volumes: trigger: branch: - master - event: - - push - - merge ---- -kind: pipeline -type: docker -name: test -clone: - disable: true -steps: - - name: clone - image: drone/git - commands: - - echo "172.31.211.15 git.oa00.com" >> /etc/hosts - - git clone $DRONE_REMOTE_URL . - - git checkout $DRONE_COMMIT - - name: build - image: golang:1.16-alpine3.13 - environment: - GOMODCACHE: '/drone/src/mod.pkg' - commands: - # - GOPROXY=https://goproxy.cn go get -u github.com/go-bindata/go-bindata/...@v3.1.2 - - GOPROXY=https://goproxy.cn CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X recook/configs.environment=debug" -tags=jsoniter -v -o ./recook ./main.go - - name: scp files - image: appleboy/drone-scp - settings: - host: 139.196.147.232 - username: - from_secret: test_user - password: - from_secret: test_pass - port: 22 - target: /root - source: ./recook - - name: ssh - image: appleboy/drone-ssh - settings: - host: 139.196.147.232 - username: - from_secret: test_user - password: - from_secret: test_pass - port: 22 - script: - - cd /root - - ./update_recook.sh -volumes: - - name: cache - host: - path: "/tmp/cache" -trigger: - branch: - - test event: - push - merge \ No newline at end of file diff --git a/configs/config.go b/configs/config.go index 882c1fa..4597d1e 100644 --- a/configs/config.go +++ b/configs/config.go @@ -182,12 +182,12 @@ const ( // ConfigJSTPrefix 聚水潭prefix ConfigJSTPrefix = "recook" - ConfigJCookAppKey = "64f70e023a32e058a565650d74d44a7d" - ConfigJCookAppSecret = "ca5f6cc561672968fab36c825fc78385" - ConfigJCookAppChannelID = 1010273 + ConfigJCookAppKey = "5372e576b288430e41057bbb66c34d40" + ConfigJCookAppSecret = "7aa6b89426f8fba6b95969331eb62f06" + ConfigJCookAppChannelID = 1010246 ConfigJCookUrl = "http://jcook.com.cn/api/v1/open/" - ConfigJCookMqUser = "jcook56214752165888" - ConfigJCookMqPwd = "PD50Gw" + ConfigJCookMqUser = "jcook11595979048443904" + ConfigJCookMqPwd = "aGZ0R6" ConfigJCookMqHost = "jcook.com.cn" ConfigJCookMqPort = "5672" @@ -199,4 +199,8 @@ const ( ConfigShaMaMqPwd = "PD50Gw" ConfigShaMaMqHost = "shama.reecook.cn" ConfigShaMaMqPort = "5672" + + AlipayAppid = "2021001108632223" // appId + AlipayPrivateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMQOxcXlyNfnNEui3aipacvfR3NV50lpmVZ1KApskiIy5DjivOyBwvxqB/I7uutPgwlnRsjzzqTx55LbooeSO9UoobBKr3FdxGqjjw4MZNcW5wNiZG3JEQ3OtCgg3o7Y13SYAyKr3DNcHufAKuLKi/IFxmUubfWQ0mHR9ePFMec6ecqpHWsIZmNy5ujY0TMZH1q4Rg1zfUHQu78PWAcsNl+t3Zxs5j1tUo7ZtAfqca6sU+cPXuAx+l/CIhCwX35w39E6J1BYUBczSGvj5+dNAM+dMfuaZCeZo0W9cvhZ6d5Jd3ZCNP/II3S4Sk479kCO6ErG7MyO53//uW8aPnEeAxAgMBAAECggEBAMbjBQRgYdDpa0Zl39ZokoWntc8KKaJvLre7NyvMvBdAmIDxhBjC5CdlSsziN5PD5dQx/MXkqBUj23F1pEpawwFLyOzMG8mjAK3SfMWYqZ+pLzeWkqj3h04bP/2v8+l2vwSDjo/K7KKTyvX0zQtasyoAUdjVKrga12Hgg7XYGbuQdd6UXFqT+BTwQq2JDJEJTYPutN4VyCwiUEGuwCD3TkIFU0d5SGHaOgYBN/btaoPQLm8VnlKRvVr8o9vQ2cr6lDwRtFXkJ3RZJw8UExVPGHAoRlECwqEVA1mJMQ5EPhJrEgNINlE6JiqqCgo1/+58Q9XfYsf7uY8HccFYQP9FIRECgYEA9yXr2N6/vg6sW1PHu5HZWJm0761qq9ed2jZmwNPMD6Xz7Uz9GkYRbxuKvm9YP9qP7pNdH6K14E2gME0AjEmWdx9VId6rKRTR+GGVL01ETnZ62hrG/AEJfBAL+ZVCZYcyMAJYKHomgnY+dvdy3mtxmk8IOT+QkJHrKSX8XBRTxk0CgYEA05G0vfBq4oi3DdO/nrvxSc5K9SLvjW9Rnbr+jgmxw+ZEbqSrsooImfUYUbfkN96X7RePEVLznNYkjJPpp20DNnoauCAfCcjupSPFl1cVEWHs2Czc7HSiqHm7lCDcyyb4q2Vsu6zKmsJIHxEXw76gdUKxvNhiKE0BwHQ/Yqmmu3UCgYEAkGlSFBikBVPhlkOwE4O3cjPuK5YzHFIS5GyhQc8AD6yyiVhRFEcY7Mk1Gu1IrZbyPz9QTKnwiC4TieWUimR9TQG75tyLOqf1wKKUX11QqmBEjKjU2G9qsVlXBfEXKOgEhVT5Wj11vwmEmlMghaJWcQn5Dip8OF1rAVI20T73bIkCgYAtwc+TXNHhGKxugyNoU0GGMuWnSt0Ae9jtAipX0eTud3jJbTftL0lY8tdFpT3oj23QS04X8xbZDr9s3/iiy0Lsn0/0Do5n8VsbwDbV2nGmBsXQozNMuJUNVvaovMrD7TPO7eqsVFylR+uNPIclQK83bSs/qpTgHneIhhvHXOXAmQKBgATsDkvmaVTyGpuzaur7SodTJneNQWQEtnGhaAtbXtPWKpUJHAyIDt7/80FwHOun3/N0CBjzt06T4uvGDzRpYJCsTcoap/JbgdokN4KloRs2Nd7+3O1scep0mJoQWPcYKZxErmTtYgCrSLENbi6sf83xwTWcncFJ9qu1ei13NzPB" // 商户私钥 + AlipayAliPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtrlT+XcRtKrfgDKB6XxlJbLzQWNMPQ8tTmZvd66OoJDbsnPZuIP7w01XNdIodEAxTFpK4wjUNauqUTSxJimkM8GsPgX/wUW7PR4i25cniHgFFH8vLuRnXcwTptr3LnAjgaSj0nOZYAnOkTcSLoPGgMqBzT/eADkpRvBTRvEhEaMjMPRJ09jVGrIjzpugZ5ECWNBD28nqtAAyDU1jKtHL5l290+WIA838D8sP54Kx8vAwFgMelRg1SljPcSrA2Hnh8qAesiZuJB3pGRKSEwPp51opdM2ARehbXLZsURkjGfB9jVBu9bdKMd7Mm7bun/GD2zM4V07JeFKnYwrcX5lL1wIDAQAB" // 支付宝公钥 ) diff --git a/go.mod b/go.mod index d59b858..770f140 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,9 @@ module recook go 1.16 require ( + git.oa00.com/go/alipay v1.0.0 git.oa00.com/go/mysql v1.0.0 + git.oa00.com/go/wxpay v1.0.0 github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.0 github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/alibabacloud-go/opensearch-util v1.0.1 @@ -39,7 +41,7 @@ require ( github.com/shopspring/decimal v1.2.0 github.com/siddontang/go-log v0.0.0-20190221022429-1e957dd83bed github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e - github.com/smartwalle/alipay/v3 v3.1.5 + github.com/smartwalle/alipay/v3 v3.1.7 github.com/streadway/amqp v1.0.0 github.com/swaggo/swag v1.6.7 github.com/tealeg/xlsx/v3 v3.2.0 diff --git a/go.sum b/go.sum index 91a419f..814387b 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,14 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRqYosuDstRB9un7SOx2k/9ckA= +git.oa00.com/go/alipay v1.0.0 h1:/qVT7lKc1FbVnCzpXwsHOZODamsiZzhhCFxjgez1+2o= +git.oa00.com/go/alipay v1.0.0/go.mod h1:GCFXgnZofi69vtV8fMOsHGWZqp958lyXlKfCwvhVBL8= git.oa00.com/go/mysql v1.0.0 h1:E9H6MF0eYgFovLmVYgyCiwjIestp/wRPWjwKyayg3LI= git.oa00.com/go/mysql v1.0.0/go.mod h1:pQm9xCn8iFew9egnEPvzAlggGykmAlwV1nqTX5KIXiQ= +git.oa00.com/go/rsa v1.0.0 h1:cscSyfYeNxqUjEt/rUiPjPlqeZW/pdLDqVTrS64llJM= +git.oa00.com/go/rsa v1.0.0/go.mod h1:y4272MGmgvdEGcXIcPRBwteDo/zeqTEtRpqJBpK1Luk= +git.oa00.com/go/wxpay v1.0.0 h1:A/XT7/8fYs1hPujItAh/B2/ymRLkMAh4jzKUIzWQasQ= +git.oa00.com/go/wxpay v1.0.0/go.mod h1:RyvSqgH+If78a7QLe+7r+D3R5F+E/WyNRsCVWQ6hmGM= github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.0 h1:tDWYNCJrpNnlNg8mVdlzAzPjlPaRbsA/kS8H9LczleQ= github.com/360EntSecGroup-Skylar/excelize/v2 v2.3.0/go.mod h1:Uwb0d1GgxJieUWZG5WylTrgQ2SrldfjagAxheU8W6MQ= github.com/Azure/azure-sdk-for-go v32.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -37,6 +43,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/agiledragon/gomonkey v2.0.2+incompatible h1:eXKi9/piiC3cjJD1658mEE2o3NjkJ5vDLgYjCQu0Xlw= +github.com/agiledragon/gomonkey v2.0.2+incompatible/go.mod h1:2NGfXu1a80LLr2cmWXGBDaHEjb1idR6+FVlX5T3D9hw= github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbdr+Eyxvry3ilGPewKoXw3XGN1k= github.com/alangpierce/go-forceexport v0.0.0-20160317203124-8f1d6941cd75/go.mod h1:uAXEEpARkRhCZfEvy/y0Jcc888f9tHCc1W7/UeEtreE= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= @@ -525,8 +533,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M= github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= -github.com/smartwalle/alipay/v3 v3.1.5 h1:oBJFxoaAhBL3XLtQ1HPw258drEL6ljHTFtCTQZoYq3M= -github.com/smartwalle/alipay/v3 v3.1.5/go.mod h1:cZUMCCnsux9YAxA0/f3PWUR+7wckWtE1BqxbVRtGij0= +github.com/smartwalle/alipay/v3 v3.1.7 h1:J4U5slABafKVD/b9gPCZe/3HAPB8Pa2NOYOPcugEJBo= +github.com/smartwalle/alipay/v3 v3.1.7/go.mod h1:cZUMCCnsux9YAxA0/f3PWUR+7wckWtE1BqxbVRtGij0= github.com/smartwalle/crypto4go v1.0.2 h1:9DUEOOsPhmp00438L4oBdcL8EZG1zumecft5bWj5phI= github.com/smartwalle/crypto4go v1.0.2/go.mod h1:LQ7vCZIb7BE5+MuMtJBuO8ORkkQ01m4DXDBWPzLbkMY= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -581,6 +589,8 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA= +github.com/wechatpay-apiv3/wechatpay-go v0.2.11 h1:KEVmn6VxFeoCdnTno4yLOWMmdG/wS7KWURzeuVXH6RU= +github.com/wechatpay-apiv3/wechatpay-go v0.2.11/go.mod h1:W8ucVAOCKOii933cWROLaDLmRQ2cg/vHHVF4vGAVq9Q= github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= diff --git a/init.go b/init.go new file mode 100644 index 0000000..4d3cdf3 --- /dev/null +++ b/init.go @@ -0,0 +1,23 @@ +package main + +import ( + "git.oa00.com/go/alipay" + "log" + "recook/configs" +) + +// 初始化 +func initApp() (closes []func()) { + // 关闭资源 + closes = []func(){} + // 支付宝初始化 + if err := alipay.InitAlipay(alipay.Config{ + AppId: configs.AlipayAppid, + PrivateKey: configs.AlipayPrivateKey, + AliPublicKey: configs.AlipayAliPublicKey, + IsProduction: true, + }); err != nil { + log.Panicln("支付宝初始化错误", err) + } + return +} diff --git a/internal/api/mobile/pay/alipay/const.go b/internal/api/mobile/pay/alipay/const.go index 8acf81b..5d5817c 100755 --- a/internal/api/mobile/pay/alipay/const.go +++ b/internal/api/mobile/pay/alipay/const.go @@ -10,7 +10,7 @@ import ( const ( PartnerID = "2088821996635843" //AppID = "2019070265731480" - AppID = "2021003107650938" // 新的appid + AppID = "2021001108632223" // 新的appid AppID0602 = "2021001152664931" RefundURL = "https://openapi.alipay.com/gateway.do" // 退款 ) diff --git a/internal/api/mobile/pay/alipay/create.go b/internal/api/mobile/pay/alipay/create.go index e410c5d..ab78009 100755 --- a/internal/api/mobile/pay/alipay/create.go +++ b/internal/api/mobile/pay/alipay/create.go @@ -2,6 +2,8 @@ package alipay import ( "errors" + alipay2 "git.oa00.com/go/alipay" + "github.com/smartwalle/alipay/v3" "recook/internal/api/mobile/pay/public" "recook/internal/back" "recook/internal/dbc" @@ -250,21 +252,13 @@ func genSign(expire formatime.Second, userID uint, orderID uint, amount decimal. afterTime, _ := time.ParseDuration(public.TimeExpireDuration) expireTime := expire.Time.Add(afterTime) outTradeNo := public.GenerateOrderAliPayOutTradeNo(userID, orderID) - bizContentParam := CreateOrderBizContentParam{ - OutTradeNo: outTradeNo, - TimeExpire: expireTime.Format("2006-01-02 15:04"), - TotalAmount: amount.Truncate(2).String(), - Subject: title, - ProductCode: "QUICK_MSECURITY_PAY", - } - - bs, err := json.Marshal(&bizContentParam) - if err != nil { - panic(err) - } - publicParam := &PublicRequestParam{} - publicParam.Init(bizContentParam.GetMethod(), PayCallbackUrl, string(bs)) - orderSignResult := publicParam.AppOrderString() + param := alipay.TradeAppPay{} + param.OutTradeNo = outTradeNo + param.TotalAmount = amount.Truncate(2).String() + param.Subject = title + param.TimeExpire = expireTime.Format("2006-01-02 15:04:05") + param.NotifyURL = PayCallbackUrl + orderSignResult, _ := alipay2.Alipay.TradeAppPay(param) return outTradeNo, orderSignResult } diff --git a/internal/api/mobile/pay/alipay/h5_create.go b/internal/api/mobile/pay/alipay/h5_create.go index 84dbc2a..0db5ac0 100644 --- a/internal/api/mobile/pay/alipay/h5_create.go +++ b/internal/api/mobile/pay/alipay/h5_create.go @@ -264,5 +264,4 @@ func genUrl(title string, userID uint, orderID uint, actualAmount decimal.Decima var payURL = payUrl.String() return payURL, outTradeNo, nil - } diff --git a/internal/api/mobile/pay/wxminipay/const.go b/internal/api/mobile/pay/wxminipay/const.go index e704660..bbf1dba 100755 --- a/internal/api/mobile/pay/wxminipay/const.go +++ b/internal/api/mobile/pay/wxminipay/const.go @@ -3,10 +3,10 @@ package wxminipay import "recook/internal/domain" const ( - AppID = "wxefdf3cdd5032af83" + AppID = "wxf95835be72b5373c" //AppID = "wx70e983da26f56388" - APIKey = "EF2q7tVb6VaUknaHSQ12X2nG5tU530Vd" - MchID = "1618055594" + APIKey = "83f8932eb742257316e3168ba9e920dk" + MchID = "1545449631" ) var ( diff --git a/internal/api/mobile/pay/wxpay/const.go b/internal/api/mobile/pay/wxpay/const.go index e8254a7..ae4fe9c 100755 --- a/internal/api/mobile/pay/wxpay/const.go +++ b/internal/api/mobile/pay/wxpay/const.go @@ -5,9 +5,9 @@ import ( ) const ( - AppID = "wx737af52b2ad6d518" - APIKey = "EF2q7tVb6VaUknaHSQ12X2nG5tU530Vd" - MchID = "1618055594" + AppID = "wx21724a42aebe20cc" + APIKey = "83f8932eb742257316e3168ba9e920dk" + MchID = "1545449631" ) var ( diff --git a/internal/cron/task.go b/internal/cron/task.go index 7d7a4d8..c0dbb9f 100644 --- a/internal/cron/task.go +++ b/internal/cron/task.go @@ -63,7 +63,7 @@ func Task(c *cron.Cron) { } if configs.IsProductionEnv() { - go ShaMaMq() + //go ShaMaMq() } } diff --git a/internal/gateway/app/v1.go b/internal/gateway/app/v1.go index cca98e7..d64c1d9 100755 --- a/internal/gateway/app/v1.go +++ b/internal/gateway/app/v1.go @@ -351,9 +351,9 @@ func SetupRouter(v1 *gin.RouterGroup) { payR.POST("/recookpay/balance/query", recookpay.QueryBalance) // 余额查询 payR.POST("/order/query", wxpay.QueryOrderPay) // 支付状态查询 - payR.POST("/alipay/order/create", alipay.PayOrder) // 创建支付宝订单 - payR.POST("/alipay/callback", alipay.PayCallback) // 支付通知 - payR.POST("/alipay/wap/pay", alipay.CreateH5Alipay) // H5支付宝支付 + payR.POST("/alipay/order/create", alipay.PayOrder) // 创建支付宝订单 + payR.POST("/alipay/callback", alipay.PayCallback) // 支付通知 + //payR.POST("/alipay/wap/pay", alipay.CreateH5Alipay) // H5支付宝支付 payR.POST("/alipay/h5_callback", alipay.H5Callback) // 支付通知 payR.POST("/wxpay/order/create", wxpay.PayOrder) // 微信创建订单 diff --git a/main.go b/main.go index 645fa9e..4bc9903 100644 --- a/main.go +++ b/main.go @@ -58,6 +58,12 @@ func main() { gin.SetMode("debug") } + // 初始化配置 + closes := initApp() + // 关闭资源 + for _, fn := range closes { + defer fn() + } /*将今天的数据copy一份分发到接下来的30天*/ manageServer := &http.Server{