diff --git a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/generators/service-generator.js b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/generators/service-generator.js index 328e82ff..93b89586 100644 --- a/wwjcloud-nest-v1/tools/java-to-nestjs-migration/generators/service-generator.js +++ b/wwjcloud-nest-v1/tools/java-to-nestjs-migration/generators/service-generator.js @@ -1,6 +1,7 @@ const fs = require('fs'); const path = require('path'); const NamingUtils = require('../utils/naming-utils'); +const ServiceMethodConverter = require('../converters/service-method-converter'); /** * 服务生成器 @@ -9,6 +10,7 @@ const NamingUtils = require('../utils/naming-utils'); class ServiceGenerator { constructor(outputDir = null) { this.namingUtils = new NamingUtils(); + this.methodConverter = new ServiceMethodConverter(); this.outputDir = outputDir; } @@ -359,9 +361,23 @@ ${body} /** * 生成方法体 + * + * ✅ 新逻辑:使用ServiceMethodConverter转换Java方法体 */ generateMethodBody(method, javaService) { - // 简化:返回根据返回类型的占位符,避免变量作用域问题 + // 如果Java方法有方法体,使用转换器转换 + if (method.methodBody && method.methodBody.trim() !== '') { + // 准备上下文信息 + const context = { + dependencies: javaService.dependencies || [], + className: javaService.className + }; + + // 使用转换器转换Java方法体 + return this.methodConverter.convertMethodBody(method.methodBody, context); + } + + // 如果没有Java方法体,返回TODO占位符(按返回类型) const returnType = this.generateReturnType(method); if (returnType === 'any[]') {