This commit is contained in:
2026-06-30 10:33:56 +08:00
commit 6e047dc0a5
607 changed files with 65966 additions and 0 deletions
@@ -0,0 +1,42 @@
import { Injectable } from '@nestjs/common';
import { PrismaService } from '../../common/prisma/prisma.module';
import { serializeBigInt } from '../../common/decorators/current-user.decorator';
@Injectable()
export class SettlementService {
constructor(private readonly prisma: PrismaService) {}
async createStorePayout(
redeemRecordId: bigint,
storeId: bigint,
redeemAmount: number,
payoutAmount: number,
settlementRate: number,
) {
const expectedPayAt = new Date();
expectedPayAt.setDate(expectedPayAt.getDate() + 1);
const payout = await this.prisma.storePayout.create({
data: {
redeemRecordId,
storeId,
redeemAmount,
payoutAmount,
settlementRate,
status: 'PENDING',
expectedPayAt,
},
});
return serializeBigInt(payout);
}
async listPartnerBills(partnerAccountId: bigint) {
const account = await this.prisma.partnerAccount.findUniqueOrThrow({
where: { id: partnerAccountId },
});
const bills = await this.prisma.partnerBill.findMany({
where: { partnerId: account.partnerId },
orderBy: { createdAt: 'desc' },
});
return serializeBigInt(bills);
}
}