# Kylin Law Case

Kylin 智慧律所案件系统核心扩展包。

## 功能特性

- **案件管理**：案件全生命周期管理（立案→办案→结案→归档）
- **客户管理**：客户信息加密存储（身份证号、手机号、邮箱）
- **利益冲突检索**：防止同一案件为双方代理
- **时限预警**：7 天/3 天/1 天三级预警，防止超期
- **文档管理**：法律文书模板、上传、审批、归档
- **费用管理**：计费、开票、费用统计
- **庭审排期**：日程提醒、排期管理
- **操作审计**：全操作日志记录，保留 180 天

## 安装

```bash
composer require kylin/law-case
```

## 配置发布

```bash
php artisan vendor:publish --tag=law-case-config
php artisan vendor:publish --tag=law-case-migrations
php artisan migrate
php artisan law-case:install
```

## 使用示例

### 案件管理

```php
use Kylin\LawCase\Facades\KylinLawCase;

// 创建案件
$case = KylinLawCase::createCase([
    'title' => '张三诉李四合同纠纷',
    'type' => 'civil',
    'client_id' => 1,
]);

// 利益冲突检索
$hasConflict = KylinLawCase::checkConflict([
    'plaintiff' => '张三',
    'defendant' => '李四',
]);
```

### 时限预警

```php
php artisan law-case:scan-deadlines
```

## 配置项

| 配置键 | 默认值 | 说明 |
|------|------|------|
| `case_no_prefix` | CASE | 案件编号前缀 |
| `deadline_warning_days` | [7, 3, 1] | 时限预警天数 |
| `allowed_document_types` | [pdf, doc, docx, ...] | 文档上传白名单 |
| `max_document_size` | 50 | 文档最大上传尺寸（MB） |
| `encrypted_fields` | [id_number, phone, email] | 加密字段 |
| `log_retention_days` | 180 | 操作日志保留天数 |
| `session_lifetime_pc` | 30 | PC 会话超时（分钟） |
| `session_lifetime_mobile` | 10080 | 移动端会话超时（分钟） |

## 依赖

- PHP ^8.5
- Laravel ^13.0
- kylin/core
- kylin/rbac
- kylin/user
- kylin/auth
- kylin/audit-log
- kylin/storage
- kylin/notification
- kylin/settings
- kylin/dictionary

## 许可证

私有软件，未经授权禁止使用。