50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import type {
|
|
// PageableList,
|
|
PageableParams,
|
|
} from "@/shared/model";
|
|
|
|
export interface BoardStatisticsParams extends PageableParams {
|
|
keywordType?: string;
|
|
keyword?: string;
|
|
siteId?: string;
|
|
startDate?: string;
|
|
endDate?: string;
|
|
}
|
|
|
|
export interface BoardStatistics {
|
|
bbsTotalDto: BbsTotalDto; // 게시판 전체 통계
|
|
pstAnsList: PstAnswerStatistics[]; // 게시물 답변 상태별 통계 목록
|
|
bbsDailyList: BbsDailyStatistics[]; // 게시판 일별 통계 목록
|
|
bbsPstCntList: BbsPostCountStatistics[]; // 게시판별 게시물 건수 통계 목록
|
|
}
|
|
|
|
interface BbsTotalDto {
|
|
pstInqCnt: number; // 게시물 조회 건수
|
|
pstEvlAvg: number; // 게시물 평가 평균
|
|
pstTotCnt: number; // 게시물 총 건수
|
|
pstAnsWaitCnt: number; // 게시물 답변 대기 건수
|
|
}
|
|
|
|
interface PstAnswerStatistics {
|
|
answerNm: string; // 답변 명
|
|
answerYn: string; // 답변 여부 (Y/N)
|
|
ansCnt: number; // 답변 건수
|
|
}
|
|
|
|
interface BbsDailyStatistics {
|
|
dayYmd: string; // 일자 (YYYY-MM-DD)
|
|
pstInqCnt: number; // 게시물 조회 건수
|
|
pstCmntCnt: number; // 게시물 댓글 건수
|
|
pstNewCnt: number; // 게시물 신규 건수
|
|
}
|
|
|
|
interface BbsPostCountStatistics {
|
|
bbsId: number; // 게시판 ID
|
|
bbsNm: string; // 게시판 명
|
|
pstCnt: number; // 게시물 건수
|
|
}
|
|
|
|
export interface BoardStatisticsService {
|
|
getBoardStatistics(params: BoardStatisticsParams): Promise<BoardStatistics>;
|
|
}
|