V4.0.9版本更新合伙人H5端调整

This commit is contained in:
2026-09-02 09:46:41 +08:00
parent af3c4b6f08
commit c905b3f930
33 changed files with 893 additions and 176 deletions
@@ -92,6 +92,32 @@ export class PartnerAssocService {
};
}
async touchScan(input: { scene?: string; partnerId?: string; countScan?: boolean }) {
const partnerIdRaw = parseAssocScene(input.scene) || input.partnerId?.trim();
if (!partnerIdRaw || !/^\d+$/.test(partnerIdRaw)) {
throw new BadRequestException('关联码无效');
}
const primary = await this.partnerCityService.resolvePrimaryAccount(BigInt(partnerIdRaw));
if (primary.isPrimary !== 1 || primary.status !== 'ACTIVE') {
throw new BadRequestException('合伙人不存在或已停用');
}
const shouldCountScan = input.countScan !== false;
let scanCount = primary.assocScanCount ?? 0;
if (shouldCountScan) {
const updated = await this.prisma.partnerAccount.update({
where: { id: primary.id },
data: { assocScanCount: { increment: 1 } },
select: { assocScanCount: true },
});
scanCount = updated.assocScanCount;
}
return {
partnerId: primary.id.toString(),
scanCounted: shouldCountScan,
scanCount,
};
}
async unbindUser(userId: bigint) {
const user = await this.prisma.user.findUnique({ where: { id: userId } });
if (!user) throw new NotFoundException('用户不存在');
@@ -149,9 +175,10 @@ export class PartnerAssocService {
partnerId: primary.id.toString(),
qrcodeUrl: ensured.qrcodeUrl,
userCount,
scanCount: primary.assocScanCount ?? 0,
companyName: primary.companyName,
name: primary.name,
activityPosterId,
activityPosterId: partnerAccountId === primary.id ? activityPosterId : null,
};
}