diff --git a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/migration-report.json b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/migration-report.json index 55eaa1e8..60294d53 100644 --- a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/migration-report.json +++ b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/migration-report.json @@ -1,7 +1,7 @@ { - "timestamp": "2025-10-26T15:28:37.443Z", + "timestamp": "2025-10-26T15:30:51.610Z", "stats": { - "startTime": "2025-10-26T15:28:35.556Z", + "startTime": "2025-10-26T15:30:49.772Z", "endTime": null, "filesProcessed": 1390, "modulesGenerated": 6, diff --git a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/reports/framework-integration-report.json b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/reports/framework-integration-report.json index bb8d5b6d..73ea3db3 100644 --- a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/reports/framework-integration-report.json +++ b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/reports/framework-integration-report.json @@ -2,8 +2,8 @@ "summary": { "totalFiles": 1280, "frameworkImports": { - "✅": 514, - "❌": 8446 + "✅": 512, + "❌": 8448 }, "frameworkServices": { "✅": 0, @@ -31805,7 +31805,7 @@ { "file": "/Users/wanwu/Documents/wanwujie/wwjcloud-nsetjs/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts", "import": "Result", - "status": "✅ 已使用" + "status": "❌ 未使用" }, { "file": "/Users/wanwu/Documents/wanwujie/wwjcloud-nsetjs/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts", @@ -35900,7 +35900,7 @@ { "file": "/Users/wanwu/Documents/wanwujie/wwjcloud-nsetjs/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts", "import": "Result", - "status": "✅ 已使用" + "status": "❌ 未使用" }, { "file": "/Users/wanwu/Documents/wanwujie/wwjcloud-nsetjs/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts", diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/app.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/app.module.ts index aea6152d..c6d34f38 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/app.module.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/app.module.ts @@ -37,7 +37,11 @@ import { JobModule } from './job.module'; }), BootModule, TypeOrmModule.forRootAsync({ - useFactory: (configService) => configService.get('database'), + useFactory: (configService) => ({ + ...configService.get('database'), + entities: [], + autoLoadEntities: true, + }), inject: [ConfigService] }), CommonModule, diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/login.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/login.controller.ts index e47d55d1..101adcfc 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/login.controller.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/login.controller.ts @@ -6,7 +6,7 @@ import { ConfigServiceImplService } from '../../../services/admin/auth/impl/conf @Controller('adminapi/login') @ApiTags('API') -@Public() // 登录接口无需认证 +@Public() export class LoginController { constructor( private readonly loginServiceImplService: LoginServiceImplService, diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts index 75438f38..a7b4d41a 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts @@ -234,11 +234,7 @@ import { CoreOplatformStaticConfigServiceImplService } from './services/core/wxo @Module({ imports: [ EntityModule, - TypeOrmModule.forFeature([ - SysUser, - SysUserRole, - Site, - ]), + TypeOrmModule.forFeature([SysUser, SysUserRole, Site]), JwtModule.register({ secret: process.env.JWT_SECRET || 'wwjcloud-secret-key-change-in-production', signOptions: { expiresIn: '7d' }, diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts index d116989b..4d146e2b 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts @@ -176,7 +176,7 @@ export class LoginServiceImplService { /** * 用户登出 */ - async logout(): Promise { + async logout(...args: any[]): Promise { // JWT是无状态的,登出主要在前端清除token // 如果需要黑名单机制,可以在这里添加 this.logger.log('用户登出'); diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts index ed82e193..446f5a78 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts @@ -108,9 +108,10 @@ export class SysUserServiceImplService { /** * 后台管理员详情 */ - async info(uid: number): Promise { + async info(uid: number | string, query?: any): Promise { + const numUid = typeof uid === 'string' ? Number(uid) : uid; const user = await this.userRepository.findOne({ - where: { uid, isDel: 0 }, + where: { uid: numUid, isDel: 0 }, }); if (!user) { @@ -165,9 +166,10 @@ export class SysUserServiceImplService { /** * 修改后台管理员 */ - async edit(uid: number, param: any): Promise { + async edit(param: any, uid: number | string): Promise { + const numUid = typeof uid === 'string' ? Number(uid) : uid; const user = await this.userRepository.findOne({ - where: { uid, isDel: 0 }, + where: { uid: numUid, isDel: 0 }, }); if (!user) { @@ -177,26 +179,27 @@ export class SysUserServiceImplService { const { realName, headImg, status, mobile, email } = param; // 更新用户信息 - await this.userRepository.update(uid, { + await this.userRepository.update(numUid, { realName: realName || user.realName, headImg: headImg !== undefined ? headImg : user.headImg, status: status !== undefined ? status : user.status, updateTime: Math.floor(Date.now() / 1000), }); - this.logger.log(`更新用户成功: ${uid}`); + this.logger.log(`更新用户成功: ${numUid}`); } /** * 删除后台管理员 */ - async del(uid: number): Promise { - if (uid === 1) { + async del(uid: number | string): Promise { + const numUid = typeof uid === 'string' ? Number(uid) : uid; + if (numUid === 1) { throw new BadRequestException('不能删除超级管理员'); } const user = await this.userRepository.findOne({ - where: { uid, isDel: 0 }, + where: { uid: numUid, isDel: 0 }, }); if (!user) { @@ -204,12 +207,12 @@ export class SysUserServiceImplService { } // 软删除 - await this.userRepository.update(uid, { + await this.userRepository.update(numUid, { isDel: 1, deleteTime: Math.floor(Date.now() / 1000), }); - this.logger.log(`删除用户成功: ${uid}`); + this.logger.log(`删除用户成功: ${numUid}`); } /** @@ -286,7 +289,8 @@ export class SysUserServiceImplService { /** * 检查用户名是否存在 */ - async checkUserName(username: string): Promise { + async checkUserName(param: any): Promise { + const username = typeof param === 'string' ? param : param.username; const user = await this.userRepository.findOne({ where: { username, isDel: 0 } }); return !!user; } @@ -294,15 +298,16 @@ export class SysUserServiceImplService { /** * 获取用户可创建站点数限制 */ - async getUserCreateSiteLimit(param: any): Promise { + async getUserCreateSiteLimit(uid: number | string, query?: any): Promise { return { limit: -1, used: 0 }; } /** * 获取用户创建站点限制信息 */ - async getUserCreateSiteLimitInfo(id: number): Promise { - return { id, limit: -1, used: 0 }; + async getUserCreateSiteLimitInfo(id: number | string, query?: any): Promise { + const numId = typeof id === 'string' ? Number(id) : id; + return { id: numId, limit: -1, used: 0 }; } /** @@ -315,15 +320,17 @@ export class SysUserServiceImplService { /** * 修改用户创建站点限制 */ - async editUserCreateSiteLimit(id: number, param: any): Promise { - this.logger.log(`修改用户创建站点限制: ${id}`); + async editUserCreateSiteLimit(param: any, id: number | string): Promise { + const numId = typeof id === 'string' ? Number(id) : id; + this.logger.log(`修改用户创建站点限制: ${numId}`); } /** * 删除用户创建站点限制 */ - async delUserCreateSiteLimit(id: number): Promise { - this.logger.log(`删除用户创建站点限制: ${id}`); + async delUserCreateSiteLimit(id: number | string): Promise { + const numId = typeof id === 'string' ? Number(id) : id; + this.logger.log(`删除用户创建站点限制: ${numId}`); } /**