加分布式锁
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m0s

This commit is contained in:
Break
2026-06-09 10:54:13 +08:00
parent 4ccbf13197
commit 6a70713b30
5 changed files with 88 additions and 16 deletions

View File

@@ -13,6 +13,7 @@ import (
"github.com/redis/go-redis/v9"
"go.uber.org/zap"
"gorm.io/gorm"
"gorm.io/gorm/clause"
)
const (
@@ -301,7 +302,8 @@ func (s *UsageService) queryActivePackages(tx *gorm.DB, carrierType string, carr
var packages []*model.PackageUsage
if err := query.
Order("CASE WHEN master_usage_id IS NOT NULL THEN 0 ELSE 1 END, priority ASC").
Clauses(clause.Locking{Strength: "UPDATE"}).
Order("CASE WHEN master_usage_id IS NOT NULL THEN 0 ELSE 1 END, priority ASC, id ASC").
Find(&packages).Error; err != nil {
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询生效套餐失败")
}