Files
wwjcloud-nest-v1/wwjcloud/src/common/admin/entities/SysUserLog.ts
万物街 1cd5d3bdef feat: 完成 NestJS 后端核心底座开发 (M1-M6) 和 Ant Design Vue 前端迁移
主要更新:
1. 后端核心底座完成 (M1-M6):
   - 健康检查、指标监控、分布式锁
   - 事件总线、队列系统、事务管理
   - 安全守卫、多租户隔离、存储适配器
   - 审计日志、配置管理、多语言支持

2. 前端迁移到 Ant Design Vue:
   - 从 Element Plus 迁移到 Ant Design Vue
   - 完善 system 模块 (role/menu/dept)
   - 修复依赖和配置问题

3. 文档完善:
   - AI 开发工作流文档
   - 架构约束和开发规范
   - 项目进度跟踪

4. 其他改进:
   - 修复编译错误和类型问题
   - 完善测试用例
   - 优化项目结构
2025-08-27 11:24:22 +08:00

55 lines
1.2 KiB
TypeScript

import {
Entity,
PrimaryGeneratedColumn,
Column,
ManyToOne,
JoinColumn,
CreateDateColumn,
} from 'typeorm';
import { SysUser } from './SysUser';
@Entity('sys_user_log')
export class SysUserLog {
@PrimaryGeneratedColumn({ type: 'int', unsigned: true })
id: number;
@Column({ type: 'varchar', length: 50, default: '' })
ip: string;
@Column({ type: 'int', default: 0 })
site_id: number;
@Column({ type: 'int', unsigned: true, default: 0 })
uid: number;
@Column({ type: 'varchar', length: 255, default: '' })
username: string;
@Column({ type: 'varchar', length: 255 })
operation: string;
@Column({ type: 'varchar', length: 300 })
url: string;
@Column({ type: 'longtext', nullable: true })
params: string;
@Column({ type: 'varchar', length: 32, default: '' })
type: string;
@CreateDateColumn({ type: 'int', unsigned: true })
create_time: number;
// 关联关系
@ManyToOne(() => SysUser, (user) => user.user_logs)
@JoinColumn({ name: 'uid', referencedColumnName: 'uid' })
user: SysUser;
// 业务逻辑方法 - 与 PHP 项目保持一致
getCreateTimeText(): string {
return this.create_time
? new Date(this.create_time * 1000).toLocaleString('zh-CN')
: '';
}
}