refactor(gateway): 优化代码结构和性能

- 移除了未使用的 import 语句
- 添加了性能分析工具 profile
- 启用了 pprof HTTP 服务器
- 优化了主函数中的代码结构
- 在 ScanController 中添加了签名验证错误的日志信息
This commit is contained in:
danial
2025-01-20 22:42:39 +08:00
parent 150db8a28e
commit d74af7f185
3 changed files with 25 additions and 19 deletions

3
go.sum
View File

@@ -37,7 +37,6 @@ github.com/duke-git/lancet/v2 v2.3.4/go.mod h1:zGa2R4xswg6EG9I6WnyubDbFO/+A/RROx
github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw=
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw=
github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY=
github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
@@ -52,7 +51,6 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
@@ -87,7 +85,6 @@ github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwd
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=

View File

@@ -317,6 +317,10 @@ func (c *ScanController) CreateOrder() {
if !utils.Md5MFVerify(createdOrder.ToMap(), merchantInfo.MerchantSecret) && !utils.Md5Verify(createdOrder.ToMap(), merchantInfo.MerchantSecret) {
logs.Error("sign验证错误")
logs.Info(createdOrder.ToMap())
logs.Info("第一个加密结果", utils.GetMD5SignMF(createdOrder.ToMap(), merchantInfo.MerchantSecret))
logs.Info("第二个加密结果", utils.GetMD5Sign(createdOrder.ToMap(), utils.SortMap(createdOrder.ToMap()), merchantInfo.MerchantSecret))
c.Data["json"] = response.CommonErr(-1, "sign验证错误")
_ = c.ServeJSON()
return

37
main.go
View File

@@ -2,34 +2,39 @@ package main
import (
_ "gateway/internal/entities/message"
"gateway/internal/entities/notify"
_ "gateway/internal/entities/supplier/third_party"
_ "gateway/internal/models"
_ "gateway/internal/routers"
"gateway/internal/schema/query"
"gateway/internal/service"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
"github.com/pkg/profile"
"net/http"
_ "net/http/pprof"
)
// /网关 处理下单 支付
func main() {
RegisterLogs()
//go func() {
// _ = http.ListenAndServe("0.0.0.0:6060", nil)
//}()
//defer profile.Start(profile.MemProfile,
// profile.CPUProfile,
// profile.GoroutineProfile,
// profile.MutexProfile,
// profile.MemProfileAllocs,
// profile.MemProfileHeap,
// profile.MemProfileRate(1),
//).Stop()
//web.BConfig.WebConfig.Session.SessionOn = true
//go notify.CreateOrderNotifyConsumer()
//go query.CreatePayForQueryConsumer()
//go service.OrderSettleInit()
//go query.CreateSupplierOrderQueryCuConsumer()
go func() {
_ = http.ListenAndServe("0.0.0.0:6060", nil)
}()
defer profile.Start(profile.MemProfile,
profile.CPUProfile,
profile.GoroutineProfile,
profile.MutexProfile,
profile.MemProfileAllocs,
profile.MemProfileHeap,
profile.MemProfileRate(1),
).Stop()
web.BConfig.WebConfig.Session.SessionOn = true
go notify.CreateOrderNotifyConsumer()
go query.CreatePayForQueryConsumer()
go service.OrderSettleInit()
go query.CreateSupplierOrderQueryCuConsumer()
web.Run()
}