fix: normalize operation log module names across controllers
This commit is contained in:
@@ -38,7 +38,7 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '账单',
|
||||
module: '账单管理',
|
||||
action: '生成账单',
|
||||
detail: `周期 ${dto.periodStart}~${dto.periodEnd}, 生成 ${result.count} 条`,
|
||||
ipAddress,
|
||||
@@ -81,8 +81,8 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '账单',
|
||||
action: `状态变更为${dto.status}`,
|
||||
module: '账单管理',
|
||||
action: '确认账单',
|
||||
targetId: +id,
|
||||
targetType: 'bill',
|
||||
ipAddress,
|
||||
@@ -99,8 +99,8 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '账单',
|
||||
action: `批量状态变更为${body.status}`,
|
||||
module: '账单管理',
|
||||
action: '确认账单',
|
||||
detail: `IDs: ${body.ids.join(',')}`,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
@@ -116,7 +116,7 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '账单',
|
||||
module: '账单管理',
|
||||
action: '删除账单',
|
||||
targetId: +id,
|
||||
targetType: 'bill',
|
||||
@@ -134,7 +134,7 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '账单',
|
||||
module: '账单管理',
|
||||
action: '批量删除账单',
|
||||
detail: `IDs: ${body.ids.join(',')}`,
|
||||
ipAddress,
|
||||
@@ -157,8 +157,8 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req?.user?.id,
|
||||
username: req?.user?.username,
|
||||
module: '账单',
|
||||
action: '导出Excel',
|
||||
module: '账单管理',
|
||||
action: '导出账单',
|
||||
detail: `筛选: 周期${periodStart || '全部'}~${periodEnd || '全部'}, 状态${status || '全部'}`,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
@@ -181,8 +181,8 @@ export class BillsController {
|
||||
await this.logService.log({
|
||||
userId: req?.user?.id,
|
||||
username: req?.user?.username,
|
||||
module: '账单',
|
||||
action: '导出PDF',
|
||||
module: '账单管理',
|
||||
action: '导出账单',
|
||||
targetId: +id,
|
||||
targetType: 'bill',
|
||||
ipAddress,
|
||||
|
||||
@@ -48,7 +48,7 @@ export class DepositsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '押金',
|
||||
module: '押金管理',
|
||||
action: '收取押金',
|
||||
targetId: result.id,
|
||||
targetType: 'deposit',
|
||||
@@ -67,7 +67,7 @@ export class DepositsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '押金',
|
||||
module: '押金管理',
|
||||
action: '退还押金',
|
||||
targetId: +id,
|
||||
targetType: 'deposit',
|
||||
@@ -86,7 +86,7 @@ export class DepositsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '押金',
|
||||
module: '押金管理',
|
||||
action: '删除押金记录',
|
||||
targetId: +id,
|
||||
targetType: 'deposit',
|
||||
|
||||
@@ -80,8 +80,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '录入宿舍费用',
|
||||
module: '费用管理',
|
||||
action: '录入费用',
|
||||
targetId: result.id,
|
||||
targetType: 'room_expense',
|
||||
detail: `房间${dto.roomId} ¥${dto.amount} ${dto.expenseType}`,
|
||||
@@ -99,7 +99,7 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
module: '费用管理',
|
||||
action: '批量录入费用',
|
||||
detail: JSON.stringify(dto),
|
||||
ipAddress,
|
||||
@@ -130,8 +130,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '删除宿舍费用',
|
||||
module: '费用管理',
|
||||
action: '删除费用',
|
||||
targetId: +id,
|
||||
targetType: 'room_expense',
|
||||
ipAddress,
|
||||
@@ -148,7 +148,7 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
module: '费用管理',
|
||||
action: '批量删除宿舍费用',
|
||||
detail: `IDs: ${(body.ids || []).join(',')}`,
|
||||
ipAddress,
|
||||
@@ -169,8 +169,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '编辑宿舍费用',
|
||||
module: '费用管理',
|
||||
action: '编辑费用',
|
||||
targetId: +id,
|
||||
targetType: 'room_expense',
|
||||
detail: `¥${dto.amount} ${dto.expenseType}`,
|
||||
@@ -188,8 +188,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '录入个人费用',
|
||||
module: '费用管理',
|
||||
action: '录入费用',
|
||||
detail: `学生${dto.studentId} ¥${dto.amount} ${dto.expenseType}`,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
@@ -211,8 +211,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '删除个人费用',
|
||||
module: '费用管理',
|
||||
action: '删除费用',
|
||||
targetId: +id,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
@@ -228,7 +228,7 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
module: '费用管理',
|
||||
action: '批量删除个人费用',
|
||||
detail: `IDs: ${(body.ids || []).join(',')}`,
|
||||
ipAddress,
|
||||
@@ -249,8 +249,8 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
action: '编辑个人费用',
|
||||
module: '费用管理',
|
||||
action: '编辑费用',
|
||||
targetId: +id,
|
||||
detail: `¥${dto.amount} ${dto.expenseType}`,
|
||||
ipAddress,
|
||||
@@ -322,7 +322,7 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
module: '费用管理',
|
||||
action: '导入水电费',
|
||||
detail: result.message,
|
||||
ipAddress,
|
||||
@@ -392,7 +392,7 @@ export class ExpensesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '费用',
|
||||
module: '费用管理',
|
||||
action: '导入个人附加费',
|
||||
detail: result.message,
|
||||
ipAddress,
|
||||
|
||||
@@ -53,7 +53,7 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
module: '入住管理',
|
||||
action: '批量退宿',
|
||||
detail: `退宿 ${dto.ids.length} 人,日期 ${dto.checkOutDate}`,
|
||||
ipAddress,
|
||||
@@ -70,8 +70,8 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
action: '入住登记',
|
||||
module: '入住管理',
|
||||
action: '办理入住',
|
||||
targetId: result.id,
|
||||
targetType: 'occupancy',
|
||||
detail: `学生${dto.studentId} 入住房间${dto.roomId}`,
|
||||
@@ -89,8 +89,8 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
action: '退宿',
|
||||
module: '入住管理',
|
||||
action: '办理退宿',
|
||||
targetId: +id,
|
||||
targetType: 'occupancy',
|
||||
ipAddress,
|
||||
@@ -107,8 +107,8 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
action: '换房',
|
||||
module: '入住管理',
|
||||
action: '调换宿舍',
|
||||
targetId: +id,
|
||||
targetType: 'occupancy',
|
||||
detail: `换到房间${dto.newRoomId}`,
|
||||
@@ -126,7 +126,7 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
module: '入住管理',
|
||||
action: '删除入住记录',
|
||||
targetId: +id,
|
||||
targetType: 'occupancy',
|
||||
@@ -144,7 +144,7 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
module: '入住管理',
|
||||
action: '批量删除入住记录',
|
||||
detail: `IDs: ${(body.ids || []).join(',')}`,
|
||||
ipAddress,
|
||||
@@ -338,7 +338,7 @@ export class OccupanciesController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '入住',
|
||||
module: '入住管理',
|
||||
action: '批量导入入住',
|
||||
detail: result.message,
|
||||
ipAddress,
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
Delete,
|
||||
Body,
|
||||
Param,
|
||||
Query,
|
||||
UseGuards,
|
||||
Query,
|
||||
Request,
|
||||
Res,
|
||||
UseInterceptors,
|
||||
@@ -43,7 +43,7 @@ export class StudentsController {
|
||||
|
||||
@Get('export')
|
||||
@RequirePermission('student:export')
|
||||
async exportExcel(@Query('includeArchived') includeArchived?: string, @Res() res?: Response) {
|
||||
async exportExcel(@Query('includeArchived') includeArchived?: string, @Res() res?: Response, @Request() req?: any) {
|
||||
const students = await this.service.findAll({ includeArchived: includeArchived === 'true' });
|
||||
const workbook = new ExcelJS.Workbook();
|
||||
const ws = workbook.addWorksheet('学生名单');
|
||||
@@ -81,6 +81,16 @@ export class StudentsController {
|
||||
status: statusMap[s.status] || s.status,
|
||||
});
|
||||
}
|
||||
const { ipAddress, userAgent } = extractRequestInfo(req);
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生管理',
|
||||
action: '导出学生',
|
||||
detail: `导出 ${students.length} 名学生`,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
});
|
||||
res!.setHeader(
|
||||
'Content-Type',
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
@@ -142,8 +152,8 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
action: '添加学生',
|
||||
module: '学生管理',
|
||||
action: '新增学生',
|
||||
targetId: result.id,
|
||||
targetType: 'student',
|
||||
detail: `姓名: ${dto.name}, 电话: ${dto.phone || '无'}, 学号: ${dto.idNumber || '无'}`,
|
||||
@@ -161,7 +171,7 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
module: '学生管理',
|
||||
action: '编辑学生',
|
||||
targetId: +id,
|
||||
targetType: 'student',
|
||||
@@ -180,8 +190,8 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
action: '归档学生',
|
||||
module: '学生管理',
|
||||
action: '删除学生',
|
||||
targetId: +id,
|
||||
targetType: 'student',
|
||||
ipAddress,
|
||||
@@ -198,8 +208,8 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
action: '批量归档学生',
|
||||
module: '学生管理',
|
||||
action: '批量删除学生',
|
||||
detail: `IDs: ${(body.ids || []).join(',')}`,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
@@ -215,7 +225,7 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
module: '学生管理',
|
||||
action: '恢复学生',
|
||||
targetId: +id,
|
||||
targetType: 'student',
|
||||
@@ -262,8 +272,8 @@ export class StudentsController {
|
||||
await this.logService.log({
|
||||
userId: req.user?.id,
|
||||
username: req.user?.username,
|
||||
module: '学生',
|
||||
action: '批量导入',
|
||||
module: '学生管理',
|
||||
action: '导入学生',
|
||||
detail: result.message,
|
||||
ipAddress,
|
||||
userAgent,
|
||||
|
||||
Reference in New Issue
Block a user