更新
This commit is contained in:
1 parent
5718a00e31
commit
1850ac640e
226 files changed
+37772
-12071
No files matched your search
@@ -13,6 +13,7 @@ import (
|
||||
"time"
|
||||
|
||||
"server/models"
|
||||
"server/pkg/identity"
|
||||
"server/pkg/jwtutil"
|
||||
"server/services/payment"
|
||||
|
||||
@@ -32,22 +33,7 @@ func (c *PlatformPaymentController) platformClaims() (*jwtutil.Claims, error) {
|
||||
|
||||
// paymentPlatformClaims 平台端鉴权(支付相关控制器共用),传各控制器内嵌的 &c.Controller
|
||||
func paymentPlatformClaims(c *beego.Controller) (*jwtutil.Claims, error) {
|
||||
auth := c.Ctx.Request.Header.Get("Authorization")
|
||||
if auth == "" {
|
||||
return nil, fmt.Errorf("未登录")
|
||||
}
|
||||
parts := strings.SplitN(auth, " ", 2)
|
||||
if len(parts) != 2 || parts[0] != "Bearer" {
|
||||
return nil, fmt.Errorf("认证信息格式错误")
|
||||
}
|
||||
claims, err := jwtutil.ParseToken(parts[1])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("无效的token")
|
||||
}
|
||||
if claims.UserType != "platform" {
|
||||
return nil, fmt.Errorf("无权访问")
|
||||
}
|
||||
return claims, nil
|
||||
return identity.Claims(c.Ctx.Request.Header.Get("Authorization"), identity.EndPlatform)
|
||||
}
|
||||
|
||||
func (c *PlatformPaymentController) jsonErr(httpStatus, bizCode int, msg string) {
|
||||
@@ -153,7 +139,8 @@ func loadMergedConfig(channel string, p *paymentChannelPayload) (*payment.Channe
|
||||
// ListChannels GET /platform/payment/channels 渠道概览
|
||||
func (c *PlatformPaymentController) ListChannels() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
var rows []models.PlatformPaymentChannel
|
||||
@@ -178,7 +165,8 @@ func (c *PlatformPaymentController) ListChannels() {
|
||||
// GetChannel GET /platform/payment/channels/:channel 渠道配置详情(敏感字段掩码)
|
||||
func (c *PlatformPaymentController) GetChannel() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
channel := c.Ctx.Input.Param(":channel")
|
||||
@@ -203,7 +191,8 @@ func (c *PlatformPaymentController) GetChannel() {
|
||||
func (c *PlatformPaymentController) SaveChannel() {
|
||||
claims, err := c.platformClaims()
|
||||
if err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
channel := c.Ctx.Input.Param(":channel")
|
||||
@@ -282,7 +271,8 @@ func (c *PlatformPaymentController) SaveChannel() {
|
||||
// TestChannel POST /platform/payment/channels/:channel/test 测试连接(支持未保存参数)
|
||||
func (c *PlatformPaymentController) TestChannel() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
channel := c.Ctx.Input.Param(":channel")
|
||||
@@ -322,7 +312,8 @@ func (c *PlatformPaymentController) TestChannel() {
|
||||
// ToggleChannel POST /platform/payment/channels/:channel/status 启用/停用
|
||||
func (c *PlatformPaymentController) ToggleChannel() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
channel := c.Ctx.Input.Param(":channel")
|
||||
@@ -365,7 +356,8 @@ func b2i(v bool) int8 {
|
||||
// 文件路径写入 cert_json,密钥内容绝不入库、不回显。
|
||||
func (c *PlatformPaymentController) UploadCertificate() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
channel := c.Ctx.Input.Param(":channel")
|
||||
@@ -461,7 +453,8 @@ func paymentOrderDTO(row *models.PlatformPaymentOrder) map[string]interface{} {
|
||||
// ListOrders GET /platform/payment/orders 支付单列表
|
||||
func (c *PlatformPaymentController) ListOrders() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
page, _ := strconv.Atoi(c.GetString("page", "1"))
|
||||
@@ -521,7 +514,8 @@ func (c *PlatformPaymentController) ListOrders() {
|
||||
// OrderDetail GET /platform/payment/orders/:payNo 支付单详情(含状态流转 + 最近回调原文)
|
||||
func (c *PlatformPaymentController) OrderDetail() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
payNo := c.Ctx.Input.Param(":payNo")
|
||||
@@ -565,7 +559,8 @@ func (c *PlatformPaymentController) OrderDetail() {
|
||||
// QueryOrder POST /platform/payment/orders/:payNo/query 手动查询渠道状态(兜底回调丢失)
|
||||
func (c *PlatformPaymentController) QueryOrder() {
|
||||
if _, err := c.platformClaims(); err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
payNo := c.Ctx.Input.Param(":payNo")
|
||||
@@ -592,7 +587,8 @@ func (c *PlatformPaymentController) QueryOrder() {
|
||||
func (c *PlatformPaymentController) Refund() {
|
||||
claims, err := c.platformClaims()
|
||||
if err != nil {
|
||||
c.jsonErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.jsonErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
body, _ := io.ReadAll(c.Ctx.Request.Body)
|
||||
|
||||
Reference in new issue
Block a user