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
@@ -1,8 +1,11 @@
import { Body, Controller, Get, Param, Post, Put, Query, Res, UseGuards } from '@nestjs/common';
import type { Response } from 'express';
import { IsOptional, IsString, MaxLength } from 'class-validator';
import { Transform } from 'class-transformer';
import { IsBoolean, IsOptional, IsString, MaxLength } from 'class-validator';
import { JwtAuthGuard, AuthUser } from '../../common/guards/jwt-auth.guard';
import { OptionalJwtAuthGuard } from '../../common/guards/optional-jwt-auth.guard';
import { PartnerPrimaryGuard } from '../../common/guards/partner-primary.guard';
import { PartnerPermissionGuard } from '../../common/guards/partner-permission.guard';
import { CurrentUser } from '../../common/decorators/current-user.decorator';
import { PartnerAssocService } from './partner-assoc.service';
@@ -16,6 +19,17 @@ class BindPartnerAssocDto {
partnerId?: string;
}
class TouchPartnerAssocDto extends BindPartnerAssocDto {
@IsOptional()
@Transform(({ value }) => {
if (value === false || value === 'false' || value === 0 || value === '0') return false;
if (value === true || value === 'true' || value === 1 || value === '1') return true;
return undefined;
})
@IsBoolean()
countScan?: boolean;
}
class PartnerAssocRemarkDto {
@IsOptional()
@IsString()
@@ -23,6 +37,21 @@ class PartnerAssocRemarkDto {
remark?: string | null;
}
@Controller('user/partner-assoc')
export class UserPartnerAssocPublicController {
constructor(private readonly assoc: PartnerAssocService) {}
@Post('touch')
@UseGuards(OptionalJwtAuthGuard)
touch(@Body() dto: TouchPartnerAssocDto) {
return this.assoc.touchScan({
scene: dto.scene,
partnerId: dto.partnerId,
countScan: dto.countScan,
});
}
}
@Controller('user/partner-assoc')
@UseGuards(JwtAuthGuard)
export class UserPartnerAssocController {
@@ -35,7 +64,7 @@ export class UserPartnerAssocController {
}
@Controller('partner/assoc')
@UseGuards(JwtAuthGuard, PartnerPrimaryGuard)
@UseGuards(JwtAuthGuard, PartnerPermissionGuard)
export class PartnerAssocController {
constructor(private readonly assoc: PartnerAssocService) {}