优化线下结算筛选

This commit is contained in:
yml2213
2026-08-16 20:00:09 +08:00
parent c06e5aaafd
commit 58f11b2043
11 changed files with 212 additions and 59 deletions
@@ -175,6 +175,32 @@ func TestRepositoryListAdminFiltersOwnerPhone(t *testing.T) {
}
}
func TestRepositoryListAdminFiltersOfflineSettlementStatus(t *testing.T) {
repo, db := newPickupTestRepo(t)
first := seedPickup(t, db, StatusCompleted)
if err := db.Model(&first).Updates(map[string]any{
"settlement_mode": SettlementModePlatformManaged,
"offline_settlement_status": OfflineSettlementStatusPending,
}).Error; err != nil {
t.Fatalf("设置待线下结算提号失败: %v", err)
}
second := first
second.ID = 0
second.PickupNo = "PK-OFFLINE-SETTLED-001"
second.OfflineSettlementStatus = OfflineSettlementStatusSettled
if err := db.Create(&second).Error; err != nil {
t.Fatalf("创建已线下结算提号失败: %v", err)
}
result, err := repo.ListAdmin(t.Context(), AdminPickupQuery{OfflineSettlementStatus: OfflineSettlementStatusPending})
if err != nil {
t.Fatalf("ListAdmin() error = %v", err)
}
if result.Total != 1 || len(result.Items) != 1 || result.Items[0].OfflineSettlementStatus != OfflineSettlementStatusPending {
t.Fatalf("待线下结算筛选结果 = %+v", result)
}
}
func TestRepositoryListShopNamesReturnsDistinctPlatformOptions(t *testing.T) {
repo, db := newPickupTestRepo(t)
first := seedPickup(t, db, StatusPickingUp)