diff --git a/.cursor/skills/abshode-domain-lookup/learned-notes.md b/.cursor/skills/abshode-domain-lookup/learned-notes.md index 79eeb67..f620549 100644 --- a/.cursor/skills/abshode-domain-lookup/learned-notes.md +++ b/.cursor/skills/abshode-domain-lookup/learned-notes.md @@ -6,6 +6,7 @@ - 2026-10-05 | شایگان حسابداری | `ConfigService::accountingProvider` همیشه shayegan + `ShayeganSyncService` | Ws: `2.180.4.172:2030` (عمومی) / `192.168.109.222:2030` (داخلی); SQL Config P-SERVER/CYPRSD04; ارسال وقتی mapping کامل باشد - 2026-10-17 | لاگ ترافیک شایگان | `ShayeganClient::request` | `Log::info` با کلید `shayegan.http_request` / `shayegan.http_response`; رمز `***`; خاموش: setting `shayegan_log_traffic=0` - 2026-10-17 | گروه شایگان در تنظیمات پیشرفته | `settingGroups.resolveSettingMenu` + migration `2026_10_17_000001` | اگر `menu=misc` ولی کلید `shayegan_*` → گروه accounting_shayegan؛ نه «سایر» +- 2026-10-19 | Auth وب‌سرویس شایگان | `shayegan_auth_user` / `shayegan_auth_password` | کاربر وب جدا از sa؛ Domain خالی باید JSON `{}` باشد نه `[]` - 2026-09-06 | گیفت‌کارت | `database/migrations/2026_09_06_000001_create_giftcards_tables.php` | create جداول giftcards و giftcard_codes اگر نباشند؛ drop در down ندارد - 2026-09-08 | خطای «محدودیت فیلد قیمت» در گیفت‌کارت | `app/Exceptions/Handler.php` + `GiftCardController::redeem` | پیام عمومی MySQL ۱۲۶۴ (Out of range) است؛ معمولاً `amount`/`total=count*amount` از ظرفیت ستون بیشتر است، نه باگ فرم ادمین - 2026-09-08 | widen مبلغ گیفت‌کارت | `migrations/2026_09_08_000001_widen_giftcard_amount_columns.php` + `deploy_safe_schema.sql` | `amount`/`total` → DECIMAL(20,4) تا مبالغ ≥۱۰۰ میلیون ریال جا شود diff --git a/app/Services/ShayeganClient.php b/app/Services/ShayeganClient.php index ec2e1da..50d3a54 100644 --- a/app/Services/ShayeganClient.php +++ b/app/Services/ShayeganClient.php @@ -81,7 +81,8 @@ class ShayeganClient { $payload = [ 'Config' => $this->buildConfig(), - 'Domain' => $domain, + // JSON object {} — empty PHP array encodes as [] and Shayegan .NET null-refs + 'Domain' => $domain === [] ? new \stdClass() : $domain, ]; return $this->request('GET_STYLE', $endpoint, $payload, [