v3.5.8和v3.5.9版本更新
CI / verify (pull_request) Waiting to run

This commit is contained in:
2026-08-25 09:20:32 +08:00
parent 7304c7a8e1
commit 5935024ea8
101 changed files with 7640 additions and 5364 deletions
@@ -4,6 +4,7 @@ import { resolveMaxPartnerCommissionRate, validatePartnerCommissionRates } from
import { PrismaService } from '../../common/prisma/prisma.module';
import { serializeBigInt } from '../../common/decorators/current-user.decorator';
import { PartnerCityService } from '../city-scope/partner-city.service';
import { HqPermissionsResolver } from '../../common/guards/hq-permission.guard';
import type { AdminCitiesQueryDto } from './dto/admin-query.dto';
import type { CreateCityDto, UpdateCityDto } from './dto/admin-mutate.dto';
@@ -12,9 +13,10 @@ export class AdminCitiesService {
constructor(
private readonly prisma: PrismaService,
private readonly partnerCityService: PartnerCityService,
private readonly hqPermissions: HqPermissionsResolver,
) {}
async list(query: AdminCitiesQueryDto) {
async list(query: AdminCitiesQueryDto, actorId?: bigint) {
const page = query.page ?? 1;
const pageSize = query.pageSize ?? 20;
const where: Prisma.CommonCityWhereInput = {};
@@ -24,6 +26,12 @@ export class AdminCitiesService {
if (query.partnerId) {
where.partnerAccounts = { some: { id: BigInt(query.partnerId), isPrimary: 1 } };
}
if (actorId) {
const scope = await this.hqPermissions.resolveCityScope(actorId);
if (scope !== null) {
where.id = { in: scope.length ? scope : [BigInt(0)] };
}
}
const [items, total] = await Promise.all([
this.prisma.commonCity.findMany({