合伙人端登录验证调整还有日志落地

This commit is contained in:
2026-07-07 14:34:02 +08:00
parent af989c9d33
commit 2e61caa49c
23 changed files with 1018 additions and 47 deletions
@@ -16,6 +16,11 @@ export type TrackStoreEventInput = TrackEventInput & {
storeId: bigint;
};
export type TrackPartnerEventInput = TrackEventInput & {
partnerAccountId?: bigint;
partnerId: bigint;
};
@Injectable()
export class AnalyticsService {
constructor(private readonly prisma: PrismaService) {}
@@ -58,6 +63,24 @@ export class AnalyticsService {
void this.trackStoreOne(storeAccountId, clientApp, event).catch(() => {});
}
async trackPartnerOne(
partnerAccountId: bigint | undefined,
clientApp: ClientApp | string,
event: TrackPartnerEventInput,
) {
await this.prisma.logPartnerAnalytics.create({
data: this.toPartnerRow(partnerAccountId, clientApp, event),
});
}
trackPartnerOneSafe(
partnerAccountId: bigint | undefined,
clientApp: ClientApp | string,
event: TrackPartnerEventInput,
) {
void this.trackPartnerOne(partnerAccountId, clientApp, event).catch(() => {});
}
private toRow(userId: bigint, clientApp: ClientApp | string, event: TrackEventInput) {
return {
userId,
@@ -85,6 +108,23 @@ export class AnalyticsService {
extraJson: event.extraJson as never,
};
}
private toPartnerRow(
partnerAccountId: bigint | undefined,
clientApp: ClientApp | string,
event: TrackPartnerEventInput,
) {
return {
partnerAccountId,
partnerId: event.partnerId,
eventName: event.eventName,
clientApp: clientApp as ClientApp,
refType: event.refType,
refId: event.refId,
extraJson: event.extraJson as never,
};
}
/** 扫码归因:始终累加 scan_count;已登录用户首次写入 user_promo_attribution */
async touchPromo(promoCode: string, userId?: bigint) {
const code = promoCode.trim().toUpperCase();