fix(adtracking): 修复生产网关反代路由、成交态统计口径与安全加固

This commit is contained in:
yml2213
2026-09-10 11:17:40 +08:00
parent 2b11d70ebe
commit 6a3611c1a8
10 changed files with 140 additions and 28 deletions
+2 -3
View File
@@ -3,7 +3,6 @@ package order
import (
"context"
"encoding/json"
"strings"
"time"
"hfb_sys/backend/internal/model"
@@ -71,11 +70,11 @@ func (r *Repository) Create(ctx context.Context, renterID uint64, req CreateRequ
if err != nil {
return err
}
sourceTrackCode := strings.TrimSpace(req.TrackCode)
sourceTrackCode := sanitizeTrackCode(req.TrackCode)
if sourceTrackCode == "" {
var u model.User
if err := tx.Select("register_track_code").First(&u, renterID).Error; err == nil && u.RegisterTrackCode != "" {
sourceTrackCode = u.RegisterTrackCode
sourceTrackCode = sanitizeTrackCode(u.RegisterTrackCode)
}
}
order := model.RentalOrder{
+12
View File
@@ -3,13 +3,25 @@ package order
import (
"crypto/rand"
"errors"
"regexp"
"strconv"
"strings"
"gorm.io/gorm"
"hfb_sys/backend/internal/auditlog"
"hfb_sys/backend/internal/timeutil"
)
var trackCodePattern = regexp.MustCompile(`^[a-zA-Z0-9_-]{1,64}$`)
func sanitizeTrackCode(code string) string {
s := strings.TrimSpace(code)
if len(s) == 0 || len(s) > 64 || !trackCodePattern.MatchString(s) {
return ""
}
return s
}
func firstNonEmpty(values ...string) string {
for _, value := range values {
if value != "" {