优化结构

This commit is contained in:
Yvan
2026-08-28 13:56:12 +08:00
parent 33ba777137
commit 56f9440a6b
32 changed files with 159 additions and 270 deletions
+2
View File
@@ -122,6 +122,8 @@ func (d *Data) removeIntegrationConfigFromFile() error {
}
func (d *Data) reloadConfig(ctx context.Context) error {
// Explicit reload is the lifecycle boundary that rebuilds database, cache,
// Mongo, storage, and integration clients after a file snapshot change.
d.configMu.Lock()
defer d.configMu.Unlock()
configPath := d.runtime.ConfigPath()
+1 -1
View File
@@ -411,7 +411,7 @@ func paymentCreateRequiresNotifyURL(provider string, extra, config map[string]an
if value == "" {
value = paymentkit.FirstText(config, keys...)
}
normalized := strings.NewReplacer(".", "_", "-", "_", " ", "_").Replace(strings.ToLower(strings.TrimSpace(value)))
normalized := paymentkit.NormalizePaymentMethod(value)
switch provider {
case bizpayment.PaymentAlipay, bizpayment.PaymentAlipayV3:
return !paymentkit.ContainsFold([]string{"pay", "trade_pay", "alipay_trade_pay", "barcode", "barcode_pay", "micropay", "face_to_face"}, normalized)
+24
View File
@@ -66,3 +66,27 @@ func TestParameterRepositoryKeepsReferenceEmptyQuerySemantics(t *testing.T) {
t.Fatalf("empty bulk delete removed rows: count=%d", count)
}
}
func TestParameterUpdateDoesNotReviveSoftDeletedRow(t *testing.T) {
data := newTransactionTestData(t)
repo := &parameterRepo{data: data}
ctx := context.Background()
item := &system.SystemParameter{Name: "before-delete", Key: "soft-delete-key", Value: "value"}
if err := repo.CreateParameter(ctx, item); err != nil {
t.Fatal(err)
}
if err := data.gormDB.WithContext(ctx).Delete(&parameterPO{}, item.ID).Error; err != nil {
t.Fatal(err)
}
item.Name = "must-not-revive"
if err := repo.UpdateParameter(ctx, item); err != nil {
t.Fatal(err)
}
var persisted parameterPO
if err := data.gormDB.WithContext(ctx).Unscoped().First(&persisted, item.ID).Error; err != nil {
t.Fatal(err)
}
if persisted.Name != "before-delete" || persisted.DeletedAt.Time.IsZero() {
t.Fatalf("soft-deleted row changed or revived: %+v", persisted)
}
}