1
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import api, { PageResponse, unwrap } from './request';
|
||||
|
||||
// ── Response VO ────────────────────────────────────────────────────────────
|
||||
export interface DeductionResp {
|
||||
deductionId: number;
|
||||
agentId: number;
|
||||
agentName: string;
|
||||
settleMonth: string; // YYYYMM
|
||||
deductionType: string;
|
||||
deductionTypeName: string;
|
||||
amount: number; // BigDecimal → number
|
||||
description?: string;
|
||||
status: string;
|
||||
statusName: string;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
// ── Request VO ─────────────────────────────────────────────────────────────
|
||||
export interface DeductionSaveReq {
|
||||
agentId: number;
|
||||
settleMonth: string; // YYYYMM 6자리
|
||||
deductionType: string;
|
||||
amount: number; // 양수
|
||||
description?: string;
|
||||
}
|
||||
|
||||
// ── Search Params ──────────────────────────────────────────────────────────
|
||||
export interface DeductionSearchParam {
|
||||
agentId?: number;
|
||||
settleMonth?: string;
|
||||
deductionType?: string;
|
||||
status?: string;
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
}
|
||||
|
||||
// ── API ────────────────────────────────────────────────────────────────────
|
||||
export const deductionApi = {
|
||||
list: (p: DeductionSearchParam) =>
|
||||
unwrap<PageResponse<DeductionResp>>(api.get('/api/deductions', { params: p })),
|
||||
|
||||
get: (deductionId: number) =>
|
||||
unwrap<DeductionResp>(api.get(`/api/deductions/${deductionId}`)),
|
||||
|
||||
create: (req: DeductionSaveReq) =>
|
||||
unwrap<number>(api.post('/api/deductions', req)),
|
||||
|
||||
update: (deductionId: number, req: DeductionSaveReq) =>
|
||||
unwrap<void>(api.put(`/api/deductions/${deductionId}`, req)),
|
||||
|
||||
cancel: (deductionId: number) =>
|
||||
unwrap<void>(api.put(`/api/deductions/${deductionId}/cancel`)),
|
||||
};
|
||||
Reference in New Issue
Block a user