feat: 더미 데이터 시더 추가 및 회계 관련 마이그레이션

- DummyDataSeeder 및 개별 시더 추가 (Client, BadDebt, Deposit 등)
- payments.paid_at nullable 마이그레이션
- subscriptions 취소 컬럼 추가
- clients 테이블 bad_debt 컬럼 제거
- PlanController, ClientService 수정
- 불필요한 claudedocs, flow-test 파일 정리
This commit is contained in:
2025-12-24 08:54:52 +09:00
parent 71123128ff
commit 8686b199ee
30 changed files with 1278 additions and 2655 deletions

View File

@@ -2,9 +2,11 @@
namespace App\Models\Orders;
use App\Models\BadDebts\BadDebt;
use App\Traits\BelongsToTenant;
use App\Traits\ModelTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Client extends Model
{
@@ -32,11 +34,6 @@ class Client extends Model
'tax_amount',
'tax_start_date',
'tax_end_date',
'bad_debt',
'bad_debt_amount',
'bad_debt_receive_date',
'bad_debt_end_date',
'bad_debt_progress',
'memo',
'is_active',
'client_type',
@@ -51,10 +48,6 @@ class Client extends Model
'tax_amount' => 'decimal:2',
'tax_start_date' => 'date',
'tax_end_date' => 'date',
'bad_debt' => 'boolean',
'bad_debt_amount' => 'decimal:2',
'bad_debt_receive_date' => 'date',
'bad_debt_end_date' => 'date',
];
protected $hidden = [
@@ -73,6 +66,20 @@ public function orders()
return $this->hasMany(Order::class, 'client_id');
}
// 악성채권 관계
public function badDebts(): HasMany
{
return $this->hasMany(BadDebt::class);
}
// 활성 악성채권 관계 (추심중, 법적조치)
public function activeBadDebts(): HasMany
{
return $this->hasMany(BadDebt::class)
->whereIn('status', [BadDebt::STATUS_COLLECTING, BadDebt::STATUS_LEGAL_ACTION])
->where('is_active', true);
}
// 스코프
public function scopeActive($query)
{