Skip to content

Commit 380035d

Browse files
committed
feat: 拆分vo层
1 parent f638075 commit 380035d

26 files changed

+131
-152
lines changed

src/dto/query.list.res.dto.ts

-21
This file was deleted.

src/dto/query.list.vo.ts

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { ApiProperty } from '@nestjs/swagger';
2+
3+
export class QueryListVo {
4+
@ApiProperty({ description: '总页数' })
5+
total: number;
6+
7+
@ApiProperty({ description: '页码' })
8+
pageSize: number;
9+
10+
@ApiProperty({ description: '当前页' })
11+
pageNumber: number;
12+
}

src/dto/query.res.dto.ts src/dto/query.vo.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ApiProperty } from '@nestjs/swagger';
22

3-
export class QueryResDto {
3+
export class QueryVo {
44
@ApiProperty({ description: '主键id' })
55
id?: number;
66

src/modules/admin/system/access/controllers/access/access.controller.ts

+10-11
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ import {
1212
Get,
1313
Query,
1414
} from '@nestjs/common';
15-
import { ApiTags, ApiBearerAuth, ApiOperation, ApiCreatedResponse } from '@nestjs/swagger';
15+
import { ApiTags, ApiBearerAuth, ApiOperation, ApiOkResponse } from '@nestjs/swagger';
1616
import { AuthGuard } from '@src/guard/auth/auth.guard';
1717
import { AccessService } from '../../services/access/access.service';
1818
import { CreateAccessDto } from './dto/create.access.dto';
1919
import { UpdateAccessDto } from './dto/update.access.dto';
20-
import { AccessResDto, AccessListResDtoDto } from './dto/access.res.dto';
20+
import { AccessListVo, AccessVo } from './vo/access.vo';
2121
import { AccessReqDto } from './dto/access.req.dto';
2222
import { ApiAuth } from '@src/decorators/api.auth';
2323

@@ -30,7 +30,7 @@ export class AccessController {
3030
constructor(private readonly accessService: AccessService) {}
3131

3232
@ApiOperation({ summary: '创建资源', description: '创建资源' })
33-
@ApiCreatedResponse({
33+
@ApiOkResponse({
3434
type: String,
3535
description: '创建资源返回值',
3636
})
@@ -48,7 +48,7 @@ export class AccessController {
4848
}
4949

5050
@ApiOperation({ summary: '修改资源', description: '根据资源ID修改资源' })
51-
@ApiCreatedResponse({
51+
@ApiOkResponse({
5252
type: String,
5353
description: '修改资源的返回值',
5454
})
@@ -64,14 +64,14 @@ export class AccessController {
6464
summary: '获取菜单',
6565
description: '获取全部的菜单(不分页,给角色分配资源使用)',
6666
})
67-
@ApiCreatedResponse({
68-
type: AccessResDto,
67+
@ApiOkResponse({
68+
type: AccessVo,
6969
isArray: true,
7070
description: '获取全部菜单返回DTO',
7171
})
7272
@HttpCode(HttpStatus.OK)
7373
@Get('access_list')
74-
async accessList(): Promise<AccessResDto[]> {
74+
async accessList(): Promise<AccessVo[]> {
7575
return await this.accessService.accessList();
7676
}
7777

@@ -82,13 +82,12 @@ export class AccessController {
8282
url: 'xxx?pageSize=10&pageNumber=1',
8383
},
8484
})
85-
@ApiCreatedResponse({
86-
type: AccessResDto,
87-
isArray: true,
85+
@ApiOkResponse({
86+
type: AccessListVo,
8887
description: '分页获取资源列表',
8988
})
9089
@Get()
91-
async accessListPage(@Query() accessReqDto: AccessReqDto): Promise<AccessListResDtoDto> {
90+
async accessListPage(@Query() accessReqDto: AccessReqDto): Promise<AccessListVo> {
9291
return await this.accessService.accessListPage(accessReqDto);
9392
}
9493
}

src/modules/admin/system/access/controllers/access/dto/access.res.dto.ts src/modules/admin/system/access/controllers/access/vo/access.vo.ts

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { QueryResDto } from '@src/dto/query.res.dto';
2-
import { QueryListVo } from '@src/dto/query.list.res.dto';
1+
import { QueryVo } from '@src/dto/query.vo';
2+
import { QueryListVo } from '@src/dto/query.list.vo';
33
import { ApiProperty } from '@nestjs/swagger';
44

5-
export class AccessResDto extends QueryResDto {
5+
export class AccessVo extends QueryVo {
66
@ApiProperty({ description: '模块名称' })
77
moduleName: string;
88

@@ -28,8 +28,7 @@ export class AccessResDto extends QueryResDto {
2828
description?: string;
2929
}
3030

31-
export class AccessListResDtoDto extends QueryListVo<AccessResDto> {
32-
constructor(pageSize: number, pageNumber: number, data: AccessResDto[]) {
33-
super(pageSize, pageNumber, data);
34-
}
31+
export class AccessListVo extends QueryListVo {
32+
@ApiProperty({ description: '返回数据列表', type: AccessVo, isArray: true })
33+
data: AccessVo[];
3534
}

src/modules/admin/system/access/controllers/menus/menus.controller.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Controller, UseGuards, HttpCode, HttpStatus, Get } from '@nestjs/common';
2-
import { ApiTags, ApiBearerAuth, ApiOperation, ApiCreatedResponse } from '@nestjs/swagger';
2+
import { ApiTags, ApiBearerAuth, ApiOperation, ApiOkResponse } from '@nestjs/swagger';
33
import { AuthGuard } from '@src/guard/auth/auth.guard';
44
import { MenusService } from '../../services/menus/menus.service';
5-
import { MenusListResDto } from './dto/menus.res.dto';
5+
import { MenusListVo } from './vo/menus.vo';
66
import { CurrentUser, ICurrentUserType } from '@src/decorators/current.user';
77

88
@ApiTags('后台管理系统-菜单管理')
@@ -16,14 +16,14 @@ export class MenusController {
1616
summary: '获取菜单列表',
1717
description: '获取菜单',
1818
})
19-
@ApiCreatedResponse({
20-
type: MenusListResDto,
19+
@ApiOkResponse({
20+
type: MenusListVo,
2121
isArray: true,
2222
description: '获取菜单返回值',
2323
})
2424
@HttpCode(HttpStatus.OK)
2525
@Get()
26-
async menusList(@CurrentUser() userInfo: ICurrentUserType): Promise<MenusListResDto[]> {
26+
async menusList(@CurrentUser() userInfo: ICurrentUserType): Promise<MenusListVo[]> {
2727
return await this.menusService.menusList(userInfo);
2828
}
2929
}

src/modules/admin/system/access/controllers/menus/dto/menus.res.dto.ts src/modules/admin/system/access/controllers/menus/vo/menus.vo.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { QueryResDto } from '@src/dto/query.res.dto';
1+
import { QueryVo } from '@src/dto/query.vo';
22
import { ApiProperty } from '@nestjs/swagger';
33

4-
export class MenusListResDto extends QueryResDto {
4+
export class MenusListVo extends QueryVo {
55
@ApiProperty({ description: '名称' })
66
name: string;
77

src/modules/admin/system/access/services/access/access.service.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { InjectRepository } from '@nestjs/typeorm';
55
import { AccessEntity } from '../../entities/access.entity';
66
import { Repository, getConnection } from 'typeorm';
77
import { UpdateAccessDto } from '../../controllers/access/dto/update.access.dto';
8-
import { AccessResDto, AccessListResDtoDto } from '../../controllers/access/dto/access.res.dto';
8+
import { AccessListVo, AccessVo } from '../../controllers/access/vo/access.vo';
99
import { RoleAccessEntity } from '../../../role/entities/role.access.entity';
1010
import { AccessReqDto } from '../../controllers/access/dto/access.req.dto';
1111

@@ -121,7 +121,7 @@ export class AccessService {
121121
* @param {*}
122122
* @return {*}
123123
*/
124-
async accessList(): Promise<AccessResDto[]> {
124+
async accessList(): Promise<AccessVo[]> {
125125
return await this.accessRepository.find({
126126
where: [{ type: 1 }, { type: 2 }],
127127
select: ['id', 'moduleName', 'actionName', 'sort'],
@@ -136,7 +136,7 @@ export class AccessService {
136136
* @param {number} type
137137
* @return {*}
138138
*/
139-
async accessListPage(accessReqDto: AccessReqDto): Promise<AccessListResDtoDto> {
139+
async accessListPage(accessReqDto: AccessReqDto): Promise<AccessListVo> {
140140
const {
141141
pageSize = PageEnum.PAGE_SIZE,
142142
pageNumber = PageEnum.PAGE_NUMBER,

src/modules/admin/system/access/services/menus/menus.service.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common';
22
import { InjectRepository } from '@nestjs/typeorm';
33
import { AccessEntity } from '../../entities/access.entity';
44
import { Repository, getConnection } from 'typeorm';
5-
import { MenusListResDto } from '../../controllers/menus/dto/menus.res.dto';
5+
import { MenusListVo } from '../../controllers/menus/vo/menus.vo';
66
import { ICurrentUserType } from '@src/decorators/current.user';
77
import { AdminIdentityEnum, AccessTypeEnum } from '@src/enums';
88
import { AccountRoleEntity } from '../../../account/entities/account.role.entity';
@@ -34,7 +34,7 @@ export class MenusService {
3434
* @param {ICurrentUserType} userInfo
3535
* @return {*}
3636
*/
37-
async menusList(userInfo: ICurrentUserType): Promise<MenusListResDto[]> {
37+
async menusList(userInfo: ICurrentUserType): Promise<MenusListVo[]> {
3838
/**
3939
* 根据用户权限来返回菜单
4040
* 1.查询全部的菜单
@@ -101,7 +101,7 @@ export class MenusService {
101101
* @param {AccessEntity} accessList
102102
* @return {*}
103103
*/
104-
private formatMenus(accessList: IAccessList[]): MenusListResDto[] {
104+
private formatMenus(accessList: IAccessList[]): MenusListVo[] {
105105
return accessList.map((item: IAccessList) => {
106106
const { id, moduleName, actionName, parentId, url, sort, icon } = item;
107107
return {

src/modules/admin/system/account/controllers/account-role/account-role.controller.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import {
99
Post,
1010
Body,
1111
} from '@nestjs/common';
12-
import { ApiTags, ApiBearerAuth, ApiOperation, ApiCreatedResponse } from '@nestjs/swagger';
12+
import { ApiTags, ApiBearerAuth, ApiOperation, ApiOkResponse } from '@nestjs/swagger';
1313
import { AuthGuard } from '@src/guard/auth/auth.guard';
1414
import { AccountRoleService } from '../../services/account-role/account-role.service';
15-
import { AccountRoleListResDto, RoleAccountListDto } from './dto/account.role.res.dto';
15+
import { AccountRoleListVo, RoleAccountListVo } from './vo/account.role.vo';
1616
import { DistributionRoleDto } from './dto/distribution.role.dto';
1717
import { ApiAuth } from '@src/decorators/api.auth';
1818

@@ -25,21 +25,21 @@ export class AccountRoleController {
2525
constructor(private readonly accountRoleService: AccountRoleService) {}
2626

2727
@ApiOperation({ summary: '获取角色列表', description: '根据当前的账号id获取角色已经授权的角色' })
28-
@ApiCreatedResponse({
29-
type: AccountRoleListResDto,
28+
@ApiOkResponse({
29+
type: AccountRoleListVo,
3030
isArray: true,
3131
description: '根据账号ID查询授权角色返回值',
3232
})
3333
@HttpCode(HttpStatus.OK)
3434
@Get(':accountId')
3535
async accountRoleListByAccountId(
3636
@Param('accountId', new ParseIntPipe()) accountId: number,
37-
): Promise<AccountRoleListResDto[] | undefined> {
37+
): Promise<AccountRoleListVo[] | undefined> {
3838
return this.accountRoleService.accountRoleListByAccountId(accountId);
3939
}
4040

4141
@ApiOperation({ summary: '给账号分配角色', description: '给当前账号分配角色' })
42-
@ApiCreatedResponse({
42+
@ApiOkResponse({
4343
type: String,
4444
description: '给账号授权角色返回值',
4545
})
@@ -50,13 +50,13 @@ export class AccountRoleController {
5050
}
5151

5252
@ApiOperation({ summary: '根据全部的角色', description: '给账号分配角色的时候使用' })
53-
@ApiCreatedResponse({
54-
type: RoleAccountListDto,
53+
@ApiOkResponse({
54+
type: RoleAccountListVo,
5555
isArray: true,
5656
description: '角色返回列表',
5757
})
5858
@Get()
59-
async roleList(): Promise<RoleAccountListDto[]> {
59+
async roleList(): Promise<RoleAccountListVo[]> {
6060
return await this.accountRoleService.roleList();
6161
}
6262
}

src/modules/admin/system/account/controllers/account-role/dto/account.role.res.dto.ts src/modules/admin/system/account/controllers/account-role/vo/account.role.vo.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { ApiProperty } from '@nestjs/swagger';
22

3-
export class AccountRoleListResDto {
3+
export class AccountRoleListVo {
44
@ApiProperty({ required: true, description: '账号ID' })
55
accountId?: number;
66

77
@ApiProperty({ required: true, description: '角色ID' })
88
roleId?: number;
99
}
1010

11-
export class RoleAccountListDto {
11+
export class RoleAccountListVo {
1212
@ApiProperty({ required: true, description: '角色ID' })
1313
id: number;
1414

src/modules/admin/system/account/controllers/account/account.controller.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
HttpStatus,
1313
HttpCode,
1414
} from '@nestjs/common';
15-
import { ApiOperation, ApiCreatedResponse, ApiTags, ApiBearerAuth } from '@nestjs/swagger';
15+
import { ApiOperation, ApiTags, ApiBearerAuth, ApiOkResponse } from '@nestjs/swagger';
1616
import { CreateAccountDto } from './dto/create.account.dto';
1717
import { AccountService } from '../../services/account/account.service';
1818
import { UpdateAccountDto } from './dto/update.account.dto';
@@ -35,7 +35,7 @@ export class AccountController {
3535
summary: '创建账号',
3636
description: '创建账号',
3737
})
38-
@ApiCreatedResponse({
38+
@ApiOkResponse({
3939
type: String,
4040
description: '创建账号返回值',
4141
})
@@ -46,7 +46,7 @@ export class AccountController {
4646
}
4747

4848
@ApiOperation({ summary: '重置为默认密码', description: '根据id重置默认密码' })
49-
@ApiCreatedResponse({ type: String, description: '重置密码返回值' })
49+
@ApiOkResponse({ type: String, description: '重置密码返回值' })
5050
@HttpCode(HttpStatus.OK)
5151
@Post('reset_password')
5252
async resetPassword(@Body() data: { id: number }): Promise<string> {
@@ -55,7 +55,7 @@ export class AccountController {
5555
}
5656

5757
@ApiOperation({ summary: '修改密码', description: '根据账号自己的密码' })
58-
@ApiCreatedResponse({
58+
@ApiOkResponse({
5959
type: String,
6060
description: '修改账号密码返回值',
6161
})
@@ -70,7 +70,7 @@ export class AccountController {
7070
}
7171

7272
@ApiOperation({ summary: '删除账号', description: '根据id删除账号' })
73-
@ApiCreatedResponse({
73+
@ApiOkResponse({
7474
type: String,
7575
description: '修改账号返回值',
7676
})
@@ -81,7 +81,7 @@ export class AccountController {
8181
}
8282

8383
@ApiOperation({ summary: '修改账号信息', description: '根据账号id修改账号信息' })
84-
@ApiCreatedResponse({
84+
@ApiOkResponse({
8585
type: String,
8686
description: '修改账号返回值',
8787
})
@@ -95,7 +95,7 @@ export class AccountController {
9595
}
9696

9797
@ApiOperation({ summary: '查询账号信息', description: '根据账号id查询账号信息' })
98-
@ApiCreatedResponse({
98+
@ApiOkResponse({
9999
type: AccountVo,
100100
description: '查询单条账号返回值',
101101
})
@@ -112,9 +112,8 @@ export class AccountController {
112112
url: 'xx?pageSize=10&pageNumber=1&username=xx&email=xx&mobile=xx&status=0&platform=1',
113113
},
114114
})
115-
@ApiCreatedResponse({
115+
@ApiOkResponse({
116116
type: AccountListVo,
117-
isArray: true,
118117
description: '分页查询账号返回值',
119118
})
120119
@HttpCode(HttpStatus.OK)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { ApiProperty } from '@nestjs/swagger';
2-
import { QueryResDto } from '@src/dto/query.res.dto';
3-
import { QueryListVo } from '@src/dto/query.list.res.dto';
2+
import { QueryListVo } from '@src/dto/query.list.vo';
3+
import { QueryVo } from '@src/dto/query.vo';
44

5-
export class AccountVo extends QueryResDto {
5+
export class AccountVo extends QueryVo {
66
@ApiProperty({ description: '用户名' })
77
username?: string;
88

@@ -18,9 +18,7 @@ export class AccountVo extends QueryResDto {
1818
@ApiProperty({ description: '平台:0表示普通用户(没权限),1表示为运营管理,2表示入住商家' })
1919
platform?: number;
2020
}
21-
22-
export class AccountListVo extends QueryListVo<AccountVo> {
23-
constructor(pageSize: number, pageNumber: number, data: AccountVo[]) {
24-
super(pageSize, pageNumber, data);
25-
}
21+
export class AccountListVo extends QueryListVo {
22+
@ApiProperty({ description: '返回数据列表', type: AccountVo, isArray: true })
23+
data: AccountVo[];
2624
}

0 commit comments

Comments
 (0)