Files
Gnuboard7/modules/_bundled/sirsoft-ecommerce/src/Console/Commands/PruneExpiredTempOrdersCommand.php
T
HeuJung 4e1ec6e001 fix(core,admin_basic,board,ecommerce,page,gdpr,verification): 설정 미러·자동 정리·탈퇴 원자성·일괄 선택 범위 정비
공개이슈 ··· 및 그 전수 해소분.

- 설정 저장·복원·초기화가 상주 프로세스 미러를 갱신하도록 단일 소유자화
- 만료 데이터 자동 정리 예약 12종 신설, 파기는 기본키 배치로 분할
- 회원 탈퇴를 전 경로 원자화하고 관리자 상태변경 경로를 정식 탈퇴로 통일
- 일괄 처리 목록의 선택을 화면에 보이는 행으로 한정(selectionScope)
- 비밀번호 정책 문구를 도메인 중립 라벨로 정정
- 정적 검사 2종·검증 스킬 설계 정합성 축 신설
2026-08-14 11:06:25 +09:00

47 lines
1.2 KiB
PHP

<?php
namespace Modules\Sirsoft\Ecommerce\Console\Commands;
use Illuminate\Console\Command;
use Modules\Sirsoft\Ecommerce\Services\TempOrderService;
/**
* 만료 임시 주문 자동 정리 커맨드
*
* 임시 주문은 체크아웃 진입마다 생성되고 30분 TTL 로 만료되지만, 만료된 행을
* 실제로 삭제하는 주체가 없어 무한히 누적됩니다. 스케줄러에서 주기적으로 실행합니다.
*
* @example php artisan sirsoft-ecommerce:prune-temp-orders
*/
class PruneExpiredTempOrdersCommand extends Command
{
/**
* 커맨드 이름 및 시그니처
*
* @var string
*/
protected $signature = 'sirsoft-ecommerce:prune-temp-orders';
/**
* 커맨드 설명
*
* @var string
*/
protected $description = '만료된 임시 주문을 삭제합니다.';
/**
* 커맨드 실행
*
* @param TempOrderService $tempOrderService 임시 주문 서비스
* @return int 종료 코드
*/
public function handle(TempOrderService $tempOrderService): int
{
$deleted = $tempOrderService->cleanupExpiredTempOrders();
$this->info("만료된 임시 주문 {$deleted}건이 삭제되었습니다.");
return Command::SUCCESS;
}
}