webadmin增加财务模块

This commit is contained in:
2026-07-14 15:16:41 +08:00
parent 450dc44d0e
commit d61a43cc8c
15 changed files with 1352 additions and 132 deletions
@@ -59,9 +59,49 @@ export class AdminStorePayoutController {
pageSize: query.pageSize ? Number(query.pageSize) : 20,
status: query.status,
storeId: query.storeId,
dateFrom: query.dateFrom,
dateTo: query.dateTo,
});
}
@Get('daily')
daily(@Query() query: Record<string, string>) {
return this.settlementService.listAdminStoreDailyBills({
page: query.page ? Number(query.page) : 1,
pageSize: query.pageSize ? Number(query.pageSize) : 50,
status: query.status,
storeId: query.storeId,
dateFrom: query.dateFrom,
dateTo: query.dateTo,
});
}
@Get('export')
export(@Query() query: Record<string, string>) {
return this.settlementService.exportAdminStorePayouts({
status: query.status,
storeId: query.storeId,
dateFrom: query.dateFrom,
dateTo: query.dateTo,
});
}
@Post('batch-confirm')
@HqOperation({
action: HqOperationAction.STORE_PAYOUT_BATCH_CONFIRM,
refType: 'STORE_PAYOUT',
batch: true,
includeBody: true,
})
batchConfirm(@Body() body: { ids: string[]; batchNo?: string }) {
return this.settlementService.batchConfirmStorePayouts(body.ids ?? [], body);
}
@Post('scan-due')
scanDue() {
return this.settlementService.scanDueStorePayouts();
}
@Get(':id')
detail(@Param('id') id: string) {
return this.settlementService.getAdminStorePayout(BigInt(id));
@@ -77,22 +117,6 @@ export class AdminStorePayoutController {
confirm(@Param('id') id: string, @Body() body: { paymentRef?: string; batchNo?: string; remark?: string }) {
return this.settlementService.confirmStorePayout(BigInt(id), body);
}
@Post('batch-confirm')
@HqOperation({
action: HqOperationAction.STORE_PAYOUT_BATCH_CONFIRM,
refType: 'STORE_PAYOUT',
batch: true,
includeBody: true,
})
batchConfirm(@Body() body: { ids: string[]; batchNo?: string }) {
return this.settlementService.batchConfirmStorePayouts(body.ids ?? [], body);
}
@Post('scan-due')
scanDue() {
return this.settlementService.scanDueStorePayouts();
}
}
@Controller('admin/partner-bills')
@@ -111,6 +135,17 @@ export class AdminPartnerBillController {
return this.settlementService.generatePartnerBill(body);
}
@Post('generate-all')
@HqOperation({
action: HqOperationAction.PARTNER_BILL_GENERATE,
refType: 'PARTNER_BILL',
batch: true,
includeBody: true,
})
generateAll(@Body() body: { year: number; month: number }) {
return this.settlementService.generateAllPartnerBills(body);
}
@Get()
list(@Query() query: Record<string, string>) {
return this.settlementService.listAdminPartnerBills({
@@ -118,6 +153,8 @@ export class AdminPartnerBillController {
pageSize: query.pageSize ? Number(query.pageSize) : 20,
status: query.status,
partnerId: query.partnerId,
year: query.year ? Number(query.year) : undefined,
month: query.month ? Number(query.month) : undefined,
});
}
@@ -126,6 +163,8 @@ export class AdminPartnerBillController {
return this.settlementService.exportPartnerBills({
partnerId: query.partnerId,
status: query.status,
year: query.year ? Number(query.year) : undefined,
month: query.month ? Number(query.month) : undefined,
});
}
@@ -156,6 +195,32 @@ export class AdminPartnerBillController {
}
}
@Controller('admin/winery-bills')
@UseGuards(HqAuthGuard)
export class AdminWineryBillController {
constructor(private readonly settlementService: SettlementService) {}
@Get()
list(@Query() query: Record<string, string>) {
return this.settlementService.listAdminWineryBills({
page: query.page ? Number(query.page) : 1,
pageSize: query.pageSize ? Number(query.pageSize) : 20,
year: query.year ? Number(query.year) : undefined,
month: query.month ? Number(query.month) : undefined,
deliveryType: query.deliveryType,
});
}
@Get('export')
export(@Query() query: Record<string, string>) {
return this.settlementService.exportAdminWineryBills({
year: query.year ? Number(query.year) : undefined,
month: query.month ? Number(query.month) : undefined,
deliveryType: query.deliveryType,
});
}
}
@Controller('partner/me')
@UseGuards(JwtAuthGuard)
export class PartnerMeController {