## 적용된 변경사항
### 백엔드
- **`wos_coupons` 테이블에 `is_expired` 컬럼 추가** (TypeORM synchronize로 자동 생성)
- **`redeemAll` 로직 개선**:
- 이미 `성공` / `이미 수령` 로그 있는 쿠폰 → 자동 **스킵** (재지급 안 함)
- `err_code: 40008` (RECEIVED) → **성공** 처리 (`이미 수령` 메시지)
- `err_code: 40007` (TIME ERROR) → DB에서 `is_expired = true, is_active = false` 업데이트
- **매일 오전 9시 자동 실행** (`@Cron('0 0 9 * * *')`) - 저장된 모든 유저에게 미수령 쿠폰 자동 지급
### 프론트엔드
- **삭제 버튼 제거**
- 만료된 쿠폰은 **보라색 "만료" 배지** 표시, 토글 버튼 숨김
- 활성 쿠폰 카운트에서 만료 제외
26 lines
852 B
TypeScript
26 lines
852 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { WosModule } from './wos/wos.module';
|
|
import { WosUser } from './entities/wos-user.entity';
|
|
import { CouponLog } from './entities/coupon-log.entity';
|
|
import { WosCoupon } from './entities/wos-coupon.entity';
|
|
|
|
@Module({
|
|
imports: [
|
|
ScheduleModule.forRoot(),
|
|
TypeOrmModule.forRoot({
|
|
type: 'mysql',
|
|
host: process.env.DB_HOST || 'localhost',
|
|
port: Number(process.env.DB_PORT) || 3306,
|
|
username: process.env.DB_USERNAME || 'kakao',
|
|
password: process.env.DB_PASSWORD || '486251daKWON@',
|
|
database: process.env.DB_DATABASE || 'kakao',
|
|
entities: [WosUser, CouponLog, WosCoupon],
|
|
synchronize: true,
|
|
}),
|
|
WosModule,
|
|
],
|
|
})
|
|
export class AppModule {}
|