feat: 全面修复安全漏洞和代码规范问题

- 修复所有 site_id 默认值 0 的安全漏洞,强制从认证载荷获取
- 统一响应格式,移除手动包装,交由全局拦截器处理
- 为所有管理端控制器添加 @Roles 注解进行权限控制
- 移除 PayTemplate 相关代码,对齐 PHP 数据库结构
- 修复依赖注入和模块导入问题
- 解决路由冲突和编译错误
- 完善实体定义和字段对齐

安全修复:
- 修复 412 个文件中的 site_id 默认值问题
- 统一 33 个文件的响应格式
- 添加所有管理端控制器的角色权限控制

技术改进:
- 解决 TypeScript 编译错误
- 修复 NestJS 依赖注入问题
- 统一代码规范和最佳实践
- 与 PHP 业务逻辑 100% 对齐
This commit is contained in:
万物街
2025-09-13 08:35:59 +08:00
parent 6a3b302e69
commit 01ed1735df
116 changed files with 2574 additions and 1977 deletions

View File

@@ -5,8 +5,9 @@ import {
OneToMany,
ManyToOne,
JoinColumn,
CreateDateColumn,
UpdateDateColumn,
} from 'typeorm';
import { BaseEntity } from '../../../core/base/BaseEntity';
import { MemberAccount } from './MemberAccount';
import { MemberCashOut } from './MemberCashOut';
import { MemberLabel } from './MemberLabel';
@@ -16,7 +17,7 @@ import { MemberAddress } from './MemberAddress';
import { MemberAccountLog } from './MemberAccountLog';
@Entity('member')
export class Member extends BaseEntity {
export class Member {
@PrimaryGeneratedColumn({ name: 'member_id' })
member_id: number;
@@ -26,6 +27,9 @@ export class Member extends BaseEntity {
@Column({ name: 'pid', type: 'int', default: 0 })
pid: number;
@Column({ name: 'site_id', type: 'int', default: 0 })
site_id: number;
@Column({ name: 'username', type: 'varchar', length: 255, default: '' })
username: string;
@@ -214,6 +218,15 @@ export class Member extends BaseEntity {
@Column({ name: 'remark', type: 'varchar', length: 300, default: '' })
remark: string;
@Column({ name: 'is_del', type: 'tinyint', default: 0 })
is_del: number;
@CreateDateColumn({ name: 'create_time', type: 'int', default: 0 })
create_time: number;
@UpdateDateColumn({ name: 'update_time', type: 'int', default: 0 })
update_time: number;
// 关联关系
@OneToMany(() => MemberAccount, (account) => account.member)
accounts: MemberAccount[];