增加核销接口

增加hq管理端日志
This commit is contained in:
2026-07-06 19:17:27 +08:00
parent f0b99ea9da
commit 4c38a9dd2b
29 changed files with 904 additions and 37 deletions
@@ -3,6 +3,8 @@ import { SettlementService } from './settlement.service';
import { JwtAuthGuard, AuthUser } from '../../common/guards/jwt-auth.guard';
import { CurrentUser } from '../../common/decorators/current-user.decorator';
import { HqAuthGuard } from '../../common/guards/hq-auth.guard';
import { HqOperation } from '../../common/hq-operation/hq-operation.decorator';
import { HqOperationAction } from '../../common/hq-operation/hq-operation.constants';
import { PrismaService } from '../../common/prisma/prisma.module';
@Controller('partner/settlement')
@@ -52,11 +54,23 @@ export class AdminStorePayoutController {
}
@Post(':id/confirm')
@HqOperation({
action: HqOperationAction.STORE_PAYOUT_CONFIRM,
refType: 'STORE_PAYOUT',
refIdParam: 'id',
includeBody: true,
})
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);
}
@@ -73,6 +87,12 @@ export class AdminPartnerBillController {
constructor(private readonly settlementService: SettlementService) {}
@Post('generate')
@HqOperation({
action: HqOperationAction.PARTNER_BILL_GENERATE,
refType: 'PARTNER_BILL',
refIdField: 'id',
includeBody: true,
})
generate(@Body() body: { partnerId: string; year: number; month: number }) {
return this.settlementService.generatePartnerBill(body);
}
@@ -101,11 +121,22 @@ export class AdminPartnerBillController {
}
@Post(':id/confirm')
@HqOperation({
action: HqOperationAction.PARTNER_BILL_CONFIRM,
refType: 'PARTNER_BILL',
refIdParam: 'id',
})
confirm(@Param('id') id: string) {
return this.settlementService.confirmPartnerBill(BigInt(id));
}
@Post(':id/mark-paid')
@HqOperation({
action: HqOperationAction.PARTNER_BILL_MARK_PAID,
refType: 'PARTNER_BILL',
refIdParam: 'id',
includeBody: true,
})
markPaid(@Param('id') id: string, @Body() body: { paymentRef?: string }) {
return this.settlementService.markPartnerBillPaid(BigInt(id), body);
}
@@ -106,18 +106,6 @@ export class SettlementService {
},
});
await this.prisma.commonEvent.create({
data: {
eventType: 'HQ_OPERATION',
refType: 'STORE_PAYOUT',
refId: id,
actorType: 'HQ',
status: 'PAID',
param1: dto.paymentRef ?? '',
remark: dto.remark ?? '门店 T+1 打款确认',
},
});
return serializeBigInt(updated);
}
@@ -269,17 +257,6 @@ export class SettlementService {
data: { status: 'CONFIRMED', confirmedAt: new Date() },
});
await this.prisma.commonEvent.create({
data: {
eventType: 'HQ_OPERATION',
refType: 'PARTNER_BILL',
refId: id,
actorType: 'HQ',
status: 'CONFIRMED',
amount1: Number(updated.totalAmount),
},
});
return serializeBigInt(updated);
}
@@ -293,18 +270,6 @@ export class SettlementService {
data: { status: 'PAID', paidAt: new Date() },
});
await this.prisma.commonEvent.create({
data: {
eventType: 'HQ_OPERATION',
refType: 'PARTNER_BILL',
refId: id,
actorType: 'HQ',
status: 'PAID',
param1: dto.paymentRef ?? '',
amount1: Number(updated.totalAmount),
},
});
return serializeBigInt(updated);
}