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 b26e15de..dcb0b9ec 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 @@ -543,7 +543,7 @@ ${body} // 提取每个参数,转换类型 const params = method.parameters.map(param => { const paramName = param.name || 'arg'; - let paramType = this.mapJavaTypeToTypeScript(param.type || 'any'); + let paramType = this.convertJavaTypeToTypeScript(param.type || 'any'); // 如果是业务类型(首字母大写),检查是否需要添加Dto后缀 if (paramType && paramType[0] === paramType[0].toUpperCase()) { @@ -564,6 +564,44 @@ ${body} return params.join(', '); } + /** + * 转换Java类型为TypeScript类型 + * + * @param {string} javaType - Java类型 + * @returns {string} TypeScript类型 + */ + convertJavaTypeToTypeScript(javaType) { + if (!javaType) return 'any'; + + // 去除包名,只保留类名 + const simpleType = javaType.split('.').pop(); + + // Java基本类型映射 + const typeMap = { + 'String': 'string', + 'Integer': 'number', + 'int': 'number', + 'Long': 'number', + 'long': 'number', + 'Double': 'number', + 'double': 'number', + 'Float': 'number', + 'float': 'number', + 'Boolean': 'boolean', + 'boolean': 'boolean', + 'void': 'void', + 'Object': 'any', + 'Map': 'Record', + 'HashMap': 'Record', + 'List': 'any[]', + 'ArrayList': 'any[]', + 'Set': 'any[]', + 'HashSet': 'any[]' + }; + + return typeMap[simpleType] || simpleType; + } + /** * 生成返回类型 */ 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 deleted file mode 100644 index f8b391f5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/app.module.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { ConfigModule, ConfigService } from '@nestjs/config'; -import { BootModule } from '@wwjBoot'; -import { CommonModule } from './common.module'; -import { EntityModule } from './entity.module'; -import { ServiceModule } from './service.module'; -import { ControllerModule } from './controller.module'; -import { ListenerModule } from './listener.module'; -import { JobModule } from './job.module'; - -/** - * AppModule - 主应用模块 - * 🚀 使用动态模块自动加载所有控制器和服务 - * 使用wwjcloud框架能力 - */ -@Module({ - imports: [ - ConfigModule.forRoot({ - isGlobal: true, - load: [() => ({ - // 使用sys_config.value(JSON)配置 - database: { - type: 'mysql', - host: process.env.DB_HOST || 'localhost', - port: parseInt(process.env.DB_PORT || '3306'), - username: process.env.DB_USERNAME || 'root', - password: process.env.DB_PASSWORD || 'password', - database: process.env.DB_DATABASE || 'database', - synchronize: process.env.DB_SYNCHRONIZE === 'true', - }, - redis: { - host: process.env.REDIS_HOST || 'localhost', - port: parseInt(process.env.REDIS_PORT || '6379'), - password: process.env.REDIS_PASSWORD || '', - } - })] - }), - BootModule, - TypeOrmModule.forRootAsync({ - useFactory: (configService) => configService.get('database'), - inject: [ConfigService] - }), - CommonModule, - EntityModule, - ServiceModule.register(), - ControllerModule.register(), - ListenerModule, - JobModule, - ], - controllers: [], - providers: [], -}) -export class AppModule {} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controller.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controller.module.ts deleted file mode 100644 index 2fa841f2..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controller.module.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Module, DynamicModule } from '@nestjs/common'; -import { ServiceModule } from './service.module'; -import * as fs from 'fs'; -import * as path from 'path'; - -/** - * ControllerModule - 控制器模块 - * 🚀 使用动态导入自动加载所有控制器 - * 符合NestJS官方规范 - * 自动注册110个控制器 - */ -@Module({}) -export class ControllerModule { - static register(): DynamicModule { - const controllers = this.loadAllControllers(); - - return { - module: ControllerModule, - imports: [ServiceModule.register()], - controllers, - providers: [], - exports: [], - }; - } - - /** - * 动态加载所有控制器 - */ - private static loadAllControllers(): any[] { - const controllers: any[] = []; - const controllersDir = path.join(__dirname, 'controllers'); - - if (!fs.existsSync(controllersDir)) { - return controllers; - } - - // 递归扫描所有.controller.ts文件 - this.scanDirectory(controllersDir, controllers); - - return controllers; - } - - /** - * 递归扫描目录 - */ - private static scanDirectory(dir: string, controllers: any[]): void { - const files = fs.readdirSync(dir); - - for (const file of files) { - const fullPath = path.join(dir, file); - const stat = fs.statSync(fullPath); - - if (stat.isDirectory()) { - // 递归扫描子目录 - this.scanDirectory(fullPath, controllers); - } else if (file.endsWith('.controller.ts') || file.endsWith('.controller.js')) { - try { - // 动态导入控制器 - const relativePath = path.relative(__dirname, fullPath).replace(/\\/g, '/').replace(/\.(ts|js)$/, ''); - const controllerModule = require(`./${relativePath}`); - - // 获取导出的控制器类(通常是default或第一个export) - const ControllerClass = controllerModule.default || Object.values(controllerModule)[0]; - - if (ControllerClass) { - controllers.push(ControllerClass); - } - } catch (error) { - console.warn(`⚠️ 加载控制器失败: ${fullPath}`, error.message); - } - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-develop.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-develop.controller.ts deleted file mode 100644 index 81300eed..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-develop.controller.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AddonDevelopBuildServiceImplService } from '../../../services/admin/addon/impl/addon-develop-build-service-impl.service'; -import { AddonDevelopServiceImplService } from '../../../services/admin/addon/impl/addon-develop-service-impl.service'; -import { NiuCloudServiceImplService } from '../../../services/admin/niucloud/impl/niu-cloud-service-impl.service'; - -@Controller('adminapi/addon_develop') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class AddonDevelopController { - constructor( - private readonly addonDevelopBuildServiceImplService: AddonDevelopBuildServiceImplService, - private readonly addonDevelopServiceImplService: AddonDevelopServiceImplService, - private readonly niucloudServiceImplService: NiuCloudServiceImplService - ) {} - @Post('build/:key') - @ApiOperation({ summary: '/build/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBuildkey(@Body() body: Record, @Param('key') key: string): Promise> { - const result = await this.addonDevelopBuildServiceImplService.build(body, key); - return Result.success(result); - } - - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.addonDevelopServiceImplService.list(query); - return Result.success(result); - } - - @Get(':key') - @ApiOperation({ summary: '/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getKey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.addonDevelopServiceImplService.info(key, query); - return Result.success(result); - } - - @Post(':key') - @ApiOperation({ summary: '/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postKey(@Body() body: Record, @Param('key') key: string): Promise> { - const result = await this.addonDevelopServiceImplService.add(body, key); - return Result.success(result); - } - - @Put(':key') - @ApiOperation({ summary: '/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putKey(@Body() body: Record, @Param('key') key: string): Promise> { - const result = await this.addonDevelopServiceImplService.edit(body, key); - return Result.success(result); - } - - @Delete(':key') - @ApiOperation({ summary: '/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteKey(@Param('key') key: string): Promise> { - const result = await this.addonDevelopServiceImplService.del(key); - return Result.success(result); - } - - @Get('check/:key') - @ApiOperation({ summary: '/check/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheckkey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.niucloudServiceImplService.checkKey(key, query); - return Result.success(result); - } - - @Get('key/blacklist') - @ApiOperation({ summary: '/key/blacklist' }) - @ApiResponse({ status: 200, description: '成功' }) - async getKeyblacklist(@Query() query: Record): Promise> { - const result = await this.addonDevelopBuildServiceImplService.download(query); - return Result.success(result); - } - - @Post('download/:key') - @ApiOperation({ summary: '/download/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDownloadkey(@Body() body: Record, @Param('key') key: string): Promise> { - const result = await this.addonDevelopBuildServiceImplService.download(body, key); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-log.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-log.controller.ts deleted file mode 100644 index 40666864..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon-log.controller.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AddonLogServiceImplService } from '../../../services/admin/addon/impl/addon-log-service-impl.service'; - -@Controller('api/addon_log') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class AddonLogController { - constructor( - private readonly addonLogServiceImplService: AddonLogServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('detail') - @ApiOperation({ summary: '/detail' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDetail(@Query() query: Record): Promise> { - const result = await this.addonLogServiceImplService.detail(query); - return Result.success(result); - } - - @Post('add') - @ApiOperation({ summary: '/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAdd(@Body() body: Record): Promise> { - const result = await this.addonLogServiceImplService.add(body); - return Result.success(result); - } - - @Post('del') - @ApiOperation({ summary: '/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDel(@Body() body: Record): Promise> { - const result = await this.addonLogServiceImplService.del(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon.controller.ts deleted file mode 100644 index c615d825..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/addon.controller.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AddonServiceImplService } from '../../../services/admin/addon/impl/addon-service-impl.service'; - -@Controller('adminapi') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class AddonController { - constructor( - private readonly addonServiceImplService: AddonServiceImplService - ) {} - @Get('addon/local') - @ApiOperation({ summary: '/addon/local' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddonlocal(@Query() query: Record): Promise> { - const result = await this.addonServiceImplService.getLocalAddonList(query); - return Result.success(result); - } - - @Get('addon/list') - @ApiOperation({ summary: '/addon/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddonlist(@Query() query: Record): Promise> { - const result = await this.addonServiceImplService.list(query); - return Result.success(result); - } - - @Get('addon/list/install') - @ApiOperation({ summary: '/addon/list/install' }) - @ApiResponse({ status: 200, description: '成功' }) - @Public() - async getAddonlistinstall(@Query() query: Record): Promise> { - const result = await this.addonServiceImplService.info(query); - return Result.success(result); - } - - @Get('addon/:id') - @ApiOperation({ summary: '/addon/:id' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddonid(@Query() query: Record): Promise> { - const result = await this.addonServiceImplService.info(query); - return Result.success(result); - } - - @Post('addon/add') - @ApiOperation({ summary: '/addon/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddonadd(@Body() body: Record): Promise> { - const result = await this.addonServiceImplService.add(body); - return Result.success(result); - } - - @Post('addon/del') - @ApiOperation({ summary: '/addon/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddondel(@Body() body: Record): Promise> { - const result = await this.addonServiceImplService.del(body); - return Result.success(result); - } - - @Post('addon/install/:addon') - @ApiOperation({ summary: '/addon/install/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddoninstalladdon(@Body() body: Record, @Param('addon') addon: string): Promise> { - const result = await this.addonServiceImplService.install(body, addon); - return Result.success(result); - } - - @Post('addon/cloudinstall/:addon') - @ApiOperation({ summary: '/addon/cloudinstall/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddoncloudinstalladdon(@Body() body: Record, @Param('addon') addon: string): Promise> { - const result = await this.addonServiceImplService.install(body, addon); - return Result.success(result); - } - - @Get('addon/cloudinstall/:addon') - @ApiOperation({ summary: '/addon/cloudinstall/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddoncloudinstalladdon(@Param('addon') addon: string, @Query() query: Record): Promise> { - const result = await this.addonServiceImplService.cloudInstallLog(addon, query); - return Result.success(result); - } - - @Get('addon/install/check/:addon') - @ApiOperation({ summary: '/addon/install/check/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddoninstallcheckaddon(@Param('addon') addon: string, @Query() query: Record): Promise> { - const result = await this.addonServiceImplService.installCheck(addon, query); - return Result.success(result); - } - - @Put('addon/install/cancel/:addon') - @ApiOperation({ summary: '/addon/install/cancel/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAddoninstallcanceladdon(@Body() body: Record, @Param('addon') addon: string): Promise> { - const result = await this.addonServiceImplService.cancleInstall(body, addon); - return Result.success(result); - } - - @Get('addon/installtask') - @ApiOperation({ summary: '/addon/installtask' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddoninstalltask(@Query() query: Record): Promise> { - const result = await this.addonServiceImplService.getInstallTask(query); - return Result.success(result); - } - - @Post('addon/uninstall/:addon') - @ApiOperation({ summary: '/addon/uninstall/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddonuninstalladdon(@Body() body: Record, @Param('addon') addon: string): Promise> { - const result = await this.addonServiceImplService.uninstall(body, addon); - return Result.success(result); - } - - @Get('addon/uninstall/check/:addon') - @ApiOperation({ summary: '/addon/uninstall/check/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddonuninstallcheckaddon(@Param('addon') addon: string, @Query() query: Record): Promise> { - const result = await this.addonServiceImplService.uninstallCheck(addon, query); - return Result.success(result); - } - - @Get('addontype') - @ApiOperation({ summary: '/addontype' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddontype(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('addon/init') - @ApiOperation({ summary: '/addon/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddoninit(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('addon/download/:addon') - @ApiOperation({ summary: '/addon/download/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddondownloadaddon(@Body() body: Record, @Param('addon') addon: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/app.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/app.controller.ts deleted file mode 100644 index 29bc3f25..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/app.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AddonServiceImplService } from '../../../services/admin/addon/impl/addon-service-impl.service'; - -@Controller('adminapi') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class AppController { - constructor( - private readonly addonServiceImplService: AddonServiceImplService - ) {} - @Get('app/getAddonList') - @ApiOperation({ summary: '/app/getAddonList' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAppgetAddonList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('app/index') - @ApiOperation({ summary: '/app/index' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAppindex(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/backup.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/backup.controller.ts deleted file mode 100644 index 5717b61a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/backup.controller.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysBackupRecordsServiceImplService } from '../../../services/admin/sys/impl/sys-backup-records-service-impl.service'; - -@Controller('adminapi/backup') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class BackupController { - constructor( - private readonly sysBackupRecordsServiceImplService: SysBackupRecordsServiceImplService - ) {} - @Get('records') - @ApiOperation({ summary: '/records' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRecords(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('delete') - @ApiOperation({ summary: '/delete' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDelete(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.del(body); - return Result.success(result); - } - - @Put('remark') - @ApiOperation({ summary: '/remark' }) - @ApiResponse({ status: 200, description: '成功' }) - async putRemark(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.edit(body); - return Result.success(result); - } - - @Post('restore') - @ApiOperation({ summary: '/restore' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRestore(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.restore(body); - return Result.success(result); - } - - @Post('manual') - @ApiOperation({ summary: '/manual' }) - @ApiResponse({ status: 200, description: '成功' }) - async postManual(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.backup(body); - return Result.success(result); - } - - @Get('task') - @ApiOperation({ summary: '/task' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTask(@Query() query: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.getBackupTask(query); - return Result.success(result); - } - - @Get('restore_task') - @ApiOperation({ summary: '/restore_task' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRestoretask(@Query() query: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.getRestoreTask(query); - return Result.success(result); - } - - @Post('check_dir') - @ApiOperation({ summary: '/check_dir' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCheckdir(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.checkDir(body); - return Result.success(result); - } - - @Post('check_permission') - @ApiOperation({ summary: '/check_permission' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCheckpermission(@Body() body: Record): Promise> { - const result = await this.sysBackupRecordsServiceImplService.checkPermission(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/upgrade.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/upgrade.controller.ts deleted file mode 100644 index a0bb5440..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/addon/upgrade.controller.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { UpgradeServiceImplService } from '../../../services/admin/upgrade/impl/upgrade-service-impl.service'; -import { SysUpgradeRecordsServiceImplService } from '../../../services/admin/sys/impl/sys-upgrade-records-service-impl.service'; - -@Controller('adminapi/upgrade') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class UpgradeController { - constructor( - private readonly upgradeServiceImplService: UpgradeServiceImplService, - private readonly sysUpgradeRecordsServiceImplService: SysUpgradeRecordsServiceImplService - ) {} - @Get('records') - @ApiOperation({ summary: '/records' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRecords(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete('records') - @ApiOperation({ summary: '/records' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteRecords(): Promise> { - const result = await this.sysUpgradeRecordsServiceImplService.del(); - return Result.success(result); - } - - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':addon') - @ApiOperation({ summary: '/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddon(@Param('addon') addon: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('check') - @ApiOperation({ summary: '/check' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheck(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('check/:addon') - @ApiOperation({ summary: '/check/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheckaddon(@Param('addon') addon: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post(':addon') - @ApiOperation({ summary: '/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddon(@Body() body: Record, @Param('addon') addon: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('task') - @ApiOperation({ summary: '/task' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTask(@Query() query: Record): Promise> { - const result = await this.upgradeServiceImplService.execute(query); - return Result.success(result); - } - - @Post('execute') - @ApiOperation({ summary: '/execute' }) - @ApiResponse({ status: 200, description: '成功' }) - async postExecute(@Body() body: Record): Promise> { - const result = await this.upgradeServiceImplService.execute(body); - return Result.success(result); - } - - @Post('clear') - @ApiOperation({ summary: '/clear' }) - @ApiResponse({ status: 200, description: '成功' }) - async postClear(@Body() body: Record): Promise> { - const result = await this.upgradeServiceImplService.clearUpgradeTask(body); - return Result.success(result); - } - - @Post('operate/:operate') - @ApiOperation({ summary: '/operate/{operate}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postOperateoperate(@Body() body: Record, @Param('operate') operate: string): Promise> { - const result = await this.upgradeServiceImplService.operate(body, operate); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/aliapp/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/aliapp/config.controller.ts deleted file mode 100644 index d685a006..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/aliapp/config.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AliappConfigServiceImplService } from '../../../services/admin/aliapp/impl/aliapp-config-service-impl.service'; - -@Controller('adminapi/aliapp') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ConfigController { - constructor( - private readonly aliappConfigServiceImplService: AliappConfigServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.aliappConfigServiceImplService.getAliappConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.aliappConfigServiceImplService.setAliappConfig(body); - return Result.success(result); - } - - @Get('static') - @ApiOperation({ summary: '/static' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatic(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/auth/auth.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/auth/auth.controller.ts deleted file mode 100644 index 2d11fe1c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/auth/auth.controller.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysMenuServiceImplService } from '../../../services/admin/sys/impl/sys-menu-service-impl.service'; -import { AuthServiceImplService } from '../../../services/admin/auth/impl/auth-service-impl.service'; -import { SiteServiceImplService } from '../../../services/admin/site/impl/site-service-impl.service'; -import { LoginServiceImplService } from '../../../services/admin/auth/impl/login-service-impl.service'; - -@Controller('adminapi/auth') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class AuthController { - constructor( - private readonly sysMenuServiceImplService: SysMenuServiceImplService, - private readonly authServiceImplService: AuthServiceImplService, - private readonly siteServiceImplService: SiteServiceImplService, - private readonly loginServiceImplService: LoginServiceImplService - ) {} - @Get('authmenu') - @ApiOperation({ summary: '/authmenu' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuthmenu(@Query() query: Record): Promise> { - const result = await this.authServiceImplService.getAuthMenuTreeList(query); - return Result.success(result); - } - - @Get('site') - @ApiOperation({ summary: '/site' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSite(@Query() query: Record): Promise> { - const result = await this.siteServiceImplService.info(query); - return Result.success(result); - } - - @Get('get') - @ApiOperation({ summary: '/get' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.authServiceImplService.getAuthUserInfo(query); - return Result.success(result); - } - - @Get('tree') - @ApiOperation({ summary: '/tree' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTree(@Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.menuTree(query); - return Result.success(result); - } - - @Put('edit') - @ApiOperation({ summary: '/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - async putEdit(@Body() body: Record): Promise> { - const result = await this.authServiceImplService.editAuth(body); - return Result.success(result); - } - - @Put('logout') - @ApiOperation({ summary: '/logout' }) - @ApiResponse({ status: 200, description: '成功' }) - async putLogout(@Body() body: Record): Promise> { - const result = await this.loginServiceImplService.logout(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/app.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/app.controller.ts deleted file mode 100644 index eb3715e4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/app.controller.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AdminAppServiceImplService } from '../../../services/admin/channel/impl/admin-app-service-impl.service'; -import { CoreAppCloudServiceImplService } from '../../../services/core/channel/impl/core-app-cloud-service-impl.service'; - -@Controller('adminapi/channel/app') -@ApiTags('API') -export class AppController { - constructor( - private readonly adminAppServiceImplService: AdminAppServiceImplService, - private readonly coreAppCloudServiceImplService: CoreAppCloudServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.adminAppServiceImplService.getAppConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.adminAppServiceImplService.setAppConfig(body); - return Result.success(result); - } - - @Get('version') - @ApiOperation({ summary: '/version' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVersion(@Query() query: Record): Promise> { - const result = await this.adminAppServiceImplService.getVersionPage(query); - return Result.success(result); - } - - @Get('version/:id') - @ApiOperation({ summary: '/version/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVersionid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.adminAppServiceImplService.getVersionInfo(id, query); - return Result.success(result); - } - - @Post('version') - @ApiOperation({ summary: '/version' }) - @ApiResponse({ status: 200, description: '成功' }) - async postVersion(@Body() body: Record): Promise> { - const result = await this.adminAppServiceImplService.addVersion(body); - return Result.success(result); - } - - @Put('version/:id') - @ApiOperation({ summary: '/version/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putVersionid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.adminAppServiceImplService.editVersion(body, id); - return Result.success(result); - } - - @Delete('version/:id') - @ApiOperation({ summary: '/version/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteVersionid(@Param('id') id: string): Promise> { - const result = await this.adminAppServiceImplService.delVersion(id); - return Result.success(result); - } - - @Get('platfrom') - @ApiOperation({ summary: '/platfrom' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPlatfrom(@Query() query: Record): Promise> { - const result = await this.adminAppServiceImplService.getBuildLog(query); - return Result.success(result); - } - - @Get('build/log/:key') - @ApiOperation({ summary: '/build/log/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBuildlogkey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.adminAppServiceImplService.getBuildLog(key, query); - return Result.success(result); - } - - @Put('version/:id/release') - @ApiOperation({ summary: '/version/{id}/release' }) - @ApiResponse({ status: 200, description: '成功' }) - async putVersionidrelease(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.adminAppServiceImplService.release(body, id); - return Result.success(result); - } - - @Post('generate_sign_cert') - @ApiOperation({ summary: '/generate_sign_cert' }) - @ApiResponse({ status: 200, description: '成功' }) - async postGeneratesigncert(@Body() body: Record): Promise> { - const result = await this.coreAppCloudServiceImplService.generateSignCert(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/h5.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/h5.controller.ts deleted file mode 100644 index e770ed23..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/h5.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreH5ServiceImplService } from '../../../services/core/channel/impl/core-h5-service-impl.service'; - -@Controller('adminapi/channel/h5') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class H5Controller { - constructor( - private readonly coreH5ServiceImplService: CoreH5ServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.coreH5ServiceImplService.getH5(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.coreH5ServiceImplService.setH5(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/pc.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/pc.controller.ts deleted file mode 100644 index 8ac31d69..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/channel/pc.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CorePcServiceImplService } from '../../../services/core/channel/impl/core-pc-service-impl.service'; - -@Controller('adminapi/channel/pc') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PcController { - constructor( - private readonly corePcServiceImplService: CorePcServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.corePcServiceImplService.getPc(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.corePcServiceImplService.setPc(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/dict/dict.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/dict/dict.controller.ts deleted file mode 100644 index 270be966..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/dict/dict.controller.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DictServiceImplService } from '../../../services/admin/dict/impl/dict-service-impl.service'; - -@Controller('adminapi/dict') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class DictController { - constructor( - private readonly dictServiceImplService: DictServiceImplService - ) {} - @Get('dict') - @ApiOperation({ summary: '/dict' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDict(@Query() query: Record): Promise> { - const result = await this.dictServiceImplService.info(query); - return Result.success(result); - } - - @Get('dict/:id') - @ApiOperation({ summary: '/dict/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.dictServiceImplService.info(id, query); - return Result.success(result); - } - - @Get('dictionary/type/:type') - @ApiOperation({ summary: 'dictionary/type/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictionarytypetype(@Param('type') type: string, @Query() query: Record): Promise> { - const result = await this.dictServiceImplService.info(type, query); - return Result.success(result); - } - - @Post('dict') - @ApiOperation({ summary: '/dict' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDict(@Body() body: Record): Promise> { - const result = await this.dictServiceImplService.add(body); - return Result.success(result); - } - - @Put('dict/:id') - @ApiOperation({ summary: '/dict/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDictid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.dictServiceImplService.edit(body, id); - return Result.success(result); - } - - @Put('dictionary/:id') - @ApiOperation({ summary: '/dictionary/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDictionaryid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.dictServiceImplService.addDictData(body, id); - return Result.success(result); - } - - @Delete('dict/:id') - @ApiOperation({ summary: '/dict/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteDictid(@Param('id') id: string): Promise> { - const result = await this.dictServiceImplService.del(id); - return Result.success(result); - } - - @Get('all') - @ApiOperation({ summary: '/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAll(@Query() query: Record): Promise> { - const result = await this.dictServiceImplService.getAll(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/config.controller.ts deleted file mode 100644 index 34f2a7d1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/config.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyConfigServiceImplService } from '../../../services/admin/diy/impl/diy-config-service-impl.service'; - -@Controller('adminapi/diy') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ConfigController { - constructor( - private readonly diyConfigServiceImplService: DiyConfigServiceImplService - ) {} - @Get('bottom') - @ApiOperation({ summary: '/bottom' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBottom(@Query() query: Record): Promise> { - const result = await this.diyConfigServiceImplService.getBottomList(query); - return Result.success(result); - } - - @Get('bottom/config') - @ApiOperation({ summary: '/bottom/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBottomconfig(@Query() query: Record): Promise> { - const result = await this.diyConfigServiceImplService.getBottomConfig(query); - return Result.success(result); - } - - @Post('bottom') - @ApiOperation({ summary: '/bottom' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBottom(@Body() body: Record): Promise> { - const result = await this.diyConfigServiceImplService.setBottomConfig(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-form.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-form.controller.ts deleted file mode 100644 index db7c4fd4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-form.controller.ts +++ /dev/null @@ -1,207 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyFormServiceImplService } from '../../../services/admin/diy_form/impl/diy-form-service-impl.service'; -import { DiyFormRecordsServiceImplService } from '../../../services/admin/diy_form/impl/diy-form-records-service-impl.service'; -import { DiyFormConfigServiceImplService } from '../../../services/admin/diy_form/impl/diy-form-config-service-impl.service'; - -@Controller('adminapi/diy') -@ApiTags('API') -export class DiyFormController { - constructor( - private readonly diyFormServiceImplService: DiyFormServiceImplService, - private readonly diyFormRecordsServiceImplService: DiyFormRecordsServiceImplService, - private readonly diyFormConfigServiceImplService: DiyFormConfigServiceImplService - ) {} - @Get('form') - @ApiOperation({ summary: '/form' }) - @ApiResponse({ status: 200, description: '成功' }) - async getForm(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getPage(query); - return Result.success(result); - } - - @Get('form/:id') - @ApiOperation({ summary: '/form/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getInfo(id, query); - return Result.success(result); - } - - @Post('form') - @ApiOperation({ summary: '/form' }) - @ApiResponse({ status: 200, description: '成功' }) - async postForm(@Body() body: Record): Promise> { - const result = await this.diyFormServiceImplService.add(body); - return Result.success(result); - } - - @Put('form/:id') - @ApiOperation({ summary: '/form/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.diyFormServiceImplService.edit(body, id); - return Result.success(result); - } - - @Put('form/delete') - @ApiOperation({ summary: '/form/delete' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormdelete(@Body() body: Record): Promise> { - const result = await this.diyFormServiceImplService.del(body); - return Result.success(result); - } - - @Get('form/list') - @ApiOperation({ summary: '/form/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormlist(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getList(query); - return Result.success(result); - } - - @Get('form/init') - @ApiOperation({ summary: '/form/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async getForminit(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getInit(query); - return Result.success(result); - } - - @Get('form/template') - @ApiOperation({ summary: '/form/template' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormtemplate(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.modifyShare(query); - return Result.success(result); - } - - @Put('form/share') - @ApiOperation({ summary: '/form/share' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormshare(@Body() body: Record): Promise> { - const result = await this.diyFormServiceImplService.modifyShare(body); - return Result.success(result); - } - - @Post('form/copy') - @ApiOperation({ summary: '/form/copy' }) - @ApiResponse({ status: 200, description: '成功' }) - async postFormcopy(@Body() body: Record): Promise> { - const result = await this.diyFormServiceImplService.copy(body); - return Result.success(result); - } - - @Get('form/type') - @ApiOperation({ summary: '/form/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormtype(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getFormType(query); - return Result.success(result); - } - - @Put('form/status') - @ApiOperation({ summary: '/form/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormstatus(@Body() body: Record): Promise> { - const result = await this.diyFormServiceImplService.modifyStatus(body); - return Result.success(result); - } - - @Get('form/records') - @ApiOperation({ summary: '/form/records' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormrecords(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getRecordPages(query); - return Result.success(result); - } - - @Get('form/records/:records_id') - @ApiOperation({ summary: '/form/records/{records_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormrecordsrecordsid(@Param('records_id') records_id: string, @Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getRecordInfo(records_id, query); - return Result.success(result); - } - - @Delete('form/records/delete') - @ApiOperation({ summary: '/form/records/delete' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteFormrecordsdelete(): Promise> { - const result = await this.diyFormServiceImplService.delRecord(); - return Result.success(result); - } - - @Get('form/fields/list') - @ApiOperation({ summary: '/form/fields/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormfieldslist(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getFieldsList(query); - return Result.success(result); - } - - @Get('form/write/:form_id') - @ApiOperation({ summary: '/form/write/{form_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormwriteformid(@Param('form_id') form_id: string, @Query() query: Record): Promise> { - const result = await this.diyFormConfigServiceImplService.getWriteConfig(form_id, query); - return Result.success(result); - } - - @Put('form/write') - @ApiOperation({ summary: '/form/write' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormwrite(@Body() body: Record): Promise> { - const result = await this.diyFormConfigServiceImplService.editWriteConfig(body); - return Result.success(result); - } - - @Get('form/submit/:form_id') - @ApiOperation({ summary: '/form/submit/{form_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormsubmitformid(@Param('form_id') form_id: string, @Query() query: Record): Promise> { - const result = await this.diyFormConfigServiceImplService.getSubmitConfig(form_id, query); - return Result.success(result); - } - - @Put('form/submit') - @ApiOperation({ summary: '/form/submit' }) - @ApiResponse({ status: 200, description: '成功' }) - async putFormsubmit(@Body() body: Record): Promise> { - const result = await this.diyFormConfigServiceImplService.editSubmitConfig(body); - return Result.success(result); - } - - @Get('form/records/member/stat') - @ApiOperation({ summary: '/form/records/member/stat' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormrecordsmemberstat(@Query() query: Record): Promise> { - const result = await this.diyFormRecordsServiceImplService.getPage(query); - return Result.success(result); - } - - @Get('form/records/field/stat') - @ApiOperation({ summary: '/form/records/field/stat' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormrecordsfieldstat(@Query() query: Record): Promise> { - const result = await this.diyFormRecordsServiceImplService.getFieldStatList(query); - return Result.success(result); - } - - @Get('form/qrcode') - @ApiOperation({ summary: '/form/qrcode' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormqrcode(@Query() query: Record): Promise> { - const result = await this.diyFormServiceImplService.getQrcode(query); - return Result.success(result); - } - - @Get('form/select') - @ApiOperation({ summary: '/form/select' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFormselect(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-route.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-route.controller.ts deleted file mode 100644 index 48f5a78d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-route.controller.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyRouteServiceImplService } from '../../../services/admin/diy/impl/diy-route-service-impl.service'; -import { CoreAddonServiceImplService } from '../../../services/core/addon/impl/core-addon-service-impl.service'; - -@Controller('adminapi/diy/route') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class DiyRouteController { - constructor( - private readonly diyRouteServiceImplService: DiyRouteServiceImplService, - private readonly coreAddonServiceImplService: CoreAddonServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.diyRouteServiceImplService.list(query); - return Result.success(result); - } - - @Get('apps') - @ApiOperation({ summary: '/apps' }) - @ApiResponse({ status: 200, description: '成功' }) - async getApps(@Query() query: Record): Promise> { - const result = await this.diyRouteServiceImplService.getInfoByName(query); - return Result.success(result); - } - - @Get('info') - @ApiOperation({ summary: '/info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfo(@Query() query: Record): Promise> { - const result = await this.diyRouteServiceImplService.getInfoByName(query); - return Result.success(result); - } - - @Put('share') - @ApiOperation({ summary: '/share' }) - @ApiResponse({ status: 200, description: '成功' }) - async putShare(@Body() body: Record): Promise> { - const result = await this.diyRouteServiceImplService.modifyShare(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-theme.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-theme.controller.ts deleted file mode 100644 index 5dc37fdd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy-theme.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyThemeServiceImplService } from '../../../services/admin/diy/impl/diy-theme-service-impl.service'; - -@Controller('adminapi/diy/theme') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class DiyThemeController { - constructor( - private readonly diyThemeServiceImplService: DiyThemeServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.diyThemeServiceImplService.getDiyTheme(query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.diyThemeServiceImplService.setDiyTheme(body); - return Result.success(result); - } - - @Get('color') - @ApiOperation({ summary: '/color' }) - @ApiResponse({ status: 200, description: '成功' }) - async getColor(@Query() query: Record): Promise> { - const result = await this.diyThemeServiceImplService.getDefaultThemeColor(query); - return Result.success(result); - } - - @Post('add') - @ApiOperation({ summary: '/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAdd(@Body() body: Record): Promise> { - const result = await this.diyThemeServiceImplService.addDiyTheme(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.diyThemeServiceImplService.editDiyTheme(body, id); - return Result.success(result); - } - - @Delete('delete/:id') - @ApiOperation({ summary: '/delete/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteid(@Param('id') id: string): Promise> { - const result = await this.diyThemeServiceImplService.delDiyTheme(id); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy.controller.ts deleted file mode 100644 index abe3263f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/diy/diy.controller.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyServiceImplService } from '../../../services/admin/diy/impl/diy-service-impl.service'; -import { CoreAddonServiceImplService } from '../../../services/core/addon/impl/core-addon-service-impl.service'; - -@Controller('adminapi/diy') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class DiyController { - constructor( - private readonly diyServiceImplService: DiyServiceImplService, - private readonly coreAddonServiceImplService: CoreAddonServiceImplService - ) {} - @Get('diy') - @ApiOperation({ summary: '/diy' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDiy(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.list(query); - return Result.success(result); - } - - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.allList(query); - return Result.success(result); - } - - @Get('diy/:id') - @ApiOperation({ summary: '/diy/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDiyid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.coreAddonServiceImplService.getInstallAddonList(id, query); - return Result.success(result); - } - - @Post('diy') - @ApiOperation({ summary: '/diy' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDiy(@Body() body: Record): Promise> { - const result = await this.diyServiceImplService.add(body); - return Result.success(result); - } - - @Put('diy/:id') - @ApiOperation({ summary: '/diy/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDiyid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.diyServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete('diy/:id') - @ApiOperation({ summary: '/diy/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteDiyid(@Param('id') id: string): Promise> { - const result = await this.diyServiceImplService.del(id); - return Result.success(result); - } - - @Get('init') - @ApiOperation({ summary: '/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInit(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getPageInit(query); - return Result.success(result); - } - - @Get('apps') - @ApiOperation({ summary: '/apps' }) - @ApiResponse({ status: 200, description: '成功' }) - async getApps(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getLink(query); - return Result.success(result); - } - - @Get('link') - @ApiOperation({ summary: '/link' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLink(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getLink(query); - return Result.success(result); - } - - @Put('use/:id') - @ApiOperation({ summary: '/use/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUseid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.diyServiceImplService.setUse(body, id); - return Result.success(result); - } - - @Get('template') - @ApiOperation({ summary: '/template' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplate(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getTemplate(query); - return Result.success(result); - } - - @Get('template/pages') - @ApiOperation({ summary: '/template/pages' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplatepages(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('change') - @ApiOperation({ summary: '/change' }) - @ApiResponse({ status: 200, description: '成功' }) - async putChange(@Body() body: Record): Promise> { - const result = await this.diyServiceImplService.changeTemplate(body); - return Result.success(result); - } - - @Get('decorate') - @ApiOperation({ summary: '/decorate' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDecorate(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getDecoratePage(query); - return Result.success(result); - } - - @Get('carousel_search') - @ApiOperation({ summary: '/carousel_search' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCarouselsearch(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getPageByCarouselSearch(query); - return Result.success(result); - } - - @Post('copy') - @ApiOperation({ summary: '/copy' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCopy(@Body() body: Record): Promise> { - const result = await this.diyServiceImplService.copy(body); - return Result.success(result); - } - - @Get('page_link') - @ApiOperation({ summary: '/page_link' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPagelink(@Query() query: Record): Promise> { - const result = await this.diyServiceImplService.getPageLink(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/generator/generate.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/generator/generate.controller.ts deleted file mode 100644 index 16cbd148..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/generator/generate.controller.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { GenerateServiceImplService } from '../../../services/admin/generator/impl/generate-service-impl.service'; - -@Controller('adminapi/generator') -@ApiTags('API') -export class GenerateController { - constructor( - private readonly generateServiceImplService: GenerateServiceImplService - ) {} - @Get('generator') - @ApiOperation({ summary: '/generator' }) - @ApiResponse({ status: 200, description: '成功' }) - async getGenerator(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('generator/:id') - @ApiOperation({ summary: '/generator/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getGeneratorid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.generateServiceImplService.getInfo(id, query); - return Result.success(result); - } - - @Post('generator') - @ApiOperation({ summary: '/generator' }) - @ApiResponse({ status: 200, description: '成功' }) - async postGenerator(@Body() body: Record): Promise> { - const result = await this.generateServiceImplService.edit(body); - return Result.success(result); - } - - @Put('generator/:id') - @ApiOperation({ summary: '/generator/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putGeneratorid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.generateServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete('generator/:id') - @ApiOperation({ summary: '/generator/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteGeneratorid(@Param('id') id: string): Promise> { - const result = await this.generateServiceImplService.del(id); - return Result.success(result); - } - - @Post('download') - @ApiOperation({ summary: '/download' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDownload(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('table') - @ApiOperation({ summary: '/table' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTable(@Query() query: Record): Promise> { - const result = await this.generateServiceImplService.preview(query); - return Result.success(result); - } - - @Get('preview/:id') - @ApiOperation({ summary: '/preview/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPreviewid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.generateServiceImplService.preview(id, query); - return Result.success(result); - } - - @Get('check_file') - @ApiOperation({ summary: '/check_file' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheckfile(@Query() query: Record): Promise> { - const result = await this.generateServiceImplService.checkFile(query); - return Result.success(result); - } - - @Get('table_column') - @ApiOperation({ summary: '/table_column' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTablecolumn(@Query() query: Record): Promise> { - const result = await this.generateServiceImplService.getTableColumn(query); - return Result.success(result); - } - - @Get('all_model') - @ApiOperation({ summary: '/all_model' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAllmodel(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('model_table_column') - @ApiOperation({ summary: '/model_table_column' }) - @ApiResponse({ status: 200, description: '成功' }) - async getModeltablecolumn(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/home/site.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/home/site.controller.ts deleted file mode 100644 index ebe5e8c4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/home/site.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AuthSiteServiceImplService } from '../../../services/admin/home/impl/auth-site-service-impl.service'; - -@Controller('adminapi/home') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SiteController { - constructor( - private readonly authSiteServiceImplService: AuthSiteServiceImplService - ) {} - @Get('site') - @ApiOperation({ summary: '/site' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSite(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('site/:id') - @ApiOperation({ summary: '/site/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSiteid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.authSiteServiceImplService.info(id, query); - return Result.success(result); - } - - @Put('site/:id') - @ApiOperation({ summary: '/site/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSiteid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.authSiteServiceImplService.edit(body, id); - return Result.success(result); - } - - @Get('site/group') - @ApiOperation({ summary: '/site/group' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSitegroup(@Query() query: Record): Promise> { - const result = await this.authSiteServiceImplService.getSiteGroup(query); - return Result.success(result); - } - - @Post('site/create') - @ApiOperation({ summary: '/site/create' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSitecreate(@Body() body: Record): Promise> { - const result = await this.authSiteServiceImplService.createSite(body); - return Result.success(result); - } - - @Get('site/group/app_list') - @ApiOperation({ summary: '/site/group/app_list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSitegroupapplist(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index.controller.ts deleted file mode 100644 index e81fbbd6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index.controller.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; - -@Controller('index') -@ApiTags('API') -export class IndexController { - constructor() {} - @Get('load') - @ApiOperation({ summary: '/load' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLoad(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('test_pay') - @ApiOperation({ summary: '/test_pay' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTestpay(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('test_enum') - @ApiOperation({ summary: '/test_enum' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTestenum(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('test') - @ApiOperation({ summary: '/test' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTest(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index/promotion-adv.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index/promotion-adv.controller.ts deleted file mode 100644 index dd49773f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/index/promotion-adv.controller.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; - -@Controller('adminapi/index') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PromotionAdvController { - constructor() {} - @Get('adv_list') - @ApiOperation({ summary: '/adv_list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAdvlist(@Query() query: Record): Promise> { - const result = await this.corePromotionAdvServiceImplService.getIndexAdvList(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/captcha.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/captcha.controller.ts deleted file mode 100644 index d34a4fa7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/captcha.controller.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreCaptchaImgServiceImplService } from '../../../services/core/captcha/impl/core-captcha-img-service-impl.service'; - -@Controller('adminapi/captcha') -@ApiTags('API') -@Public() -export class CaptchaController { - constructor( - private readonly coreCaptchaImgServiceImplService: CoreCaptchaImgServiceImplService - ) {} - @Get('create') - @ApiOperation({ summary: '/create' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCreate(@Query() query: Record): Promise> { - const result = await this.coreCaptchaImgServiceImplService.create(query); - return Result.success(result); - } - - @Get('check') - @ApiOperation({ summary: '/check' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheck(@Query() query: Record): Promise> { - const result = await this.coreCaptchaImgServiceImplService.check(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/config.controller.ts deleted file mode 100644 index b91968da..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/config.controller.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { ConfigServiceImplService } from '../../../services/admin/auth/impl/config-service-impl.service'; - -@Controller('adminapi/sys/config/') -@ApiTags('API') -export class ConfigController { - constructor( - private readonly configServiceImplService: ConfigServiceImplService - ) {} - @Get('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLogin(@Query() query: Record): Promise> { - const result = await this.configServiceImplService.getLoginConfig(query); - return Result.success(result); - } - - @Put('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async putLogin(@Body() body: Record): Promise> { - const result = await this.configServiceImplService.setLoginConfig(body); - return Result.success(result); - } -} 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 deleted file mode 100644 index 101adcfc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/login/login.controller.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { LoginServiceImplService } from '../../../services/admin/auth/impl/login-service-impl.service'; -import { ConfigServiceImplService } from '../../../services/admin/auth/impl/config-service-impl.service'; - -@Controller('adminapi/login') -@ApiTags('API') -@Public() -export class LoginController { - constructor( - private readonly loginServiceImplService: LoginServiceImplService, - private readonly configServiceImplService: ConfigServiceImplService - ) {} - @Get(':appType') - @ApiOperation({ summary: '/{appType}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAppType(@Param('appType') appType: string, @Query() query: Record): Promise> { - const result = await this.loginServiceImplService.login(appType, query); - return Result.success(result); - } - - @Get('config') - @ApiOperation({ summary: 'config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.configServiceImplService.getLoginConfig(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-account.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-account.controller.ts deleted file mode 100644 index edb77802..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-account.controller.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberAccountServiceImplService } from '../../../services/admin/member/impl/member-account-service-impl.service'; - -@Controller('adminapi/member/account') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberAccountController { - constructor( - private readonly memberAccountServiceImplService: MemberAccountServiceImplService - ) {} - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('point') - @ApiOperation({ summary: '/point' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPoint(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.list(query); - return Result.success(result); - } - - @Get('balance') - @ApiOperation({ summary: '/balance' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBalance(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.list(query); - return Result.success(result); - } - - @Get('money') - @ApiOperation({ summary: '/money' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMoney(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.list(query); - return Result.success(result); - } - - @Get('growth') - @ApiOperation({ summary: '/growth' }) - @ApiResponse({ status: 200, description: '成功' }) - async getGrowth(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.list(query); - return Result.success(result); - } - - @Get('commission') - @ApiOperation({ summary: '/commission' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCommission(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.list(query); - return Result.success(result); - } - - @Post('point') - @ApiOperation({ summary: '/point' }) - @ApiResponse({ status: 200, description: '成功' }) - async postPoint(@Body() body: Record): Promise> { - const result = await this.memberAccountServiceImplService.adjustPoint(body); - return Result.success(result); - } - - @Post('balance') - @ApiOperation({ summary: '/balance' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBalance(@Body() body: Record): Promise> { - const result = await this.memberAccountServiceImplService.adjustBalance(body); - return Result.success(result); - } - - @Get('sum_commission') - @ApiOperation({ summary: '/sum_commission' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSumcommission(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.sumCommission(query); - return Result.success(result); - } - - @Get('sum_point') - @ApiOperation({ summary: '/sum_point' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSumpoint(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.sumPoint(query); - return Result.success(result); - } - - @Get('sum_balance') - @ApiOperation({ summary: '/sum_balance' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSumbalance(@Query() query: Record): Promise> { - const result = await this.memberAccountServiceImplService.sumBalance(query); - return Result.success(result); - } - - @Get('change_type/:account_type') - @ApiOperation({ summary: '/change_type/{account_type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getChangetypeaccounttype(@Param('account_type') account_type: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-address.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-address.controller.ts deleted file mode 100644 index b0969236..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-address.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberAddressServiceImplService } from '../../../services/admin/member/impl/member-address-service-impl.service'; - -@Controller('adminapi/member/address') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberAddressController { - constructor( - private readonly memberAddressServiceImplService: MemberAddressServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.memberAddressServiceImplService.list(query); - return Result.success(result); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.memberAddressServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.memberAddressServiceImplService.add(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberAddressServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.memberAddressServiceImplService.del(id); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-cash-out.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-cash-out.controller.ts deleted file mode 100644 index f35f0462..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-cash-out.controller.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberCashOutServiceImplService } from '../../../services/admin/member/impl/member-cash-out-service-impl.service'; - -@Controller('adminapi/member/cash_out') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberCashOutController { - constructor( - private readonly memberCashOutServiceImplService: MemberCashOutServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.memberCashOutServiceImplService.pages(query); - return Result.success(result); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.memberCashOutServiceImplService.info(id, query); - return Result.success(result); - } - - @Get('status') - @ApiOperation({ summary: '/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatus(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('audit/:id/:action') - @ApiOperation({ summary: '/audit/{id}/{action}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAuditidaction(@Body() body: Record, @Param() params: Record): Promise> { - const result = await this.memberCashOutServiceImplService.audit(body, params); - return Result.success(result); - } - - @Put('cancel/:id') - @ApiOperation({ summary: '/cancel/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putCancelid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberCashOutServiceImplService.cancel(body, id); - return Result.success(result); - } - - @Put('remark/:id') - @ApiOperation({ summary: '/remark/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putRemarkid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberCashOutServiceImplService.remark(body, id); - return Result.success(result); - } - - @Get('transfertype') - @ApiOperation({ summary: '/transfertype' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTransfertype(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('transfer/:id') - @ApiOperation({ summary: '/transfer/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putTransferid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberCashOutServiceImplService.transfer(body, id); - return Result.success(result); - } - - @Get('stat') - @ApiOperation({ summary: '/stat' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStat(@Query() query: Record): Promise> { - const result = await this.memberCashOutServiceImplService.stat(query); - return Result.success(result); - } - - @Put('check/:id') - @ApiOperation({ summary: '/check/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putCheckid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberCashOutServiceImplService.checkTransferStatus(body, id); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-config.controller.ts deleted file mode 100644 index 45c307b7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-config.controller.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberConfigServiceImplService } from '../../../services/admin/member/impl/member-config-service-impl.service'; - -@Controller('adminapi/member/config') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberConfigController { - constructor( - private readonly memberConfigServiceImplService: MemberConfigServiceImplService - ) {} - @Get('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLogin(@Query() query: Record): Promise> { - const result = await this.memberConfigServiceImplService.getLoginConfig(query); - return Result.success(result); - } - - @Post('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLogin(@Body() body: Record): Promise> { - const result = await this.memberConfigServiceImplService.setLoginConfig(body); - return Result.success(result); - } - - @Get('cash_out') - @ApiOperation({ summary: '/cash_out' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashout(@Query() query: Record): Promise> { - const result = await this.memberConfigServiceImplService.getCashOutConfig(query); - return Result.success(result); - } - - @Post('cash_out') - @ApiOperation({ summary: '/cash_out' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCashout(@Body() body: Record): Promise> { - const result = await this.memberConfigServiceImplService.setCashOutConfig(body); - return Result.success(result); - } - - @Get('member') - @ApiOperation({ summary: '/member' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMember(@Query() query: Record): Promise> { - const result = await this.memberConfigServiceImplService.getMemberConfig(query); - return Result.success(result); - } - - @Post('member') - @ApiOperation({ summary: '/member' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMember(@Body() body: Record): Promise> { - const result = await this.memberConfigServiceImplService.setMemberConfig(body); - return Result.success(result); - } - - @Get('growth_rule') - @ApiOperation({ summary: '/growth_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async getGrowthrule(@Query() query: Record): Promise> { - const result = await this.memberConfigServiceImplService.getGrowthRuleConfig(query); - return Result.success(result); - } - - @Post('growth_rule') - @ApiOperation({ summary: '/growth_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async postGrowthrule(@Body() body: Record): Promise> { - const result = await this.memberConfigServiceImplService.setGrowthRuleConfig(body); - return Result.success(result); - } - - @Get('point_rule') - @ApiOperation({ summary: '/point_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPointrule(@Query() query: Record): Promise> { - const result = await this.memberConfigServiceImplService.getPointRuleConfig(query); - return Result.success(result); - } - - @Post('point_rule') - @ApiOperation({ summary: '/point_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async postPointrule(@Body() body: Record): Promise> { - const result = await this.memberConfigServiceImplService.setPointRuleConfig(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-label.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-label.controller.ts deleted file mode 100644 index 5c5e3d58..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-label.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberLabelServiceImplService } from '../../../services/admin/member/impl/member-label-service-impl.service'; - -@Controller('adminapi/member') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberLabelController { - constructor( - private readonly memberLabelServiceImplService: MemberLabelServiceImplService - ) {} - @Get('label') - @ApiOperation({ summary: '/label' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLabel(@Query() query: Record): Promise> { - const result = await this.memberLabelServiceImplService.list(query); - return Result.success(result); - } - - @Get('label/:id') - @ApiOperation({ summary: '/label/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLabelid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.memberLabelServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('label') - @ApiOperation({ summary: '/label' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLabel(@Body() body: Record): Promise> { - const result = await this.memberLabelServiceImplService.add(body); - return Result.success(result); - } - - @Put('label/:id') - @ApiOperation({ summary: '/label/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putLabelid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberLabelServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete('label/:id') - @ApiOperation({ summary: '/label/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteLabelid(@Param('id') id: string): Promise> { - const result = await this.memberLabelServiceImplService.del(id); - return Result.success(result); - } - - @Get('label/all') - @ApiOperation({ summary: '/label/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLabelall(@Query() query: Record): Promise> { - const result = await this.memberLabelServiceImplService.all(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-level.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-level.controller.ts deleted file mode 100644 index 89e5e954..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-level.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberLevelServiceImplService } from '../../../services/admin/member/impl/member-level-service-impl.service'; - -@Controller('adminapi/member/level') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberLevelController { - constructor( - private readonly memberLevelServiceImplService: MemberLevelServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.memberLevelServiceImplService.list(query); - return Result.success(result); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.memberLevelServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.memberLevelServiceImplService.add(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.memberLevelServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.memberLevelServiceImplService.del(id); - return Result.success(result); - } - - @Get('all') - @ApiOperation({ summary: '/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAll(@Query() query: Record): Promise> { - const result = await this.memberLevelServiceImplService.all(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-sign.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-sign.controller.ts deleted file mode 100644 index 1cbc0573..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member-sign.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberSignServiceImplService } from '../../../services/admin/member/impl/member-sign-service-impl.service'; - -@Controller('adminapi/member/sign') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberSignController { - constructor( - private readonly memberSignServiceImplService: MemberSignServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.memberSignServiceImplService.pages(query); - return Result.success(result); - } - - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.memberSignServiceImplService.getSignConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.memberSignServiceImplService.setSignConfig(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member.controller.ts deleted file mode 100644 index c781bb0a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/member/member.controller.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberServiceImplService } from '../../../services/admin/member/impl/member-service-impl.service'; - -@Controller('adminapi/member') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberController { - constructor( - private readonly memberServiceImplService: MemberServiceImplService - ) {} - @Get('member') - @ApiOperation({ summary: '/member' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMember(@Query() query: Record): Promise> { - const result = await this.memberServiceImplService.all(query); - return Result.success(result); - } - - @Get('member/list') - @ApiOperation({ summary: '/member/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMemberlist(@Query() query: Record): Promise> { - const result = await this.memberServiceImplService.all(query); - return Result.success(result); - } - - @Get('member/:id') - @ApiOperation({ summary: '/member/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMemberid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.memberServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('member') - @ApiOperation({ summary: '/member' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMember(@Body() body: Record): Promise> { - const result = await this.memberServiceImplService.add(body); - return Result.success(result); - } - - @Put('member/:member_id') - @ApiOperation({ summary: '/member/{member_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putMembermemberid(@Body() body: Record, @Param('member_id') member_id: string): Promise> { - const result = await this.memberServiceImplService.edit(body, member_id); - return Result.success(result); - } - - @Put('member/modify/:member_id/:field') - @ApiOperation({ summary: '/member/modify/{member_id}/{field}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putMembermodifymemberidfield(@Body() body: Record, @Param() params: Record): Promise> { - const result = await this.memberServiceImplService.modify(body, params); - return Result.success(result); - } - - @Delete('member/:member_id') - @ApiOperation({ summary: '/member/{member_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteMembermemberid(@Param('member_id') member_id: string): Promise> { - const result = await this.memberServiceImplService.del(member_id); - return Result.success(result); - } - - @Get('memberno') - @ApiOperation({ summary: '/memberno' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMemberno(@Query() query: Record): Promise> { - const result = await this.memberServiceImplService.getMemberNo(query); - return Result.success(result); - } - - @Get('registertype') - @ApiOperation({ summary: '/registertype' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRegistertype(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('register/channel') - @ApiOperation({ summary: '/register/channel' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRegisterchannel(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('status/list') - @ApiOperation({ summary: '/status/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatuslist(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('setstatus/:status') - @ApiOperation({ summary: '/setstatus/{status}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSetstatusstatus(@Body() body: Record, @Param('status') status: string): Promise> { - const result = await this.memberServiceImplService.setStatus(body, status); - return Result.success(result); - } - - @Get('dict/benefits') - @ApiOperation({ summary: '/dict/benefits' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictbenefits(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('dict/gift') - @ApiOperation({ summary: '/dict/gift' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictgift(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('dict/growth_rule') - @ApiOperation({ summary: '/dict/growth_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictgrowthrule(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('dict/point_rule') - @ApiOperation({ summary: '/dict/point_rule' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDictpointrule(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('gifts/content') - @ApiOperation({ summary: '/gifts/content' }) - @ApiResponse({ status: 200, description: '成功' }) - async postGiftscontent(@Body() body: Record): Promise> { - const result = await this.memberServiceImplService.getMemberGiftsContent(body); - return Result.success(result); - } - - @Post('benefits/content') - @ApiOperation({ summary: '/benefits/content' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBenefitscontent(@Body() body: Record): Promise> { - const result = await this.memberServiceImplService.getMemberBenefitsContent(body); - return Result.success(result); - } - - @Post('member/batch_modify') - @ApiOperation({ summary: '/member/batch_modify' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMemberbatchmodify(@Body() body: Record): Promise> { - const result = await this.memberServiceImplService.batchModify(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/cloud.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/cloud.controller.ts deleted file mode 100644 index 8c8a8ef7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/cloud.controller.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CloudBuildServiceImplService } from '../../../services/admin/niucloud/impl/cloud-build-service-impl.service'; - -@Controller('adminapi/niucloud') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class CloudController { - constructor( - private readonly cloudBuildServiceImplService: CloudBuildServiceImplService - ) {} - @Get('build') - @ApiOperation({ summary: '/build' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBuild(@Query() query: Record): Promise> { - const result = await this.cloudBuildServiceImplService.getBuildTask(query); - return Result.success(result); - } - - @Post('build') - @ApiOperation({ summary: '/build' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBuild(@Body() body: Record): Promise> { - const result = await this.cloudBuildServiceImplService.build(body); - return Result.success(result); - } - - @Get('build/log') - @ApiOperation({ summary: '/build/log' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBuildlog(@Query() query: Record): Promise> { - const result = await this.cloudBuildServiceImplService.getBuildLog(query); - return Result.success(result); - } - - @Post('build/clear') - @ApiOperation({ summary: '/build/clear' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBuildclear(@Body() body: Record): Promise> { - const result = await this.cloudBuildServiceImplService.clearBuildTask(body); - return Result.success(result); - } - - @Get('build/check') - @ApiOperation({ summary: '/build/check' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBuildcheck(@Query() query: Record): Promise> { - const result = await this.cloudBuildServiceImplService.buildPreCheck(query); - return Result.success(result); - } - - @Get('build/get_local_url') - @ApiOperation({ summary: '/build/get_local_url' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBuildgetlocalurl(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('build/set_local_url') - @ApiOperation({ summary: '/build/set_local_url' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBuildsetlocalurl(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('build/connect_test') - @ApiOperation({ summary: '/build/connect_test' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBuildconnecttest(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/module.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/module.controller.ts deleted file mode 100644 index 1dd5512a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/niucloud/module.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { NiuCloudServiceImplService } from '../../../services/admin/niucloud/impl/niu-cloud-service-impl.service'; - -@Controller('adminapi/niucloud') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ModuleController { - constructor( - private readonly niucloudServiceImplService: NiuCloudServiceImplService - ) {} - @Get('framework/newversion') - @ApiOperation({ summary: '/framework/newversion' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFrameworknewversion(@Query() query: Record): Promise> { - const result = await this.niucloudServiceImplService.getFrameworkLastVersion(query); - return Result.success(result); - } - - @Get('framework/version/list') - @ApiOperation({ summary: '/framework/version/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFrameworkversionlist(@Query() query: Record): Promise> { - const result = await this.niucloudServiceImplService.getFrameworkVersionList(query); - return Result.success(result); - } - - @Get('authinfo') - @ApiOperation({ summary: '/authinfo' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuthinfo(@Query() query: Record): Promise> { - const result = await this.niucloudServiceImplService.getAuthinfo(query); - return Result.success(result); - } - - @Post('authinfo') - @ApiOperation({ summary: '/authinfo' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAuthinfo(@Body() body: Record): Promise> { - const result = await this.niucloudServiceImplService.setAuthorize(body); - return Result.success(result); - } - - @Get('app_version/list') - @ApiOperation({ summary: '/app_version/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAppversionlist(@Query() query: Record): Promise> { - const result = await this.niucloudServiceImplService.getAppVersionList(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/niu-sms.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/niu-sms.controller.ts deleted file mode 100644 index 2444d6ff..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/niu-sms.controller.ts +++ /dev/null @@ -1,229 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { NuiSmsServiceImplService } from '../../../services/admin/notice/impl/nui-sms-service-impl.service'; - -@Controller('adminapi/notice/niusms') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class NiuSmsController { - constructor( - private readonly nuiSmsServiceImplService: NuiSmsServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/report/config') - @ApiOperation({ summary: '/sign/report/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSignreportconfig(@Query() query: Record): Promise> { - const result = await this.nuiSmsServiceImplService.captcha(query); - return Result.success(result); - } - - @Get('captcha') - @ApiOperation({ summary: '/captcha' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCaptcha(@Query() query: Record): Promise> { - const result = await this.nuiSmsServiceImplService.captcha(query); - return Result.success(result); - } - - @Post('send') - @ApiOperation({ summary: '/send' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSend(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('account/register') - @ApiOperation({ summary: '/account/register' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAccountregister(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('account/login') - @ApiOperation({ summary: '/account/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAccountlogin(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('account/reset/password/:username') - @ApiOperation({ summary: '/account/reset/password/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAccountresetpasswordusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/info/:username') - @ApiOperation({ summary: '/account/info/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountinfousername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('template/report/config') - @ApiOperation({ summary: '/template/report/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplatereportconfig(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('template/list/:smsType/:username') - @ApiOperation({ summary: '/template/list/{smsType}/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplatelistsmsTypeusername(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('order/list/:username') - @ApiOperation({ summary: '/order/list/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getOrderlistusername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/send_list/:username') - @ApiOperation({ summary: '/account/send_list/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountsendlistusername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('enable') - @ApiOperation({ summary: '/enable' }) - @ApiResponse({ status: 200, description: '成功' }) - async putEnable(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('account/edit/:username') - @ApiOperation({ summary: '/account/edit/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAccounteditusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/list/:username') - @ApiOperation({ summary: '/sign/list/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSignlistusername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('sign/delete/:username') - @ApiOperation({ summary: '/sign/delete/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSigndeleteusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('sign/report/:username') - @ApiOperation({ summary: '/sign/report/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSignreportusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('packages') - @ApiOperation({ summary: 'packages' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPackages(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('order/calculate/:username') - @ApiOperation({ summary: '/order/calculate/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postOrdercalculateusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('order/create/:username') - @ApiOperation({ summary: '/order/create/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postOrdercreateusername(@Body() body: Record, @Param('username') username: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('order/pay/:username') - @ApiOperation({ summary: '/order/pay/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getOrderpayusername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('order/info/:username') - @ApiOperation({ summary: '/order/info/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getOrderinfousername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('order/status/:username') - @ApiOperation({ summary: '/order/status/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getOrderstatususername(@Param('username') username: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('template/sync/:smsType/:username') - @ApiOperation({ summary: '/template/sync/{smsType}/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplatesyncsmsTypeusername(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('template/report/:smsType/:username') - @ApiOperation({ summary: '/template/report/{smsType}/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postTemplatereportsmsTypeusername(@Body() body: Record, @Param() params: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete('template/:username/:templateId') - @ApiOperation({ summary: '/template/{username}/{templateId}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteTemplateusernametemplateId(@Param() params: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('template/info/:smsType/:username') - @ApiOperation({ summary: '/template/info/{smsType}/{username}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplateinfosmsTypeusername(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-log.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-log.controller.ts deleted file mode 100644 index 3e319863..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-log.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysNoticeLogServiceImplService } from '../../../services/admin/sys/impl/sys-notice-log-service-impl.service'; - -@Controller('adminapi/notice/log') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class NoticeLogController { - constructor( - private readonly sysNoticeLogServiceImplService: SysNoticeLogServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysNoticeLogServiceImplService.info(id, query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-sms-log.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-sms-log.controller.ts deleted file mode 100644 index e0d1efe1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice-sms-log.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysNoticeSmsLogServiceImplService } from '../../../services/admin/sys/impl/sys-notice-sms-log-service-impl.service'; - -@Controller('adminapi/notice/sms/log') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class NoticeSmsLogController { - constructor( - private readonly sysNoticeSmsLogServiceImplService: SysNoticeSmsLogServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysNoticeSmsLogServiceImplService.info(id, query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice.controller.ts deleted file mode 100644 index 1c6ca827..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/notice/notice.controller.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { NoticeServiceImplService } from '../../../services/admin/notice/impl/notice-service-impl.service'; - -@Controller('adminapi/notice') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class NoticeController { - constructor( - private readonly noticeServiceImplService: NoticeServiceImplService - ) {} - @Get('notice') - @ApiOperation({ summary: '/notice' }) - @ApiResponse({ status: 200, description: '成功' }) - async getNotice(@Query() query: Record): Promise> { - const result = await this.noticeServiceImplService.getAddonList(query); - return Result.success(result); - } - - @Get('notice/:key') - @ApiOperation({ summary: '/notice/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getNoticekey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.noticeServiceImplService.getInfo(key, query); - return Result.success(result); - } - - @Post('notice/edit') - @ApiOperation({ summary: '/notice/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postNoticeedit(@Body() body: Record): Promise> { - const result = await this.smsServiceImplService.getList(body); - return Result.success(result); - } - - @Get('notice/sms') - @ApiOperation({ summary: '/notice/sms' }) - @ApiResponse({ status: 200, description: '成功' }) - async getNoticesms(@Query() query: Record): Promise> { - const result = await this.smsServiceImplService.getList(query); - return Result.success(result); - } - - @Get('notice/sms/:sms_type') - @ApiOperation({ summary: '/notice/sms/{sms_type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getNoticesmssmstype(@Param('sms_type') sms_type: string, @Query() query: Record): Promise> { - const result = await this.smsServiceImplService.getConfig(sms_type, query); - return Result.success(result); - } - - @Put('notice/sms/:sms_type') - @ApiOperation({ summary: '/notice/sms/{sms_type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putNoticesmssmstype(@Body() body: Record, @Param('sms_type') sms_type: string): Promise> { - const result = await this.noticeServiceImplService.editMessageStatus(body, sms_type); - return Result.success(result); - } - - @Post('notice/editstatus') - @ApiOperation({ summary: '/notice/editstatus' }) - @ApiResponse({ status: 200, description: '成功' }) - async postNoticeeditstatus(@Body() body: Record): Promise> { - const result = await this.noticeServiceImplService.editMessageStatus(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-channel.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-channel.controller.ts deleted file mode 100644 index f9ecee8b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-channel.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { PayChannelServiceImplService } from '../../../services/admin/pay/impl/pay-channel-service-impl.service'; - -@Controller('adminapi/pay') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PayChannelController { - constructor( - private readonly payChannelServiceImplService: PayChannelServiceImplService - ) {} - @Get('channel/lists') - @ApiOperation({ summary: '/channel/lists' }) - @ApiResponse({ status: 200, description: '成功' }) - async getChannellists(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('type/all') - @ApiOperation({ summary: '/type/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTypeall(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('channel/set/all') - @ApiOperation({ summary: '/channel/set/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async postChannelsetall(@Body() body: Record): Promise> { - const result = await this.payChannelServiceImplService.set(body); - return Result.success(result); - } - - @Post('channel/set/:channel/:type') - @ApiOperation({ summary: '/channel/set/{channel}/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postChannelsetchanneltype(@Body() body: Record, @Param() params: Record): Promise> { - const result = await this.payChannelServiceImplService.set(body, params); - return Result.success(result); - } - - @Get('channel/lists/:channel') - @ApiOperation({ summary: '/channel/lists/{channel}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getChannellistschannel(@Param('channel') channel: string, @Query() query: Record): Promise> { - const result = await this.payChannelServiceImplService.getListByChannel(channel, query); - return Result.success(result); - } - - @Post('channel/set/transfer') - @ApiOperation({ summary: '/channel/set/transfer' }) - @ApiResponse({ status: 200, description: '成功' }) - async postChannelsettransfer(@Body() body: Record): Promise> { - const result = await this.payChannelServiceImplService.setTransfer(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-refund.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-refund.controller.ts deleted file mode 100644 index 38d7f556..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-refund.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { PayRefundServiceImplService } from '../../../services/admin/pay/impl/pay-refund-service-impl.service'; - -@Controller('adminapi/pay/refund') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PayRefundController { - constructor( - private readonly payRefundServiceImplService: PayRefundServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.payRefundServiceImplService.list(query); - return Result.success(result); - } - - @Get(':refund_no') - @ApiOperation({ summary: '/{refund_no}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRefundno(@Param('refund_no') refund_no: string, @Query() query: Record): Promise> { - const result = await this.payRefundServiceImplService.info(refund_no, query); - return Result.success(result); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - const result = await this.payRefundServiceImplService.transfer(query); - return Result.success(result); - } - - @Post('transfer') - @ApiOperation({ summary: '/transfer' }) - @ApiResponse({ status: 200, description: '成功' }) - async postTransfer(@Body() body: Record): Promise> { - const result = await this.payRefundServiceImplService.transfer(body); - return Result.success(result); - } - - @Get('status') - @ApiOperation({ summary: '/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatus(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-transfer.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-transfer.controller.ts deleted file mode 100644 index 244baba3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay-transfer.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { PayTransferServiceImplService } from '../../../services/admin/pay/impl/pay-transfer-service-impl.service'; - -@Controller('adminapi/pay') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PayTransferController { - constructor( - private readonly payTransferServiceImplService: PayTransferServiceImplService - ) {} - @Get('transfer_scene') - @ApiOperation({ summary: '/transfer_scene' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTransferscene(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('transfer_scene/set_scene_id/:scene') - @ApiOperation({ summary: '/transfer_scene/set_scene_id/{scene}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postTransferscenesetsceneidscene(@Body() body: Record, @Param('scene') scene: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('transfer_scene/set_trade_scene/:type') - @ApiOperation({ summary: '/transfer_scene/set_trade_scene/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postTransferscenesettradescenetype(@Body() body: Record, @Param('type') type: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay.controller.ts deleted file mode 100644 index fa49492a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/pay/pay.controller.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { PayServiceImplService } from '../../../services/admin/pay/impl/pay-service-impl.service'; - -@Controller('adminapi/pay') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class PayController { - constructor( - private readonly payServiceImplService: PayServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('info') - @ApiOperation({ summary: '/info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfo(@Query() query: Record): Promise> { - const result = await this.payServiceImplService.info(query); - return Result.success(result); - } - - @Post('add') - @ApiOperation({ summary: '/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAdd(@Body() body: Record): Promise> { - const result = await this.payServiceImplService.add(body); - return Result.success(result); - } - - @Post('edit') - @ApiOperation({ summary: '/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postEdit(@Body() body: Record): Promise> { - const result = await this.payServiceImplService.edit(body); - return Result.success(result); - } - - @Post('del') - @ApiOperation({ summary: '/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDel(@Body() body: Record): Promise> { - const result = await this.payServiceImplService.del(body); - return Result.success(result); - } - - @Get('friendspay/info/:trade_type/:trade_id/:channel') - @ApiOperation({ summary: '/friendspay/info/{trade_type}/{trade_id}/{channel}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getFriendspayinfotradetypetradeidchannel(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('type/list') - @ApiOperation({ summary: '/type/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTypelist(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-account-log.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-account-log.controller.ts deleted file mode 100644 index 2fc0baed..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-account-log.controller.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SiteAccountLogServiceImplService } from '../../../services/admin/site/impl/site-account-log-service-impl.service'; - -@Controller('adminapi/site/account') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SiteAccountLogController { - constructor( - private readonly siteAccountLogServiceImplService: SiteAccountLogServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.siteAccountLogServiceImplService.info(id, query); - return Result.success(result); - } - - @Get('stat') - @ApiOperation({ summary: '/stat' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStat(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-group.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-group.controller.ts deleted file mode 100644 index 0fe1d555..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site-group.controller.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SiteGroupServiceImplService } from '../../../services/admin/site/impl/site-group-service-impl.service'; - -@Controller('adminapi/site/group') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SiteGroupController { - constructor( - private readonly siteGroupServiceImplService: SiteGroupServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.siteGroupServiceImplService.add(body); - return Result.success(result); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.siteGroupServiceImplService.info(id, query); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.siteGroupServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.siteGroupServiceImplService.del(id); - return Result.success(result); - } - - @Get('all') - @ApiOperation({ summary: '/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAll(@Query() query: Record): Promise> { - const result = await this.siteGroupServiceImplService.getAll(query); - return Result.success(result); - } - - @Get('user') - @ApiOperation({ summary: '/user' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUser(@Query() query: Record): Promise> { - const result = await this.siteGroupServiceImplService.getUserSiteGroupAll(query); - return Result.success(result); - } - - @Get('test') - @ApiOperation({ summary: '/test' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTest(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site.controller.ts deleted file mode 100644 index 7a8d0c0b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/site.controller.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SiteServiceImplService } from '../../../services/admin/site/impl/site-service-impl.service'; -import { AuthServiceImplService } from '../../../services/admin/auth/impl/auth-service-impl.service'; - -@Controller('adminapi/site') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SiteController { - constructor( - private readonly siteServiceImplService: SiteServiceImplService, - private readonly authServiceImplService: AuthServiceImplService - ) {} - @Get('site') - @ApiOperation({ summary: '/site' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSite(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('site/:id') - @ApiOperation({ summary: '/site/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSiteid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.siteServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('site') - @ApiOperation({ summary: '/site' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSite(@Body() body: Record): Promise> { - const result = await this.siteServiceImplService.add(body); - return Result.success(result); - } - - @Put('site/:id') - @ApiOperation({ summary: '/site/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSiteid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.siteServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete('site/:id') - @ApiOperation({ summary: '/site/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteSiteid(@Param('id') id: string): Promise> { - const result = await this.siteServiceImplService.del(id); - return Result.success(result); - } - - @Put('closesite/:id') - @ApiOperation({ summary: '/closesite/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putClosesiteid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.siteServiceImplService.closeSite(body, id); - return Result.success(result); - } - - @Put('opensite/:id') - @ApiOperation({ summary: '/opensite/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putOpensiteid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.siteServiceImplService.openSite(body, id); - return Result.success(result); - } - - @Get('statuslist') - @ApiOperation({ summary: '/statuslist' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatuslist(@Query() query: Record): Promise> { - const result = await this.authServiceImplService.getAuthMenuTreeList(query); - return Result.success(result); - } - - @Get('site/menu') - @ApiOperation({ summary: '/site/menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSitemenu(@Query() query: Record): Promise> { - const result = await this.authServiceImplService.getAuthMenuTreeList(query); - return Result.success(result); - } - - @Get('addons') - @ApiOperation({ summary: '/addons' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddons(@Query() query: Record): Promise> { - const result = await this.siteServiceImplService.getSiteAddons(query); - return Result.success(result); - } - - @Get('showApp') - @ApiOperation({ summary: '/showApp' }) - @ApiResponse({ status: 200, description: '成功' }) - async getShowApp(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('showMarketing') - @ApiOperation({ summary: '/showMarketing' }) - @ApiResponse({ status: 200, description: '成功' }) - async getShowMarketing(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('allow_change') - @ApiOperation({ summary: '/allow_change' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAllowchange(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('allow_change') - @ApiOperation({ summary: '/allow_change' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAllowchange(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('captcha/create') - @ApiOperation({ summary: '/captcha/create' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCaptchacreate(@Query() query: Record): Promise> { - const result = await this.siteServiceImplService.siteInit(query); - return Result.success(result); - } - - @Post('init') - @ApiOperation({ summary: '/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async postInit(@Body() body: Record): Promise> { - const result = await this.siteServiceImplService.siteInit(body); - return Result.success(result); - } - - @Get('special_menu') - @ApiOperation({ summary: '/special_menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSpecialmenu(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('showCustomer') - @ApiOperation({ summary: '/showCustomer' }) - @ApiResponse({ status: 200, description: '成功' }) - async getShowCustomer(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user-log.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user-log.controller.ts deleted file mode 100644 index eb76e1ee..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user-log.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysUserLogServiceImplService } from '../../../services/admin/sys/impl/sys-user-log-service-impl.service'; - -@Controller('adminapi/site/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class UserLogController { - constructor( - private readonly sysUserLogServiceImplService: SysUserLogServiceImplService - ) {} - @Get('log') - @ApiOperation({ summary: '/log' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLog(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('log/:id') - @ApiOperation({ summary: '/log/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLogid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysUserLogServiceImplService.info(id, query); - return Result.success(result); - } - - @Delete('log/destroy') - @ApiOperation({ summary: '/log/destroy' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteLogdestroy(): Promise> { - const result = await this.sysUserLogServiceImplService.destroy(); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user.controller.ts deleted file mode 100644 index 5eb9c528..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/site/user.controller.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SiteUserServiceImplService } from '../../../services/admin/site/impl/site-user-service-impl.service'; - -@Controller('adminapi/site/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class UserController { - constructor( - private readonly siteUserServiceImplService: SiteUserServiceImplService - ) {} - @Get('user') - @ApiOperation({ summary: 'user' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUser(@Query() query: Record): Promise> { - const result = await this.siteUserServiceImplService.list(query); - return Result.success(result); - } - - @Post('user') - @ApiOperation({ summary: 'user' }) - @ApiResponse({ status: 200, description: '成功' }) - async postUser(@Body() body: Record): Promise> { - const result = await this.siteUserServiceImplService.add(body); - return Result.success(result); - } - - @Get('user/:uid') - @ApiOperation({ summary: 'user/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUseruid(@Param('uid') uid: string, @Query() query: Record): Promise> { - const result = await this.siteUserServiceImplService.getInfo(uid, query); - return Result.success(result); - } - - @Put('user/:uid') - @ApiOperation({ summary: 'user/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUseruid(@Body() body: Record, @Param('uid') uid: string): Promise> { - const result = await this.siteUserServiceImplService.edit(body, uid); - return Result.success(result); - } - - @Put('user/lock/:uid') - @ApiOperation({ summary: 'user/lock/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUserlockuid(@Body() body: Record, @Param('uid') uid: string): Promise> { - const result = await this.siteUserServiceImplService.lock(body, uid); - return Result.success(result); - } - - @Put('user/unlock/:uid') - @ApiOperation({ summary: 'user/unlock/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUserunlockuid(@Body() body: Record, @Param('uid') uid: string): Promise> { - const result = await this.siteUserServiceImplService.unlock(body, uid); - return Result.success(result); - } - - @Delete('user/:uid') - @ApiOperation({ summary: 'user/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteUseruid(@Param('uid') uid: string): Promise> { - const result = await this.siteUserServiceImplService.delete(uid); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat-hour.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat-hour.controller.ts deleted file mode 100644 index f07635b1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat-hour.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { StatHourServiceImplService } from '../../../services/admin/stat/impl/stat-hour-service-impl.service'; - -@Controller('adminapi/hour') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class StatHourController { - constructor( - private readonly statHourServiceImplService: StatHourServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('info') - @ApiOperation({ summary: '/info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfo(@Query() query: Record): Promise> { - const result = await this.statHourServiceImplService.info(query); - return Result.success(result); - } - - @Post('add') - @ApiOperation({ summary: '/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAdd(@Body() body: Record): Promise> { - const result = await this.statHourServiceImplService.add(body); - return Result.success(result); - } - - @Post('edit') - @ApiOperation({ summary: '/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postEdit(@Body() body: Record): Promise> { - const result = await this.statHourServiceImplService.edit(body); - return Result.success(result); - } - - @Post('del') - @ApiOperation({ summary: '/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDel(@Body() body: Record): Promise> { - const result = await this.statHourServiceImplService.del(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat.controller.ts deleted file mode 100644 index 4d82e15a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/stat/stat.controller.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { StatServiceImplService } from '../../../services/admin/stat/impl/stat-service-impl.service'; - -@Controller('adminapi/stat') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class StatController { - constructor( - private readonly statServiceImplService: StatServiceImplService - ) {} - @Get('index') - @ApiOperation({ summary: '/index' }) - @ApiResponse({ status: 200, description: '成功' }) - async getIndex(@Query() query: Record): Promise> { - const result = await this.statServiceImplService.getIndexData(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-agreement.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-agreement.controller.ts deleted file mode 100644 index 69cf0155..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-agreement.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysAgreementServiceImplService } from '../../../services/admin/sys/impl/sys-agreement-service-impl.service'; - -@Controller('adminapi/sys') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysAgreementController { - constructor( - private readonly sysAgreementServiceImplService: SysAgreementServiceImplService - ) {} - @Get('agreement') - @ApiOperation({ summary: '/agreement' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAgreement(@Query() query: Record): Promise> { - const result = await this.sysAgreementServiceImplService.list(query); - return Result.success(result); - } - - @Get('agreement/:key') - @ApiOperation({ summary: '/agreement/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAgreementkey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.sysAgreementServiceImplService.getAgreement(key, query); - return Result.success(result); - } - - @Put('agreement/:key') - @ApiOperation({ summary: '/agreement/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAgreementkey(@Body() body: Record, @Param('key') key: string): Promise> { - const result = await this.sysAgreementServiceImplService.setAgreement(body, key); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-area.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-area.controller.ts deleted file mode 100644 index 8a2b5e6f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-area.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysAreaServiceImplService } from '../../../services/admin/sys/impl/sys-area-service-impl.service'; - -@Controller('adminapi/sys/area') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysAreaController { - constructor( - private readonly sysAreaServiceImplService: SysAreaServiceImplService - ) {} - @Get('list_by_pid/:pid') - @ApiOperation({ summary: '/list_by_pid/{pid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getListbypidpid(@Param('pid') pid: string, @Query() query: Record): Promise> { - const result = await this.sysAreaServiceImplService.getListByPid(pid, query); - return Result.success(result); - } - - @Get('tree/:level') - @ApiOperation({ summary: '/tree/{level}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTreelevel(@Param('level') level: string, @Query() query: Record): Promise> { - const result = await this.sysAreaServiceImplService.getAreaTree(level, query); - return Result.success(result); - } - - @Get('code/:code') - @ApiOperation({ summary: '/code/{code}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCodecode(@Param('code') code: string, @Query() query: Record): Promise> { - const result = await this.sysAreaServiceImplService.getAddressInfo(code, query); - return Result.success(result); - } - - @Get('contrary') - @ApiOperation({ summary: '/contrary' }) - @ApiResponse({ status: 200, description: '成功' }) - async getContrary(@Query() query: Record): Promise> { - const result = await this.sysAreaServiceImplService.getAddressInfo(query); - return Result.success(result); - } - - @Get('get_info') - @ApiOperation({ summary: '/get_info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getinfo(@Query() query: Record): Promise> { - const result = await this.sysAreaServiceImplService.getAddress(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-attachment.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-attachment.controller.ts deleted file mode 100644 index 1082d3c3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-attachment.controller.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysAttachmentServiceImplService } from '../../../services/admin/sys/impl/sys-attachment-service-impl.service'; - -@Controller('adminapi/sys') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysAttachmentController { - constructor( - private readonly sysAttachmentServiceImplService: SysAttachmentServiceImplService - ) {} - @Get('attachment') - @ApiOperation({ summary: '/attachment' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAttachment(@Query() query: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.list(query); - return Result.success(result); - } - - @Delete('attachment/del') - @ApiOperation({ summary: '/attachment/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteAttachmentdel(): Promise> { - const result = await this.sysAttachmentServiceImplService.del(); - return Result.success(result); - } - - @Put('attachment/batchmove') - @ApiOperation({ summary: '/attachment/batchmove' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAttachmentbatchmove(@Body() body: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.batchMoveCategory(body); - return Result.success(result); - } - - @Post('image') - @ApiOperation({ summary: '/image' }) - @ApiResponse({ status: 200, description: '成功' }) - async postImage(@Body() body: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.image(body); - return Result.success(result); - } - - @Post('video') - @ApiOperation({ summary: '/video' }) - @ApiResponse({ status: 200, description: '成功' }) - async postVideo(@Body() body: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.video(body); - return Result.success(result); - } - - @Post('document/:type') - @ApiOperation({ summary: '/document/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDocumenttype(@Body() body: Record, @Param('type') type: string): Promise> { - const result = await this.sysAttachmentServiceImplService.document(body, type); - return Result.success(result); - } - - @Get('attachment/category') - @ApiOperation({ summary: '/attachment/category' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAttachmentcategory(@Query() query: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.getCategoryList(query); - return Result.success(result); - } - - @Post('attachment/category') - @ApiOperation({ summary: '/attachment/category' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAttachmentcategory(@Body() body: Record): Promise> { - const result = await this.sysAttachmentServiceImplService.addCategory(body); - return Result.success(result); - } - - @Put('attachment/category/:id') - @ApiOperation({ summary: '/attachment/category/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAttachmentcategoryid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysAttachmentServiceImplService.editCategory(body, id); - return Result.success(result); - } - - @Delete('attachment/category/:id') - @ApiOperation({ summary: '/attachment/category/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteAttachmentcategoryid(@Param('id') id: string): Promise> { - const result = await this.sysAttachmentServiceImplService.delCategory(id); - return Result.success(result); - } - - @Get('attachment/icon_category') - @ApiOperation({ summary: 'attachment/icon_category' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAttachmenticoncategory(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('attachment/icon') - @ApiOperation({ summary: 'attachment/icon' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAttachmenticon(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-config.controller.ts deleted file mode 100644 index e647eb66..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-config.controller.ts +++ /dev/null @@ -1,167 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysConfigServiceImplService } from '../../../services/admin/sys/impl/sys-config-service-impl.service'; -import { OplatformConfigServiceImplService } from '../../../services/admin/wxoplatform/impl/oplatform-config-service-impl.service'; - -@Controller('adminapi/sys') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysConfigController { - constructor( - private readonly sysConfigServiceImplService: SysConfigServiceImplService, - private readonly oplatformConfigServiceImplService: OplatformConfigServiceImplService - ) {} - @Get('config/website') - @ApiOperation({ summary: '/config/website' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigwebsite(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getWebSite(query); - return Result.success(result); - } - - @Put('config/website') - @ApiOperation({ summary: '/config/website' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfigwebsite(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setCopyRight(body); - return Result.success(result); - } - - @Get('config/service') - @ApiOperation({ summary: '/config/service' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigservice(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getService(query); - return Result.success(result); - } - - @Get('config/copyright') - @ApiOperation({ summary: '/config/copyright' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigcopyright(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getCopyRight(query); - return Result.success(result); - } - - @Put('config/copyright') - @ApiOperation({ summary: '/config/copyright' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfigcopyright(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setCopyRight(body); - return Result.success(result); - } - - @Get('config/map') - @ApiOperation({ summary: '/config/map' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigmap(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getMap(query); - return Result.success(result); - } - - @Put('config/map') - @ApiOperation({ summary: '/config/map' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfigmap(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setMap(body); - return Result.success(result); - } - - @Get('config/developer_token') - @ApiOperation({ summary: '/config/developer_token' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigdevelopertoken(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getDeveloperToken(query); - return Result.success(result); - } - - @Put('config/developer_token') - @ApiOperation({ summary: '/config/developer_token' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfigdevelopertoken(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setDeveloperToken(body); - return Result.success(result); - } - - @Get('config/layout') - @ApiOperation({ summary: '/config/layout' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfiglayout(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getLayout(query); - return Result.success(result); - } - - @Put('config/layout') - @ApiOperation({ summary: '/config/layout' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfiglayout(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setLayout(body); - return Result.success(result); - } - - @Get('config/themecolor') - @ApiOperation({ summary: '/config/themecolor' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfigthemecolor(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getThemeColor(query); - return Result.success(result); - } - - @Put('config/themecolor') - @ApiOperation({ summary: '/config/themecolor' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfigthemecolor(@Body() body: Record): Promise> { - const result = await this.sysConfigServiceImplService.setThemeColor(body); - return Result.success(result); - } - - @Get('date/month') - @ApiOperation({ summary: '/date/month' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDatemonth(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getUrl(query); - return Result.success(result); - } - - @Get('date/week') - @ApiOperation({ summary: '/date/week' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDateweek(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getUrl(query); - return Result.success(result); - } - - @Get('url') - @ApiOperation({ summary: '/url' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUrl(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getUrl(query); - return Result.success(result); - } - - @Get('wxoplatform/config') - @ApiOperation({ summary: '/wxoplatform/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getWxoplatformconfig(@Query() query: Record): Promise> { - const result = await this.oplatformConfigServiceImplService.getWxOplatformConfig(query); - return Result.success(result); - } - - @Get('channel') - @ApiOperation({ summary: '/channel' }) - @ApiResponse({ status: 200, description: '成功' }) - async getChannel(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('info') - @ApiOperation({ summary: '/info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfo(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-export.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-export.controller.ts deleted file mode 100644 index 7670d38d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-export.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysExportServiceImplService } from '../../../services/admin/sys/impl/sys-export-service-impl.service'; - -@Controller('adminapi/sys/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysExportController { - constructor( - private readonly sysExportServiceImplService: SysExportServiceImplService - ) {} - @Get('export') - @ApiOperation({ summary: '/export' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExport(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('export/status') - @ApiOperation({ summary: '/export/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExportstatus(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('export/type') - @ApiOperation({ summary: '/export/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExporttype(@Query() query: Record): Promise> { - const result = await this.sysExportServiceImplService.checkExportData(query); - return Result.success(result); - } - - @Get('export/check/:type') - @ApiOperation({ summary: '/export/check/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExportchecktype(@Param('type') type: string, @Query() query: Record): Promise> { - const result = await this.sysExportServiceImplService.checkExportData(type, query); - return Result.success(result); - } - - @Get('export/:type') - @ApiOperation({ summary: '/export/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExporttype1(@Param('type') type: string, @Query() query: Record): Promise> { - const result = await this.sysExportServiceImplService.exportData(type, query); - return Result.success(result); - } - - @Delete('export/:id') - @ApiOperation({ summary: '/export/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteExportid(@Param('id') id: string): Promise> { - const result = await this.sysExportServiceImplService.del(id); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-menu.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-menu.controller.ts deleted file mode 100644 index 637cfdff..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-menu.controller.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysMenuServiceImplService } from '../../../services/admin/sys/impl/sys-menu-service-impl.service'; - -@Controller('adminapi/sys/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysMenuController { - constructor( - private readonly sysMenuServiceImplService: SysMenuServiceImplService - ) {} - @Get('menu/:appType') - @ApiOperation({ summary: '/menu/{appType}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenuappType(@Param('appType') appType: string, @Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.getAllMenuList(appType, query); - return Result.success(result); - } - - @Get('menu/:appType/info/:menuKey') - @ApiOperation({ summary: '/menu/{appType}/info/{menuKey}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenuappTypeinfomenuKey(@Param() params: Record, @Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.get(params, query); - return Result.success(result); - } - - @Post('menu') - @ApiOperation({ summary: '/menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMenu(@Body() body: Record): Promise> { - const result = await this.sysMenuServiceImplService.add(body); - return Result.success(result); - } - - @Put('menu/:appType/:menuKey') - @ApiOperation({ summary: '/menu/{appType}/{menuKey}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putMenuappTypemenuKey(@Body() body: Record, @Param() params: Record): Promise> { - const result = await this.sysMenuServiceImplService.edit(body, params); - return Result.success(result); - } - - @Delete('menu/:appType/:menuKey') - @ApiOperation({ summary: '/menu/{appType}/{menuKey}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteMenuappTypemenuKey(@Param() params: Record): Promise> { - const result = await this.sysMenuServiceImplService.del(params); - return Result.success(result); - } - - @Post('menu/refresh') - @ApiOperation({ summary: '/menu/refresh' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMenurefresh(@Body() body: Record): Promise> { - const result = await this.installSystemServiceImplService.install(body); - return Result.success(result); - } - - @Get('tree') - @ApiOperation({ summary: '/tree' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTree(@Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.menuTree(query); - return Result.success(result); - } - - @Get('menu/dir/:addon') - @ApiOperation({ summary: '/menu/dir/{addon}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenudiraddon(@Param('addon') addon: string, @Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.getMenuByTypeDir(addon, query); - return Result.success(result); - } - - @Get('menu/addon_menu/:app_key') - @ApiOperation({ summary: '/menu/addon_menu/{app_key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenuaddonmenuappkey(@Param('app_key') app_key: string, @Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.getSystemMenu(app_key, query); - return Result.success(result); - } - - @Get('menu/system_menu') - @ApiOperation({ summary: '/menu/system_menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenusystemmenu(@Query() query: Record): Promise> { - const result = await this.sysMenuServiceImplService.getSystemMenu(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-notice.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-notice.controller.ts deleted file mode 100644 index 81506dbd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-notice.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysNoticeServiceImplService } from '../../../services/admin/sys/impl/sys-notice-service-impl.service'; - -@Controller('adminapi/notice') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysNoticeController { - constructor( - private readonly sysNoticeServiceImplService: SysNoticeServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('info') - @ApiOperation({ summary: '/info' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfo(@Query() query: Record): Promise> { - const result = await this.sysNoticeServiceImplService.info(query); - return Result.success(result); - } - - @Post('add') - @ApiOperation({ summary: '/add' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAdd(@Body() body: Record): Promise> { - const result = await this.sysNoticeServiceImplService.add(body); - return Result.success(result); - } - - @Post('edit') - @ApiOperation({ summary: '/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postEdit(@Body() body: Record): Promise> { - const result = await this.sysNoticeServiceImplService.edit(body); - return Result.success(result); - } - - @Post('del') - @ApiOperation({ summary: '/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDel(@Body() body: Record): Promise> { - const result = await this.sysNoticeServiceImplService.del(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-poster.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-poster.controller.ts deleted file mode 100644 index d0001043..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-poster.controller.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CorePosterServiceImplService } from '../../../services/core/poster/impl/core-poster-service-impl.service'; -import { SysPosterServiceImplService } from '../../../services/admin/sys/impl/sys-poster-service-impl.service'; - -@Controller('adminapi/sys/poster') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysPosterController { - constructor( - private readonly corePosterServiceImplService: CorePosterServiceImplService, - private readonly sysPosterServiceImplService: SysPosterServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.sysPosterServiceImplService.page(query); - return Result.success(result); - } - - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - const result = await this.sysPosterServiceImplService.list(query); - return Result.success(result); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysPosterServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.sysPosterServiceImplService.add(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysPosterServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.sysPosterServiceImplService.del(id); - return Result.success(result); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('init') - @ApiOperation({ summary: '/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInit(@Query() query: Record): Promise> { - const result = await this.sysPosterServiceImplService.init(query); - return Result.success(result); - } - - @Get('template') - @ApiOperation({ summary: '/template' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplate(@Query() query: Record): Promise> { - const result = await this.sysPosterServiceImplService.template(query); - return Result.success(result); - } - - @Put('status') - @ApiOperation({ summary: '/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async putStatus(@Body() body: Record): Promise> { - const result = await this.sysPosterServiceImplService.modifyStatus(body); - return Result.success(result); - } - - @Put('default') - @ApiOperation({ summary: '/default' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDefault(@Body() body: Record): Promise> { - const result = await this.sysPosterServiceImplService.modifyDefault(body); - return Result.success(result); - } - - @Get('generate') - @ApiOperation({ summary: '/generate' }) - @ApiResponse({ status: 200, description: '成功' }) - async getGenerate(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('preview') - @ApiOperation({ summary: '/preview' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPreview(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer-template.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer-template.controller.ts deleted file mode 100644 index 5def1a54..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer-template.controller.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysPrinterTemplateServiceImplService } from '../../../services/admin/sys/impl/sys-printer-template-service-impl.service'; - -@Controller('adminapi/sys/printer/template') -@ApiTags('API') -export class SysPrinterTemplateController { - constructor( - private readonly sysPrinterTemplateServiceImplService: SysPrinterTemplateServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer.controller.ts deleted file mode 100644 index 3bbad4b6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-printer.controller.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysPrinterServiceImplService } from '../../../services/admin/sys/impl/sys-printer-service-impl.service'; - -@Controller('adminapi/sys/printer') -@ApiTags('API') -export class SysPrinterController { - constructor( - private readonly sysPrinterServiceImplService: SysPrinterServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('status') - @ApiOperation({ summary: '/status' }) - @ApiResponse({ status: 200, description: '成功' }) - async putStatus(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('brand') - @ApiOperation({ summary: '/brand' }) - @ApiResponse({ status: 200, description: '成功' }) - async getBrand(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('refreshtoken/:id') - @ApiOperation({ summary: '/refreshtoken/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putRefreshtokenid(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('testprint/:id') - @ApiOperation({ summary: '/testprint/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putTestprintid(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('printticket') - @ApiOperation({ summary: '/printticket' }) - @ApiResponse({ status: 200, description: '成功' }) - async postPrintticket(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-role.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-role.controller.ts deleted file mode 100644 index 068ba924..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-role.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysRoleServiceImplService } from '../../../services/admin/sys/impl/sys-role-service-impl.service'; - -@Controller('adminapi/sys/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysRoleController { - constructor( - private readonly sysRoleServiceImplService: SysRoleServiceImplService - ) {} - @Get('role/all') - @ApiOperation({ summary: 'role/all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRoleall(@Query() query: Record): Promise> { - const result = await this.sysRoleServiceImplService.getAllRole(query); - return Result.success(result); - } - - @Get('role') - @ApiOperation({ summary: '/role' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRole(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('role') - @ApiOperation({ summary: '/role' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRole(@Body() body: Record): Promise> { - const result = await this.sysRoleServiceImplService.add(body); - return Result.success(result); - } - - @Get('role/:roleId') - @ApiOperation({ summary: '/role/{roleId}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRoleroleId(@Param('roleId') roleId: string, @Query() query: Record): Promise> { - const result = await this.sysRoleServiceImplService.info(roleId, query); - return Result.success(result); - } - - @Put('role/:roleId') - @ApiOperation({ summary: '/role/{roleId}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putRoleroleId(@Body() body: Record, @Param('roleId') roleId: string): Promise> { - const result = await this.sysRoleServiceImplService.edit(body, roleId); - return Result.success(result); - } - - @Delete('role/:roleId') - @ApiOperation({ summary: '/role/{roleId}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteRoleroleId(@Param('roleId') roleId: string): Promise> { - const result = await this.sysRoleServiceImplService.del(roleId); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-schedule.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-schedule.controller.ts deleted file mode 100644 index 963ac722..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-schedule.controller.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysScheduleServiceImplService } from '../../../services/admin/sys/impl/sys-schedule-service-impl.service'; - -@Controller('adminapi/sys/schedule') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysScheduleController { - constructor( - private readonly sysScheduleServiceImplService: SysScheduleServiceImplService - ) {} - @Get('list') - @ApiOperation({ summary: '/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getList(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('info/:id') - @ApiOperation({ summary: '/info/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInfoid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysScheduleServiceImplService.info(id, query); - return Result.success(result); - } - - @Put('modify/status/:id') - @ApiOperation({ summary: '/modify/status/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putModifystatusid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysScheduleServiceImplService.modifyStatus(body, id); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.sysScheduleServiceImplService.add(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysScheduleServiceImplService.edit(body, id); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.sysScheduleServiceImplService.del(id); - return Result.success(result); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - const result = await this.sysScheduleServiceImplService.type(query); - return Result.success(result); - } - - @Get('template') - @ApiOperation({ summary: '/template' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTemplate(@Query() query: Record): Promise> { - const result = await this.sysScheduleServiceImplService.template(query); - return Result.success(result); - } - - @Get('datetype') - @ApiOperation({ summary: '/datetype' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDatetype(@Query() query: Record): Promise> { - const result = await this.sysScheduleServiceImplService.dateType(query); - return Result.success(result); - } - - @Post('reset') - @ApiOperation({ summary: '/reset' }) - @ApiResponse({ status: 200, description: '成功' }) - async postReset(@Body() body: Record): Promise> { - const result = await this.sysScheduleServiceImplService.resetSchedule(body); - return Result.success(result); - } - - @Get('log/list') - @ApiOperation({ summary: '/log/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLoglist(@Query() query: Record): Promise> { - const result = await this.sysScheduleServiceImplService.logList(query); - return Result.success(result); - } - - @Put('do/:id') - @ApiOperation({ summary: '/do/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDoid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysScheduleServiceImplService.doSchedule(body, id); - return Result.success(result); - } - - @Put('log/delete') - @ApiOperation({ summary: '/log/delete' }) - @ApiResponse({ status: 200, description: '成功' }) - async putLogdelete(@Body() body: Record): Promise> { - const result = await this.sysScheduleServiceImplService.delLog(body); - return Result.success(result); - } - - @Put('log/clear') - @ApiOperation({ summary: '/log/clear' }) - @ApiResponse({ status: 200, description: '成功' }) - async putLogclear(@Body() body: Record): Promise> { - const result = await this.sysScheduleServiceImplService.clearLog(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-ueditor.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-ueditor.controller.ts deleted file mode 100644 index 7cb4a9c5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-ueditor.controller.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; - -@Controller('adminapi/sys/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysUeditorController { - constructor() {} - @Get('ueditor') - @ApiOperation({ summary: '/ueditor' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUeditor(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('ueditor') - @ApiOperation({ summary: '/ueditor' }) - @ApiResponse({ status: 200, description: '成功' }) - async postUeditor(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-user-role.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-user-role.controller.ts deleted file mode 100644 index 1427fa2a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-user-role.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysUserRoleServiceImplService } from '../../../services/admin/sys/impl/sys-user-role-service-impl.service'; - -@Controller('api/user_role') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SysUserRoleController { - constructor( - private readonly sysUserRoleServiceImplService: SysUserRoleServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getId(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysUserRoleServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.sysUserRoleServiceImplService.add(body); - return Result.success(result); - } - - @Put(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putId(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysUserRoleServiceImplService.edit(body, id); - return Result.success(result); - } - - @Post('del') - @ApiOperation({ summary: '/del' }) - @ApiResponse({ status: 200, description: '成功' }) - async postDel(@Body() body: Record): Promise> { - const result = await this.sysUserRoleServiceImplService.del(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-web-config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-web-config.controller.ts deleted file mode 100644 index 50445d04..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/sys-web-config.controller.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysConfigServiceImplService } from '../../../services/admin/sys/impl/sys-config-service-impl.service'; - -@Controller('adminapi/sys/web') -@ApiTags('API') -@Public() -export class SysWebConfigController { - constructor( - private readonly sysConfigServiceImplService: SysConfigServiceImplService - ) {} - @Get('website') - @ApiOperation({ summary: 'website' }) - @ApiResponse({ status: 200, description: '成功' }) - async getWebsite(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getWebSite(query); - return Result.success(result); - } - - @Get('copyright') - @ApiOperation({ summary: '/copyright' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCopyright(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getCopyRight(query); - return Result.success(result); - } - - @Get('layout') - @ApiOperation({ summary: 'layout' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLayout(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.getLayout(query); - return Result.success(result); - } - - @Get('restart') - @ApiOperation({ summary: '/restart' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRestart(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/system.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/system.controller.ts deleted file mode 100644 index 3792c480..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/sys/system.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SystemServiceImplService } from '../../../services/admin/sys/impl/system-service-impl.service'; - -@Controller('adminapi/sys') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class SystemController { - constructor( - private readonly systemServiceImplService: SystemServiceImplService - ) {} - @Post('cache/clear') - @ApiOperation({ summary: '/cache/clear' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCacheclear(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('system') - @ApiOperation({ summary: '/system' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSystem(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('qrcode') - @ApiOperation({ summary: '/qrcode' }) - @ApiResponse({ status: 200, description: '成功' }) - async postQrcode(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/upload/storage.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/upload/storage.controller.ts deleted file mode 100644 index 0c05af9b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/upload/storage.controller.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { StorageConfigServiceImplService } from '../../../services/admin/upload/impl/storage-config-service-impl.service'; -import { SysUserLogServiceImplService } from '../../../services/admin/sys/impl/sys-user-log-service-impl.service'; - -@Controller('adminapi/sys/') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class StorageController { - constructor( - private readonly storageConfigServiceImplService: StorageConfigServiceImplService, - private readonly sysUserLogServiceImplService: SysUserLogServiceImplService - ) {} - @Get('storage') - @ApiOperation({ summary: '/storage' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStorage(@Query() query: Record): Promise> { - const result = await this.storageConfigServiceImplService.getStorageList(query); - return Result.success(result); - } - - @Get('storage/:storageType') - @ApiOperation({ summary: '/storage/{storageType}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStoragestorageType(@Param('storageType') storageType: string, @Query() query: Record): Promise> { - const result = await this.storageConfigServiceImplService.getStorageConfig(storageType, query); - return Result.success(result); - } - - @Put('storage/:storageType') - @ApiOperation({ summary: '/storage/{storageType}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putStoragestorageType(@Body() body: Record, @Param('storageType') storageType: string): Promise> { - const result = await this.storageConfigServiceImplService.setStorageConfig(body, storageType); - return Result.success(result); - } - - @Get('log/:id') - @ApiOperation({ summary: '/log/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLogid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysUserLogServiceImplService.info(id, query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/user/user.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/user/user.controller.ts deleted file mode 100644 index 864352fd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/user/user.controller.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysUserServiceImplService } from '../../../services/admin/sys/impl/sys-user-service-impl.service'; - -@Controller('adminapi/user') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class UserController { - constructor( - private readonly sysUserServiceImplService: SysUserServiceImplService - ) {} - @Get('user') - @ApiOperation({ summary: '/user' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUser(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('user/:id') - @ApiOperation({ summary: '/user/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUserid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.info(id, query); - return Result.success(result); - } - - @Post('user') - @ApiOperation({ summary: '/user' }) - @ApiResponse({ status: 200, description: '成功' }) - async postUser(@Body() body: Record): Promise> { - const result = await this.sysUserServiceImplService.add(body); - return Result.success(result); - } - - @Put('user/:uid') - @ApiOperation({ summary: '/user/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUseruid(@Body() body: Record, @Param('uid') uid: string): Promise> { - const result = await this.sysUserServiceImplService.edit(body, uid); - return Result.success(result); - } - - @Get('isexist') - @ApiOperation({ summary: '/isexist' }) - @ApiResponse({ status: 200, description: '成功' }) - async getIsexist(@Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.checkUserName(query); - return Result.success(result); - } - - @Get('user/create_site_limit/:uid') - @ApiOperation({ summary: '/user/create_site_limit/{uid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUsercreatesitelimituid(@Param('uid') uid: string, @Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.getUserCreateSiteLimit(uid, query); - return Result.success(result); - } - - @Get('user/create_site_limit/info/:id') - @ApiOperation({ summary: '/user/create_site_limit/info/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUsercreatesitelimitinfoid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.getUserCreateSiteLimitInfo(id, query); - return Result.success(result); - } - - @Post('user/create_site_limit') - @ApiOperation({ summary: '/user/create_site_limit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postUsercreatesitelimit(@Body() body: Record): Promise> { - const result = await this.sysUserServiceImplService.addUserCreateSiteLimit(body); - return Result.success(result); - } - - @Put('user/create_site_limit/:id') - @ApiOperation({ summary: '/user/create_site_limit/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUsercreatesitelimitid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.sysUserServiceImplService.editUserCreateSiteLimit(body, id); - return Result.success(result); - } - - @Delete('user/create_site_limit/:id') - @ApiOperation({ summary: '/user/create_site_limit/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteUsercreatesitelimitid(@Param('id') id: string): Promise> { - const result = await this.sysUserServiceImplService.delUserCreateSiteLimit(id); - return Result.success(result); - } - - @Get('user_all') - @ApiOperation({ summary: '/user_all' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUserall(@Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.getUserAll(query); - return Result.success(result); - } - - @Get('user_select') - @ApiOperation({ summary: 'user_select' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUserselect(@Query() query: Record): Promise> { - const result = await this.sysUserServiceImplService.getUserSelect(query); - return Result.success(result); - } - - @Delete('user/:id') - @ApiOperation({ summary: '/user/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteUserid(@Param('id') id: string): Promise> { - const result = await this.sysUserServiceImplService.del(id); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verifier.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verifier.controller.ts deleted file mode 100644 index 206b0d88..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verifier.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { VerifierServiceImplService } from '../../../services/admin/verify/impl/verifier-service-impl.service'; - -@Controller('adminapi/verify/verifier') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class VerifierController { - constructor( - private readonly verifierServiceImplService: VerifierServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.verifierServiceImplService.list(query); - return Result.success(result); - } - - @Get('select') - @ApiOperation({ summary: '/select' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSelect(@Query() query: Record): Promise> { - const result = await this.verifierServiceImplService.all(query); - return Result.success(result); - } - - @Post('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async post(@Body() body: Record): Promise> { - const result = await this.verifierServiceImplService.add(body); - return Result.success(result); - } - - @Delete(':id') - @ApiOperation({ summary: '/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteId(@Param('id') id: string): Promise> { - const result = await this.verifierServiceImplService.del(id); - return Result.success(result); - } - - @Get('type') - @ApiOperation({ summary: '/type' }) - @ApiResponse({ status: 200, description: '成功' }) - async getType(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verify.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verify.controller.ts deleted file mode 100644 index 420f9fe2..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/verify/verify.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { VerifyServiceImplService } from '../../../services/admin/verify/impl/verify-service-impl.service'; - -@Controller('adminapi/verify/verify') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class VerifyController { - constructor( - private readonly verifyServiceImplService: VerifyServiceImplService - ) {} - @Get('record') - @ApiOperation({ summary: '/record' }) - @ApiResponse({ status: 200, description: '成功' }) - async getRecord(@Query() query: Record): Promise> { - const result = await this.verifyServiceImplService.list(query); - return Result.success(result); - } - - @Get(':verify_code') - @ApiOperation({ summary: '/{verify_code}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVerifycode(@Param('verify_code') verify_code: string, @Query() query: Record): Promise> { - const result = await this.verifyServiceImplService.detail(verify_code, query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/config.controller.ts deleted file mode 100644 index c14ef69d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/config.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WeappConfigServiceImplService } from '../../../services/admin/weapp/impl/weapp-config-service-impl.service'; - -@Controller('adminapi/weapp') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ConfigController { - constructor( - private readonly weappConfigServiceImplService: WeappConfigServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.weappConfigServiceImplService.getWeappConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.weappConfigServiceImplService.setWeappConfig(body); - return Result.success(result); - } - - @Get('delivery/getIsTradeManaged') - @ApiOperation({ summary: '/delivery/getIsTradeManaged' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDeliverygetIsTradeManaged(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('domain') - @ApiOperation({ summary: '/domain' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDomain(@Body() body: Record): Promise> { - const result = await this.weappConfigServiceImplService.setDomain(body); - return Result.success(result); - } - - @Put('privacysetting') - @ApiOperation({ summary: '/privacysetting' }) - @ApiResponse({ status: 200, description: '成功' }) - async putPrivacysetting(@Body() body: Record): Promise> { - const result = await this.weappConfigServiceImplService.setPrivacySetting(body); - return Result.success(result); - } - - @Get('privacysetting') - @ApiOperation({ summary: '/privacysetting' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPrivacysetting(@Query() query: Record): Promise> { - const result = await this.weappConfigServiceImplService.getPrivacySetting(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/template.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/template.controller.ts deleted file mode 100644 index 0d31d3b6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/template.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WeappTemplateServiceImplService } from '../../../services/admin/weapp/impl/weapp-template-service-impl.service'; - -@Controller('adminapi/weapp/template') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class TemplateController { - constructor( - private readonly weappTemplateServiceImplService: WeappTemplateServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.weappTemplateServiceImplService.list(query); - return Result.success(result); - } - - @Put('sync') - @ApiOperation({ summary: '/sync' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSync(@Body() body: Record): Promise> { - const result = await this.weappTemplateServiceImplService.sync(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/version.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/version.controller.ts deleted file mode 100644 index 7a846c18..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/weapp/version.controller.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WeappVersionServiceImplService } from '../../../services/admin/weapp/impl/weapp-version-service-impl.service'; - -@Controller('adminapi/weapp') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class VersionController { - constructor( - private readonly weappVersionServiceImplService: WeappVersionServiceImplService - ) {} - @Post('version') - @ApiOperation({ summary: '/version' }) - @ApiResponse({ status: 200, description: '成功' }) - async postVersion(@Body() body: Record): Promise> { - const result = await this.weappVersionServiceImplService.add(body); - return Result.success(result); - } - - @Get('version') - @ApiOperation({ summary: '/version' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVersion(@Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.list(query); - return Result.success(result); - } - - @Get('preview') - @ApiOperation({ summary: '/preview' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPreview(@Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.getWeappPreviewImage(query); - return Result.success(result); - } - - @Get('upload/:key') - @ApiOperation({ summary: '/upload/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUploadkey(@Param('key') key: string, @Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.getWeappCompileLog(key, query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/config.controller.ts deleted file mode 100644 index 62cbfed3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/config.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatConfigServiceImplService } from '../../../services/admin/wechat/impl/wechat-config-service-impl.service'; - -@Controller('adminapi/wechat') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ConfigController { - constructor( - private readonly wechatConfigServiceImplService: WechatConfigServiceImplService - ) {} - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.wechatConfigServiceImplService.getWechatConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.wechatConfigServiceImplService.setWechatConfig(body); - return Result.success(result); - } - - @Get('static') - @ApiOperation({ summary: '/static' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatic(@Query() query: Record): Promise> { - const result = await this.wechatConfigServiceImplService.staticInfo(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/media.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/media.controller.ts deleted file mode 100644 index 88f601d0..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/media.controller.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatMediaServiceImplService } from '../../../services/admin/wechat/impl/wechat-media-service-impl.service'; - -@Controller('adminapi/wechat') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MediaController { - constructor( - private readonly wechatMediaServiceImplService: WechatMediaServiceImplService - ) {} - @Get('media') - @ApiOperation({ summary: '/media' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMedia(@Query() query: Record): Promise> { - const result = await this.wechatMediaServiceImplService.list(query); - return Result.success(result); - } - - @Post('media/image') - @ApiOperation({ summary: '/media/image' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMediaimage(@Body() body: Record): Promise> { - const result = await this.wechatMediaServiceImplService.image(body); - return Result.success(result); - } - - @Post('media/video') - @ApiOperation({ summary: '/media/video' }) - @ApiResponse({ status: 200, description: '成功' }) - async postMediavideo(@Body() body: Record): Promise> { - const result = await this.wechatMediaServiceImplService.video(body); - return Result.success(result); - } - - @Get('sync/news') - @ApiOperation({ summary: '/sync/news' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSyncnews(@Query() query: Record): Promise> { - const result = await this.wechatMediaServiceImplService.syncNews(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/menu.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/menu.controller.ts deleted file mode 100644 index 1dd649a4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/menu.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatMenuServiceImplService } from '../../../services/admin/wechat/impl/wechat-menu-service-impl.service'; - -@Controller('adminapi/wechat') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MenuController { - constructor( - private readonly wechatMenuServiceImplService: WechatMenuServiceImplService - ) {} - @Get('menu') - @ApiOperation({ summary: '/menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMenu(@Query() query: Record): Promise> { - const result = await this.wechatMenuServiceImplService.info(query); - return Result.success(result); - } - - @Put('menu') - @ApiOperation({ summary: '/menu' }) - @ApiResponse({ status: 200, description: '成功' }) - async putMenu(@Body() body: Record): Promise> { - const result = await this.wechatMenuServiceImplService.edit(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/reply.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/reply.controller.ts deleted file mode 100644 index 42a04a0f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/reply.controller.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatReplyServiceImplService } from '../../../services/admin/wechat/impl/wechat-reply-service-impl.service'; - -@Controller('adminapi/wechat/reply') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ReplyController { - constructor( - private readonly wechatReplyServiceImplService: WechatReplyServiceImplService - ) {} - @Get('keywords') - @ApiOperation({ summary: '/keywords' }) - @ApiResponse({ status: 200, description: '成功' }) - async getKeywords(@Query() query: Record): Promise> { - const result = await this.wechatReplyServiceImplService.getKeywordList(query); - return Result.success(result); - } - - @Get('keywords/:id') - @ApiOperation({ summary: '/keywords/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getKeywordsid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.wechatReplyServiceImplService.getKeywordInfo(id, query); - return Result.success(result); - } - - @Post('keywords') - @ApiOperation({ summary: '/keywords' }) - @ApiResponse({ status: 200, description: '成功' }) - async postKeywords(@Body() body: Record): Promise> { - const result = await this.wechatReplyServiceImplService.addKeyword(body); - return Result.success(result); - } - - @Put('keywords/:id') - @ApiOperation({ summary: '/keywords/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putKeywordsid(@Body() body: Record, @Param('id') id: string): Promise> { - const result = await this.wechatReplyServiceImplService.editKeyword(body, id); - return Result.success(result); - } - - @Delete('keywords/:id') - @ApiOperation({ summary: '/keywords/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteKeywordsid(@Param('id') id: string): Promise> { - const result = await this.wechatReplyServiceImplService.delKeyword(id); - return Result.success(result); - } - - @Get('default') - @ApiOperation({ summary: '/default' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDefault(@Query() query: Record): Promise> { - const result = await this.wechatReplyServiceImplService.getDefault(query); - return Result.success(result); - } - - @Put('default') - @ApiOperation({ summary: '/default' }) - @ApiResponse({ status: 200, description: '成功' }) - async putDefault(@Body() body: Record): Promise> { - const result = await this.wechatReplyServiceImplService.editDefault(body); - return Result.success(result); - } - - @Get('subscribe') - @ApiOperation({ summary: '/subscribe' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSubscribe(@Query() query: Record): Promise> { - const result = await this.wechatReplyServiceImplService.getSubscribe(query); - return Result.success(result); - } - - @Put('subscribe') - @ApiOperation({ summary: '/subscribe' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSubscribe(@Body() body: Record): Promise> { - const result = await this.wechatReplyServiceImplService.editSubscribe(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/template.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/template.controller.ts deleted file mode 100644 index 18ac7e57..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wechat/template.controller.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatTemplateServiceImplService } from '../../../services/admin/wechat/impl/wechat-template-service-impl.service'; - -@Controller('adminapi/wechat/template') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class TemplateController { - constructor( - private readonly wechatTemplateServiceImplService: WechatTemplateServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - const result = await this.wechatTemplateServiceImplService.list(query); - return Result.success(result); - } - - @Put('sync') - @ApiOperation({ summary: '/sync' }) - @ApiResponse({ status: 200, description: '成功' }) - async putSync(@Body() body: Record): Promise> { - const result = await this.wechatTemplateServiceImplService.sync(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/config.controller.ts deleted file mode 100644 index ab43f750..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/config.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { OplatformConfigServiceImplService } from '../../../services/admin/wxoplatform/impl/oplatform-config-service-impl.service'; - -@Controller('adminapi/wxoplatform') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class ConfigController { - constructor( - private readonly oplatformConfigServiceImplService: OplatformConfigServiceImplService - ) {} - @Get('static') - @ApiOperation({ summary: '/static' }) - @ApiResponse({ status: 200, description: '成功' }) - async getStatic(@Query() query: Record): Promise> { - const result = await this.oplatformConfigServiceImplService.getOplatformStaticInfo(query); - return Result.success(result); - } - - @Get('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getConfig(@Query() query: Record): Promise> { - const result = await this.oplatformConfigServiceImplService.getWxOplatformConfig(query); - return Result.success(result); - } - - @Put('config') - @ApiOperation({ summary: '/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async putConfig(@Body() body: Record): Promise> { - const result = await this.oplatformConfigServiceImplService.setWxOplatformConfig(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/oplatform.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/oplatform.controller.ts deleted file mode 100644 index d9ead48f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/oplatform.controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { OplatformServiceImplService } from '../../../services/admin/wxoplatform/impl/oplatform-service-impl.service'; - -@Controller('adminapi/wxoplatform') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class OplatformController { - constructor( - private readonly oplatformServiceImplService: OplatformServiceImplService - ) {} - @Get('authorizationUrl') - @ApiOperation({ summary: '/authorizationUrl' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuthorizationUrl(@Query() query: Record): Promise> { - const result = await this.oplatformServiceImplService.createPreAuthorizationUrl(query); - return Result.success(result); - } - - @Get('authorization') - @ApiOperation({ summary: '/authorization' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuthorization(@Query() query: Record): Promise> { - const result = await this.oplatformServiceImplService.authorization(query); - return Result.success(result); - } - - @Get('authorization/record') - @ApiOperation({ summary: '/authorization/record' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuthorizationrecord(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/server.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/server.controller.ts deleted file mode 100644 index af969183..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/server.controller.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { OplatformServerServiceImplService } from '../../../services/admin/wxoplatform/impl/oplatform-server-service-impl.service'; - -@Controller('adminapi/wxoplatform') -@ApiTags('API') -@Public() -export class ServerController { - constructor( - private readonly oplatformServerServiceImplService: OplatformServerServiceImplService - ) {} - -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/weapp-version.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/weapp-version.controller.ts deleted file mode 100644 index bc72ed50..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/adminapi/wxoplatform/weapp-version.controller.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WeappVersionServiceImplService } from '../../../services/admin/weapp/impl/weapp-version-service-impl.service'; - -@Controller('adminapi/wxoplatform') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class WeappVersionController { - constructor( - private readonly weappVersionServiceImplService: WeappVersionServiceImplService - ) {} - @Get('weapp/commit/last') - @ApiOperation({ summary: '/weapp/commit/last' }) - @ApiResponse({ status: 200, description: '成功' }) - async getWeappcommitlast(@Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.getLastCommitRecord(query); - return Result.success(result); - } - - @Get('weapp/commit') - @ApiOperation({ summary: '/weapp/commit' }) - @ApiResponse({ status: 200, description: '成功' }) - async getWeappcommit(@Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.list(query); - return Result.success(result); - } - - @Post('weapp/version/commit') - @ApiOperation({ summary: '/weapp/version/commit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postWeappversioncommit(@Body() body: Record): Promise> { - const result = await this.weappVersionServiceImplService.add(body); - return Result.success(result); - } - - @Post('site/weapp/commit') - @ApiOperation({ summary: '/site/weapp/commit' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSiteweappcommit(@Body() body: Record): Promise> { - const result = await this.weappVersionServiceImplService.siteWeappCommit(body); - return Result.success(result); - } - - @Get('sitegroup/commit') - @ApiOperation({ summary: '/sitegroup/commit' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSitegroupcommit(@Query() query: Record): Promise> { - const result = await this.weappVersionServiceImplService.getSiteGroupCommitRecord(query); - return Result.success(result); - } - - @Put('undo/weappaudit') - @ApiOperation({ summary: '/undo/weappaudit' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUndoweappaudit(@Body() body: Record): Promise> { - const result = await this.weappVersionServiceImplService.undoAudit(body); - return Result.success(result); - } - - @Post('async/siteweapp') - @ApiOperation({ summary: '/async/siteweapp' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAsyncsiteweapp(@Body() body: Record): Promise> { - const result = await this.weappVersionServiceImplService.syncSiteGroupAuthWeapp(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/addon/addon.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/addon/addon.controller.ts deleted file mode 100644 index 11889b95..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/addon/addon.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreAddonServiceImplService } from '../../../services/core/addon/impl/core-addon-service-impl.service'; - -@Controller('api/addon') -@ApiTags('API') -export class AddonController { - constructor( - private readonly coreAddonServiceImplService: CoreAddonServiceImplService - ) {} - @Get('list/install') - @ApiOperation({ summary: '/list/install' }) - @ApiResponse({ status: 200, description: '成功' }) - async getListinstall(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/agreement/agreement.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/agreement/agreement.controller.ts deleted file mode 100644 index f1d042a6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/agreement/agreement.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AgreementServiceImplService } from '../../../services/api/agreement/impl/agreement-service-impl.service'; - -@Controller('api/agreement') -@ApiTags('API') -export class AgreementController { - constructor( - private readonly agreementServiceImplService: AgreementServiceImplService - ) {} - @Get(':key') - @ApiOperation({ summary: '/{key}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getKey(@Param('key') key: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/channel/app.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/channel/app.controller.ts deleted file mode 100644 index 4d2dbe02..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/channel/app.controller.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { AppServiceImplService } from '../../../services/api/channel/impl/app-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class AppController { - constructor( - private readonly appServiceImplService: AppServiceImplService - ) {} - @Post('wxapp/login') - @ApiOperation({ summary: '/wxapp/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async postWxapplogin(@Body() body: Record): Promise> { - const result = await this.appServiceImplService.wechatLogin(body); - return Result.success(result); - } - - @Get('app/newversion') - @ApiOperation({ summary: '/app/newversion' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAppnewversion(@Query() query: Record): Promise> { - const result = await this.appServiceImplService.getNewVersion(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy-form.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy-form.controller.ts deleted file mode 100644 index cb708ae6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy-form.controller.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyFormServiceImplService } from '../../../services/admin/diy_form/impl/diy-form-service-impl.service'; - -@Controller('api/diy/form') -@ApiTags('API') -export class DiyFormController { - constructor( - private readonly diyFormServiceImplService: DiyFormServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('record') - @ApiOperation({ summary: '/record' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getRecord(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('result') - @ApiOperation({ summary: '/result' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getResult(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('record') - @ApiOperation({ summary: '/record' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async postRecord(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('record') - @ApiOperation({ summary: '/record' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async putRecord(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('member_record') - @ApiOperation({ summary: '/member_record' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getMemberrecord(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy.controller.ts deleted file mode 100644 index 9a908ff8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/diy/diy.controller.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { DiyServiceImplService } from '../../../services/admin/diy/impl/diy-service-impl.service'; - -@Controller('api/diy') -@ApiTags('API') -export class DiyController { - constructor( - private readonly diyServiceImplService: DiyServiceImplService - ) {} - @Get('diy') - @ApiOperation({ summary: '/diy' }) - @ApiResponse({ status: 200, description: '成功' }) - async getDiy(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('tabbar') - @ApiOperation({ summary: '/tabbar' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTabbar(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('tabbar/list') - @ApiOperation({ summary: '/tabbar/list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTabbarlist(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('share') - @ApiOperation({ summary: '/share' }) - @ApiResponse({ status: 200, description: '成功' }) - async getShare(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/login.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/login.controller.ts deleted file mode 100644 index c5fa424d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/login.controller.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { RegisterServiceImplService } from '../../../services/api/login/impl/register-service-impl.service'; -import { LoginServiceImplService } from '../../../services/admin/auth/impl/login-service-impl.service'; -import { WechatServiceImplService } from '../../../services/api/wechat/impl/wechat-service-impl.service'; -import { WeappServiceImplService } from '../../../services/api/weapp/impl/weapp-service-impl.service'; -import { AppServiceImplService } from '../../../services/api/channel/impl/app-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class LoginController { - constructor( - private readonly registerServiceImplService: RegisterServiceImplService, - private readonly loginServiceImplService: LoginServiceImplService, - private readonly wechatServiceImplService: WechatServiceImplService, - private readonly weappServiceImplService: WeappServiceImplService, - private readonly appServiceImplService: AppServiceImplService - ) {} - @Get('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLogin(@Query() query: Record): Promise> { - const result = await this.registerServiceImplService.checkLoginConfig(query); - return Result.success(result); - } - - @Post('login/mobile') - @ApiOperation({ summary: '/login/mobile' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLoginmobile(@Body() body: Record): Promise> { - const result = await this.registerServiceImplService.checkLoginConfig(body); - return Result.success(result); - } - - @Post('password/reset') - @ApiOperation({ summary: '/password/reset' }) - @ApiResponse({ status: 200, description: '成功' }) - async postPasswordreset(@Body() body: Record): Promise> { - const result = await this.loginServiceImplService.getLoginConfig(body); - return Result.success(result); - } - - @Get('login/config') - @ApiOperation({ summary: '/login/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLoginconfig(@Query() query: Record): Promise> { - const result = await this.loginServiceImplService.getLoginConfig(query); - return Result.success(result); - } - - @Post('send/mobile/:type') - @ApiOperation({ summary: '/send/mobile/{type}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSendmobiletype(@Body() body: Record, @Param('type') type: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('auth/logout') - @ApiOperation({ summary: '/auth/logout' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAuthlogout(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('bind') - @ApiOperation({ summary: '/bind' }) - @ApiResponse({ status: 200, description: '成功' }) - async postBind(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.register(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/register.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/register.controller.ts deleted file mode 100644 index 34074733..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/login/register.controller.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { RegisterServiceImplService } from '../../../services/api/login/impl/register-service-impl.service'; -import { WechatServiceImplService } from '../../../services/api/wechat/impl/wechat-service-impl.service'; -import { WeappServiceImplService } from '../../../services/api/weapp/impl/weapp-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class RegisterController { - constructor( - private readonly registerServiceImplService: RegisterServiceImplService, - private readonly wechatServiceImplService: WechatServiceImplService, - private readonly weappServiceImplService: WeappServiceImplService - ) {} - @Post('register') - @ApiOperation({ summary: '/register' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRegister(@Body() body: Record): Promise> { - const result = await this.registerServiceImplService.checkLoginConfig(body); - return Result.success(result); - } - - @Post('register/mobile') - @ApiOperation({ summary: '/register/mobile' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRegistermobile(@Body() body: Record): Promise> { - const result = await this.registerServiceImplService.checkLoginConfig(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-account.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-account.controller.ts deleted file mode 100644 index 900dab8a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-account.controller.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberAccountServiceImplService } from '../../../services/admin/member/impl/member-account-service-impl.service'; - -@Controller('api/member') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberAccountController { - constructor( - private readonly memberAccountServiceImplService: MemberAccountServiceImplService - ) {} - @Get('account/point') - @ApiOperation({ summary: '/account/point' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountpoint(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/balance') - @ApiOperation({ summary: '/account/balance' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountbalance(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/balance_list') - @ApiOperation({ summary: '/account/balance_list' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountbalancelist(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/money') - @ApiOperation({ summary: '/account/money' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountmoney(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/count') - @ApiOperation({ summary: '/account/count' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountcount(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/commission') - @ApiOperation({ summary: '/account/commission' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountcommission(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/fromtype/:accountType') - @ApiOperation({ summary: '/account/fromtype/{accountType}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountfromtypeaccountType(@Param('accountType') accountType: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('account/pointcount') - @ApiOperation({ summary: '/account/pointcount' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAccountpointcount(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-address.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-address.controller.ts deleted file mode 100644 index 90ed3a5b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-address.controller.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberAddressServiceImplService } from '../../../services/admin/member/impl/member-address-service-impl.service'; - -@Controller('api/member') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberAddressController { - constructor( - private readonly memberAddressServiceImplService: MemberAddressServiceImplService - ) {} - @Get('address') - @ApiOperation({ summary: '/address' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddress(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('address/:id') - @ApiOperation({ summary: '/address/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddressid(@Param('id') id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('address') - @ApiOperation({ summary: '/address' }) - @ApiResponse({ status: 200, description: '成功' }) - async postAddress(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('address/:id') - @ApiOperation({ summary: '/address/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putAddressid(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete('address/:id') - @ApiOperation({ summary: '/address/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteAddressid(@Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-cash-out.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-cash-out.controller.ts deleted file mode 100644 index ae40f87d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-cash-out.controller.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberCashOutServiceImplService } from '../../../services/admin/member/impl/member-cash-out-service-impl.service'; - -@Controller('api/member') -@ApiTags('API') -@UseGuards(AuthGuard) -@ApiBearerAuth() -export class MemberCashOutController { - constructor( - private readonly memberCashOutServiceImplService: MemberCashOutServiceImplService - ) {} - @Get('cash_out') - @ApiOperation({ summary: '/cash_out' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashout(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cash_out/:id') - @ApiOperation({ summary: '/cash_out/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashoutid(@Param('id') id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cash_out/config') - @ApiOperation({ summary: '/cash_out/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashoutconfig(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cash_out/transfertype') - @ApiOperation({ summary: '/cash_out/transfertype' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashouttransfertype(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('cash_out/apply') - @ApiOperation({ summary: '/cash_out/apply' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCashoutapply(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('cash_out/cancel/:id') - @ApiOperation({ summary: '/cash_out/cancel/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putCashoutcancelid(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('cash_out/transfer/:id') - @ApiOperation({ summary: '/cash_out/transfer/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCashouttransferid(@Body() body: Record, @Param('id') id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cashout_account') - @ApiOperation({ summary: '/cashout_account' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashoutaccount(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cashout_account/:account_id') - @ApiOperation({ summary: '/cashout_account/{account_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashoutaccountaccountid(@Param('account_id') account_id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('cashout_account/firstinfo') - @ApiOperation({ summary: '/cashout_account/firstinfo' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCashoutaccountfirstinfo(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('cashout_account') - @ApiOperation({ summary: '/cashout_account' }) - @ApiResponse({ status: 200, description: '成功' }) - async postCashoutaccount(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('cashout_account/:account_id') - @ApiOperation({ summary: '/cashout_account/{account_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async putCashoutaccountaccountid(@Body() body: Record, @Param('account_id') account_id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Delete('cashout_account/:account_id') - @ApiOperation({ summary: '/cashout_account/{account_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async deleteCashoutaccountaccountid(@Param('account_id') account_id: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-sign.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-sign.controller.ts deleted file mode 100644 index cb0eff69..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member-sign.controller.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberSignServiceImplService } from '../../../services/admin/member/impl/member-sign-service-impl.service'; - -@Controller('api/member') -@ApiTags('API') -export class MemberSignController { - constructor( - private readonly memberSignServiceImplService: MemberSignServiceImplService - ) {} - @Get('sign') - @ApiOperation({ summary: '/sign' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSign(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/:sign_id') - @ApiOperation({ summary: '/sign/{sign_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSignsignid(@Param('sign_id') sign_id: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('sign') - @ApiOperation({ summary: '/sign' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSign(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/info/:year/:month') - @ApiOperation({ summary: '/sign/info/{year}/{month}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSigninfoyearmonth(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/award/:year/:month/:day') - @ApiOperation({ summary: '/sign/award/{year}/{month}/{day}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSignawardyearmonthday(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('sign/config') - @ApiOperation({ summary: '/sign/config' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSignconfig(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member.controller.ts deleted file mode 100644 index e9defe72..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/member/member.controller.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { MemberServiceImplService } from '../../../services/admin/member/impl/member-service-impl.service'; -import { MemberLevelServiceImplService } from '../../../services/admin/member/impl/member-level-service-impl.service'; - -@Controller('api/member') -@ApiTags('API') -export class MemberController { - constructor( - private readonly memberServiceImplService: MemberServiceImplService, - private readonly memberLevelServiceImplService: MemberLevelServiceImplService - ) {} - @Get('member') - @ApiOperation({ summary: '/member' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getMember(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('center') - @ApiOperation({ summary: '/center' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getCenter(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('modify/:field') - @ApiOperation({ summary: '/modify/{field}' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async putModifyfield(@Body() body: Record, @Param('field') field: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('edit') - @ApiOperation({ summary: '/edit' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async putEdit(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('mobile') - @ApiOperation({ summary: '/mobile' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async putMobile(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('qrcode') - @ApiOperation({ summary: '/qrcode' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getQrcode(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('log') - @ApiOperation({ summary: '/log' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLog(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('level') - @ApiOperation({ summary: '/level' }) - @ApiResponse({ status: 200, description: '成功' }) - async getLevel(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Put('getmobile') - @ApiOperation({ summary: '/getmobile' }) - @ApiResponse({ status: 200, description: '成功' }) - async putGetmobile(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/pay/pay.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/pay/pay.controller.ts deleted file mode 100644 index 6c0977a5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/pay/pay.controller.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { PayServiceImplService } from '../../../services/admin/pay/impl/pay-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class PayController { - constructor( - private readonly payServiceImplService: PayServiceImplService - ) {} - @Post('pay') - @ApiOperation({ summary: '/pay' }) - @ApiResponse({ status: 200, description: '成功' }) - async postPay(@Body() body: Record): Promise> { - const result = await this.payServiceImplService.asyncNotify(body); - return Result.success(result); - } - - @Get('pay/info/:trade_type/:trade_id') - @ApiOperation({ summary: '/pay/info/{trade_type}/{trade_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPayinfotradetypetradeid(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('pay/friendspay/info/:trade_type/:trade_id') - @ApiOperation({ summary: '/pay/friendspay/info/{trade_type}/{trade_id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getPayfriendspayinfotradetypetradeid(@Param() params: Record, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/.controller.ts deleted file mode 100644 index 8a4d28ca..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/.controller.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { TaskServiceImplService } from '../../../services/api/sys/impl/task-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class TaskController { - constructor( - private readonly taskServiceImplService: TaskServiceImplService - ) {} - @Get('task/growth') - @ApiOperation({ summary: '/task/growth' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTaskgrowth(@Query() query: Record): Promise> { - const result = await this.taskServiceImplService.getGrowthTask(query); - return Result.success(result); - } - - @Get('task/point') - @ApiOperation({ summary: '/task/point' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTaskpoint(@Query() query: Record): Promise> { - const result = await this.taskServiceImplService.getPointTask(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/captcha.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/captcha.controller.ts deleted file mode 100644 index 0daa53e9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/captcha.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CaptchaServiceImplService } from '../../../services/admin/captcha/impl/captcha-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class CaptchaController { - constructor( - private readonly captchaServiceImplService: CaptchaServiceImplService - ) {} - @Get('captcha') - @ApiOperation({ summary: '/captcha' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCaptcha(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-area.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-area.controller.ts deleted file mode 100644 index f73f513c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-area.controller.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysAreaServiceImplService } from '../../../services/admin/sys/impl/sys-area-service-impl.service'; - -@Controller('api/area') -@ApiTags('API') -export class SysAreaController { - constructor( - private readonly sysAreaServiceImplService: SysAreaServiceImplService - ) {} - @Get('list_by_pid/:pid') - @ApiOperation({ summary: '/list_by_pid/{pid}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getListbypidpid(@Param('pid') pid: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('tree/:level') - @ApiOperation({ summary: '/tree/{level}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getTreelevel(@Param('level') level: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('code/:code') - @ApiOperation({ summary: '/code/{code}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCodecode(@Param('code') code: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('address_by_latlng') - @ApiOperation({ summary: '/address_by_latlng' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAddressbylatlng(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-config.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-config.controller.ts deleted file mode 100644 index 699a2a2b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-config.controller.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysConfigServiceImplService } from '../../../services/admin/sys/impl/sys-config-service-impl.service'; -import { LoginServiceImplService } from '../../../services/admin/auth/impl/login-service-impl.service'; -import { DiyServiceImplService } from '../../../services/admin/diy/impl/diy-service-impl.service'; -import { CoreSiteServiceImplService } from '../../../services/core/site/impl/core-site-service-impl.service'; -import { MemberLevelServiceImplService } from '../../../services/admin/member/impl/member-level-service-impl.service'; -import { DiyThemeServiceImplService } from '../../../services/admin/diy/impl/diy-theme-service-impl.service'; -import { AppServiceImplService } from '../../../services/api/channel/impl/app-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class SysConfigController { - constructor( - private readonly sysConfigServiceImplService: SysConfigServiceImplService, - private readonly loginServiceImplService: LoginServiceImplService, - private readonly diyServiceImplService: DiyServiceImplService, - private readonly coreSiteServiceImplService: CoreSiteServiceImplService, - private readonly memberLevelServiceImplService: MemberLevelServiceImplService, - private readonly diyThemeServiceImplService: DiyThemeServiceImplService, - private readonly appServiceImplService: AppServiceImplService - ) {} - @Get('copyright') - @ApiOperation({ summary: '/copyright' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCopyright(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('site') - @ApiOperation({ summary: '/site' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSite(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('scene_domain') - @ApiOperation({ summary: '/scene_domain' }) - @ApiResponse({ status: 200, description: '成功' }) - async getScenedomain(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.map(query); - return Result.success(result); - } - - @Get('map') - @ApiOperation({ summary: '/map' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMap(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.map(query); - return Result.success(result); - } - - @Get('init') - @ApiOperation({ summary: '/init' }) - @ApiResponse({ status: 200, description: '成功' }) - async getInit(@Query() query: Record): Promise> { - const result = await this.sysConfigServiceImplService.map(query); - return Result.success(result); - } - - @Get('member_mobile_exist') - @ApiOperation({ summary: '/member_mobile_exist' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMembermobileexist(@Query() query: Record): Promise> { - const result = await this.memberMapperService.selectCount(query); - return Result.success(result); - } - - @Get('member_mobile_exist') - @ApiOperation({ summary: '/member_mobile_exist' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMembermobileexist1(@Query() query: Record): Promise> { - const result = await this.memberMapperService.selectCount(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-poster.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-poster.controller.ts deleted file mode 100644 index 8a6cf25e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-poster.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CorePosterServiceImplService } from '../../../services/core/poster/impl/core-poster-service-impl.service'; - -@Controller('api/poster') -@ApiTags('API') -export class SysPosterController { - constructor( - private readonly corePosterServiceImplService: CorePosterServiceImplService - ) {} - @Get('') - @ApiOperation({ summary: '' }) - @ApiResponse({ status: 200, description: '成功' }) - async get(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-verify.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-verify.controller.ts deleted file mode 100644 index 570d2df5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/sys-verify.controller.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { SysVerifyServiceImplService } from '../../../services/api/sys/impl/sys-verify-service-impl.service'; - -@Controller('api') -@ApiTags('API') -export class SysVerifyController { - constructor( - private readonly sysVerifyServiceImplService: SysVerifyServiceImplService - ) {} - @Get('verify') - @ApiOperation({ summary: '/verify' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVerify(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('check_verifier') - @ApiOperation({ summary: '/check_verifier' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCheckverifier(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('verify_records') - @ApiOperation({ summary: '/verify_records' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVerifyrecords(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('verify_detail/:code') - @ApiOperation({ summary: '/verify_detail/{code}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getVerifydetailcode(@Param('code') code: string, @Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('get_verify_by_code') - @ApiOperation({ summary: '/get_verify_by_code' }) - @ApiResponse({ status: 200, description: '成功' }) - async getverifybycode(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('verify/:code') - @ApiOperation({ summary: '/verify/{code}' }) - @ApiResponse({ status: 200, description: '成功' }) - async postVerifycode(@Body() body: Record, @Param('code') code: string): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/upload.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/upload.controller.ts deleted file mode 100644 index cf473837..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/sys/upload.controller.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { UploadServiceImplService } from '../../../services/api/sys/impl/upload-service-impl.service'; -import { Base64ServiceImplService } from '../../../services/api/sys/impl/base64-service-impl.service'; - -@Controller('api/file') -@ApiTags('API') -export class UploadController { - constructor( - private readonly uploadServiceImplService: UploadServiceImplService, - private readonly base64ServiceImplService: Base64ServiceImplService - ) {} - @Post('image') - @ApiOperation({ summary: '/image' }) - @ApiResponse({ status: 200, description: '成功' }) - async postImage(@Body() body: Record): Promise> { - const result = await this.uploadServiceImplService.image(body); - return Result.success(result); - } - - @Post('video') - @ApiOperation({ summary: '/video' }) - @ApiResponse({ status: 200, description: '成功' }) - async postVideo(@Body() body: Record): Promise> { - const result = await this.uploadServiceImplService.video(body); - return Result.success(result); - } - - @Post('image/fetch') - @ApiOperation({ summary: '/image/fetch' }) - @ApiResponse({ status: 200, description: '成功' }) - async postImagefetch(@Body() body: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Post('image/base64') - @ApiOperation({ summary: '/image/base64' }) - @ApiResponse({ status: 200, description: '成功' }) - async postImagebase64(@Body() body: Record): Promise> { - const result = await this.base64ServiceImplService.image(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/serve.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/serve.controller.ts deleted file mode 100644 index afe8af52..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/serve.controller.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { ServeServiceImplService } from '../../../services/api/weapp/impl/serve-service-impl.service'; - -@Controller('api/weapp') -@ApiTags('API') -export class ServeController { - constructor( - private readonly serveServiceImplService: ServeServiceImplService - ) {} - -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/weapp.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/weapp.controller.ts deleted file mode 100644 index 489f9ccc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/weapp/weapp.controller.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WeappServiceImplService } from '../../../services/api/weapp/impl/weapp-service-impl.service'; - -@Controller('api/weapp') -@ApiTags('API') -export class WeappController { - constructor( - private readonly weappServiceImplService: WeappServiceImplService - ) {} - @Post('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLogin(@Body() body: Record): Promise> { - const result = await this.weappServiceImplService.loginByCode(body); - return Result.success(result); - } - - @Post('register') - @ApiOperation({ summary: '/register' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRegister(@Body() body: Record): Promise> { - const result = await this.weappServiceImplService.register(body); - return Result.success(result); - } - - @Put('update_openid') - @ApiOperation({ summary: '/update_openid' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUpdateopenid(@Body() body: Record): Promise> { - const result = await this.weappServiceImplService.updateOpenid(body); - return Result.success(result); - } - - @Get('subscribemsg') - @ApiOperation({ summary: '/subscribemsg' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSubscribemsg(@Query() query: Record): Promise> { - const result = await this.weappServiceImplService.subscribeMessage(query); - return Result.success(result); - } - - @Get('getIsTradeManaged') - @ApiOperation({ summary: '/getIsTradeManaged' }) - @ApiResponse({ status: 200, description: '成功' }) - async getIsTradeManaged(@Query() query: Record): Promise> { - const result = await this.weappServiceImplService.getIsTradeManaged(query); - return Result.success(result); - } - - @Get('getMsgJumpPath') - @ApiOperation({ summary: '/getMsgJumpPath' }) - @ApiResponse({ status: 200, description: '成功' }) - async getMsgJumpPath(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/serve.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/serve.controller.ts deleted file mode 100644 index 2dc12b2c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/serve.controller.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { ServeServiceImplService } from '../../../services/api/weapp/impl/serve-service-impl.service'; - -@Controller('api/wechat') -@ApiTags('API') -export class ServeController { - constructor( - private readonly serveServiceImplService: ServeServiceImplService - ) {} - -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/wechat.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/wechat.controller.ts deleted file mode 100644 index 82759a50..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/api/wechat/wechat.controller.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { WechatServiceImplService } from '../../../services/api/wechat/impl/wechat-service-impl.service'; - -@Controller('api/wechat') -@ApiTags('API') -export class WechatController { - constructor( - private readonly wechatServiceImplService: WechatServiceImplService - ) {} - @Get('codeurl') - @ApiOperation({ summary: '/codeurl' }) - @ApiResponse({ status: 200, description: '成功' }) - async getCodeurl(@Query() query: Record): Promise> { - const result = await this.wechatServiceImplService.getCodeUrl(query); - return Result.success(result); - } - - @Get('user') - @ApiOperation({ summary: '/user' }) - @ApiResponse({ status: 200, description: '成功' }) - async getUser(@Query() query: Record): Promise> { - const result = await this.wechatServiceImplService.getWechatUser(query); - return Result.success(result); - } - - @Post('userlogin') - @ApiOperation({ summary: '/userlogin' }) - @ApiResponse({ status: 200, description: '成功' }) - async postUserlogin(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.wechatLogin(body); - return Result.success(result); - } - - @Post('login') - @ApiOperation({ summary: '/login' }) - @ApiResponse({ status: 200, description: '成功' }) - async postLogin(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.loginByCode(body); - return Result.success(result); - } - - @Post('register') - @ApiOperation({ summary: '/register' }) - @ApiResponse({ status: 200, description: '成功' }) - async postRegister(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.register(body); - return Result.success(result); - } - - @Post('sync') - @ApiOperation({ summary: '/sync' }) - @ApiResponse({ status: 200, description: '成功' }) - async postSync(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.sync(body); - return Result.success(result); - } - - @Get('jssdkconfig') - @ApiOperation({ summary: '/jssdkconfig' }) - @ApiResponse({ status: 200, description: '成功' }) - async getJssdkconfig(@Query() query: Record): Promise> { - const result = await this.wechatServiceImplService.scanLogin(query); - return Result.success(result); - } - - @Post('scanlogin') - @ApiOperation({ summary: '/scanlogin' }) - @ApiResponse({ status: 200, description: '成功' }) - async postScanlogin(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.scanLogin(body); - return Result.success(result); - } - - @Put('update_openid') - @ApiOperation({ summary: '/update_openid' }) - @ApiResponse({ status: 200, description: '成功' }) - async putUpdateopenid(@Body() body: Record): Promise> { - const result = await this.wechatServiceImplService.updateOpenid(body); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-addon.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-addon.controller.ts deleted file mode 100644 index d837d2cc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-addon.controller.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreAddonInstallServiceImplService } from '../../services/core/addon/impl/core-addon-install-service-impl.service'; - -@Controller('core/addon') -@ApiTags('API') -export class CoreAddonController { - constructor( - private readonly coreAddonInstallServiceImplService: CoreAddonInstallServiceImplService - ) {} - @Get('javaSetup') - @ApiOperation({ summary: '/javaSetup' }) - @ApiResponse({ status: 200, description: '成功' }) - async getJavaSetup(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('setup/:id') - @ApiOperation({ summary: '/setup/{id}' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSetupid(@Param('id') id: string, @Query() query: Record): Promise> { - const result = await this.coreAddonInstallServiceImplService.installCheck(id, query); - return Result.success(result); - } - - @Get('exception') - @ApiOperation({ summary: '/exception' }) - @ApiResponse({ status: 200, description: '成功' }) - async getException(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('auth') - @ApiOperation({ summary: '/auth' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAuth(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('saCheckLogin') - @ApiOperation({ summary: '/saCheckLogin' }) - @ApiResponse({ status: 200, description: '成功' }) - @UseGuards(AuthGuard) - @ApiBearerAuth() - async getSaCheckLogin(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } - - @Get('saIgnore') - @ApiOperation({ summary: '/saIgnore' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSaIgnore(@Query() query: Record): Promise> { - // TODO: 实现业务逻辑 - return Result.success(null); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-async.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-async.controller.ts deleted file mode 100644 index 8c285dff..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-async.controller.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreAsyncTaskServiceImplService } from '../../services/core/app/impl/core-async-task-service-impl.service'; - -@Controller('core/task') -@ApiTags('API') -export class CoreAsyncTaskController { - constructor( - private readonly coreAsyncTaskServiceImplService: CoreAsyncTaskServiceImplService - ) {} - @Get('sync') - @ApiOperation({ summary: '/sync' }) - @ApiResponse({ status: 200, description: '成功' }) - async getSync(@Query() query: Record): Promise> { - const result = await this.coreAsyncTaskServiceImplService.execute(query); - return Result.success(result); - } - - @Get('async') - @ApiOperation({ summary: '/async' }) - @ApiResponse({ status: 200, description: '成功' }) - async getAsync(@Query() query: Record): Promise> { - const result = await this.coreAsyncTaskServiceImplService.executeAsyncTask(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-queue-control.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-queue-control.controller.ts deleted file mode 100644 index e42b65f1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/core-queue-control.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; -import { CoreQueueServiceImplService } from '../../services/core/app/impl/core-queue-service-impl.service'; - -@Controller('core/queue') -@ApiTags('API') -export class CoreQueueControlController { - constructor( - private readonly coreQueueServiceImplService: CoreQueueServiceImplService - ) {} - @Get('exec') - @ApiOperation({ summary: '/exec' }) - @ApiResponse({ status: 200, description: '成功' }) - async getExec(@Query() query: Record): Promise> { - const result = await this.coreQueueServiceImplService.execUseQueue(query); - return Result.success(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/http-server-error.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/http-server-error.controller.ts deleted file mode 100644 index 6c6afd61..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/core/http-server-error.controller.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; - -@Controller('error') -@ApiTags('API') -export class HttpServerErrorController { - constructor() {} - -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/niu-exception-handler.controller.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/niu-exception-handler.controller.ts deleted file mode 100644 index 449a1fe3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/controllers/niu-exception-handler.controller.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common'; -import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; -import { AuthGuard, RbacGuard, Public, Result } from '@wwjBoot'; - -@Controller() -@ApiTags('API') -export class NiuExceptionHandlerController { - constructor() {} - -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/job.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/job.module.ts deleted file mode 100644 index 6b97d9ce..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/job.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Module } from '@nestjs/common'; -import { ServiceModule } from './service.module'; - -/** - * JobModule - 任务模块 - * 符合NestJS官方规范 - */ -@Module({ - imports: [ - ServiceModule, - ], - providers: [ - // 无提供者 - ], - exports: [ - // 无导出 - ], -}) -export class JobModule {} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/auto-clear-upgrade-records.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/auto-clear-upgrade-records.job.ts deleted file mode 100644 index e3af90df..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/auto-clear-upgrade-records.job.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class AutoClearUpgradeRecordsJob { - private readonly logger = new Logger(AutoClearUpgradeRecordsJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * sysUpgradeRecordsService - * - */ - @Cron('0 0 * * * *') - async sysUpgradeRecordsService(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: sysUpgradeRecordsService'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: sysUpgradeRecordsService,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: sysUpgradeRecordsService,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * sysBackupRecordsService - * - */ - @Cron('0 0 * * * *') - async sysBackupRecordsService(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: sysBackupRecordsService'); - - try { - // 执行备份任务 - // 导出数据、备份数据库、归档文件等 - const backupPath = '/path/to/backup'; // await this.xxxService.backupData(); - this.logger.log(`备份完成,文件路径: ${backupPath}`); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: sysBackupRecordsService,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: sysBackupRecordsService,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * exec - * - */ - @Cron('0 0 * * * *') - async exec(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: exec'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: exec,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: exec,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/backup-task-vo.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/backup-task-vo.job.ts deleted file mode 100644 index 1abd0d09..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/backup-task-vo.job.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class BackupTaskVoJob { - private readonly logger = new Logger(BackupTaskVoJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * BackupTaskVo - * - */ - @Cron('0 0 * * * *') - async backupTaskVo(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: BackupTaskVo'); - - try { - // 执行备份任务 - // 导出数据、备份数据库、归档文件等 - const backupPath = '/path/to/backup'; // await this.xxxService.backupData(); - this.logger.log(`备份完成,文件路径: ${backupPath}`); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: BackupTaskVo,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: BackupTaskVo,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/core-async-task-param.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/core-async-task-param.job.ts deleted file mode 100644 index 65b755c4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/core-async-task-param.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class CoreAsyncTaskParamJob { - private readonly logger = new Logger(CoreAsyncTaskParamJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example1-job-provider-impl.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example1-job-provider-impl.job.ts deleted file mode 100644 index 4639f83f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example1-job-provider-impl.job.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class Example1JobProviderImplJob { - private readonly logger = new Logger(Example1JobProviderImplJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * exec - * - */ - @Cron('0 0 * * * *') - async exec(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: exec'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: exec,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: exec,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example2-job-provider-impl.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example2-job-provider-impl.job.ts deleted file mode 100644 index f7870ef3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/example2-job-provider-impl.job.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class Example2JobProviderImplJob { - private readonly logger = new Logger(Example2JobProviderImplJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * exec - * - */ - @Cron('0 0 * * * *') - async exec(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: exec'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: exec,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: exec,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-core-async.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-core-async.job.ts deleted file mode 100644 index a61ffd01..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-core-async.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class ICoreAsyncTaskServiceJob { - private readonly logger = new Logger(ICoreAsyncTaskServiceJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-job-provider.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-job-provider.job.ts deleted file mode 100644 index 9e2e74d0..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-job-provider.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class IJobProviderJob { - private readonly logger = new Logger(IJobProviderJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-sys-upgrade-records.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-sys-upgrade-records.job.ts deleted file mode 100644 index 4ba393df..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-sys-upgrade-records.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class ISysUpgradeRecordsServiceJob { - private readonly logger = new Logger(ISysUpgradeRecordsServiceJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-upgrade.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-upgrade.job.ts deleted file mode 100644 index 1585b196..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i-upgrade.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class IUpgradeServiceJob { - private readonly logger = new Logger(IUpgradeServiceJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i.job.ts deleted file mode 100644 index 0b2f4bb4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/i.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class ITaskServiceJob { - private readonly logger = new Logger(ITaskServiceJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/job-info.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/job-info.job.ts deleted file mode 100644 index 420d0042..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/job-info.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class JobInfoJob { - private readonly logger = new Logger(JobInfoJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/quartz-job-manager.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/quartz-job-manager.job.ts deleted file mode 100644 index ab30d1d1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/quartz-job-manager.job.ts +++ /dev/null @@ -1,195 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class QuartzJobManagerJob { - private readonly logger = new Logger(QuartzJobManagerJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * init - * - */ - @Cron('0 0 * * * *') - async init(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: init'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: init,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: init,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * startJob - * - */ - @Cron('0 0 * * * *') - async startJob(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: startJob'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: startJob,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: startJob,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * convertCronContent - * - */ - @Cron('0 0 * * * *') - async convertCronContent(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: convertCronContent'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: convertCronContent,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: convertCronContent,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * stopJob - * - */ - @Cron('0 0 * * * *') - async stopJob(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: stopJob'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: stopJob,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: stopJob,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * stopJob - * - */ - @Cron('0 0 * * * *') - async stopJob(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: stopJob'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: stopJob,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: stopJob,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * toCronStr - * - */ - @Cron('0 0 * * * *') - async toCronStr(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: toCronStr'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: toCronStr,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: toCronStr,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * toCronContent - * - */ - @Cron('0 0 * * * *') - async toCronContent(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: toCronContent'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: toCronContent,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: toCronContent,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * getClassPath - * - */ - @Cron('0 0 * * * *') - async getClassPath(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: getClassPath'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: getClassPath,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: getClassPath,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/site-expire-close.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/site-expire-close.job.ts deleted file mode 100644 index 6f23628e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/site-expire-close.job.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SiteExpireCloseJobJob { - private readonly logger = new Logger(SiteExpireCloseJobJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * coreSiteService - * - */ - @Cron('0 0 * * * *') - async coreSiteService(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: coreSiteService'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: coreSiteService,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: coreSiteService,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * exec - * - */ - @Cron('0 0 * * * *') - async exec(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: exec'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: exec,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: exec,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-del-param.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-del-param.job.ts deleted file mode 100644 index b4f63f0d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-del-param.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SysUpgradeRecordsDelParamJob { - private readonly logger = new Logger(SysUpgradeRecordsDelParamJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-list-vo.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-list-vo.job.ts deleted file mode 100644 index d08104d3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-list-vo.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SysUpgradeRecordsListVoJob { - private readonly logger = new Logger(SysUpgradeRecordsListVoJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-mapper.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-mapper.job.ts deleted file mode 100644 index c3cde8b3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-mapper.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SysUpgradeRecordsMapperJob { - private readonly logger = new Logger(SysUpgradeRecordsMapperJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-param.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-param.job.ts deleted file mode 100644 index 6684de9a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-param.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SysUpgradeRecordsParamJob { - private readonly logger = new Logger(SysUpgradeRecordsParamJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-search-param.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-search-param.job.ts deleted file mode 100644 index 556c6830..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/sys-upgrade-records-search-param.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class SysUpgradeRecordsSearchParamJob { - private readonly logger = new Logger(SysUpgradeRecordsSearchParamJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/task-argument.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/task-argument.job.ts deleted file mode 100644 index 0ee54bca..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/task-argument.job.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class TaskArgumentJob { - private readonly logger = new Logger(TaskArgumentJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * getTargetBean - * - */ - @Cron('0 0 * * * *') - async getTargetBean(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: getTargetBean'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: getTargetBean,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: getTargetBean,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * setTargetBean - * - */ - @Cron('0 0 * * * *') - async setTargetBean(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: setTargetBean'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: setTargetBean,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: setTargetBean,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * getTargetMethod - * - */ - @Cron('0 0 * * * *') - async getTargetMethod(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: getTargetMethod'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: getTargetMethod,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: getTargetMethod,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * setTargetMethod - * - */ - @Cron('0 0 * * * *') - async setTargetMethod(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: setTargetMethod'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: setTargetMethod,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: setTargetMethod,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-content-vo.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-content-vo.job.ts deleted file mode 100644 index e3a0dd43..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-content-vo.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class UpgradeContentVoJob { - private readonly logger = new Logger(UpgradeContentVoJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-param.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-param.job.ts deleted file mode 100644 index 6df96103..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-param.job.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class UpgradeParamJob { - private readonly logger = new Logger(UpgradeParamJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-record-status.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-record-status.job.ts deleted file mode 100644 index b5350ca6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-record-status.job.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class UpgradeRecordStatusEnumJob { - private readonly logger = new Logger(UpgradeRecordStatusEnumJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * getNameByStatus - * - */ - @Cron('0 0 * * * *') - async getNameByStatus(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: getNameByStatus'); - - try { - // 执行统计任务 - // 生成报表、统计数据、计算指标等 - const reportId = null; // await this.xxxService.generateStatisticsReport(); - this.logger.log(`统计完成,报表ID: ${reportId}`); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: getNameByStatus,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: getNameByStatus,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-task-vo.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-task-vo.job.ts deleted file mode 100644 index 01a2de9c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade-task-vo.job.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class UpgradeTaskVoJob { - private readonly logger = new Logger(UpgradeTaskVoJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * UpgradeTaskVo - * - */ - @Cron('0 0 * * * *') - async upgradeTaskVo(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: UpgradeTaskVo'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: UpgradeTaskVo,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: UpgradeTaskVo,耗时: ${duration}ms`, error.stack); - throw error; - } - } - - /** - * getUpgradeApps - * - */ - @Cron('0 0 * * * *') - async getUpgradeApps(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: getUpgradeApps'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: getUpgradeApps,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: getUpgradeApps,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade.job.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade.job.ts deleted file mode 100644 index 56a2e1d8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/jobs/upgrade.job.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { Cron, CronExpression } from '@nestjs/schedule'; -import { QueueService } from '@wwjBoot'; - -@Injectable() -export class UpgradeJob { - private readonly logger = new Logger(UpgradeJob.name); - - constructor( - private readonly queueService: QueueService - ) {} - /** - * handle - * - */ - @Cron('0 0 * * * *') - async handle(): Promise { - const startTime = Date.now(); - this.logger.log('开始执行定时任务: handle'); - - try { - // 执行定时任务业务逻辑 - // 调用相关服务处理任务 - this.logger.debug('任务执行中...'); - - const duration = Date.now() - startTime; - this.logger.log(`任务执行完成: handle,耗时: ${duration}ms`); - } catch (error) { - const duration = Date.now() - startTime; - this.logger.error(`任务执行失败: handle,耗时: ${duration}ms`, error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listener.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listener.module.ts deleted file mode 100644 index 22130e98..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listener.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Module } from '@nestjs/common'; -import { ServiceModule } from './service.module'; - -/** - * ListenerModule - 监听器模块 - * 符合NestJS官方规范 - */ -@Module({ - imports: [ - ServiceModule, - ], - providers: [ - // 无提供者 - ], - exports: [ - // 无导出 - ], -}) -export class ListenerModule {} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/addon-install-tools.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/addon-install-tools.listener.ts deleted file mode 100644 index 56bc0011..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/addon-install-tools.listener.ts +++ /dev/null @@ -1,740 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class AddonInstallToolsListener { - private readonly logger = new Logger(AddonInstallToolsListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setAddon - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setAddon(event: any): Promise { - this.logger.log('收到事件: setAddon', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setAddon'); - } catch (error) { - this.logger.error('事件处理失败: setAddon', error.stack); - throw error; - } - } - - /** - * installDir - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async installDir(event: any): Promise { - this.logger.log('收到事件: installDir', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: installDir'); - } catch (error) { - this.logger.error('事件处理失败: installDir', error.stack); - throw error; - } - } - - /** - * installVue - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async installVue(event: any): Promise { - this.logger.log('收到事件: installVue', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: installVue'); - } catch (error) { - this.logger.error('事件处理失败: installVue', error.stack); - throw error; - } - } - - /** - * uninstallDir - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async uninstallDir(event: any): Promise { - this.logger.log('收到事件: uninstallDir', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: uninstallDir'); - } catch (error) { - this.logger.error('事件处理失败: uninstallDir', error.stack); - throw error; - } - } - - /** - * installDepend - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async installDepend(event: any): Promise { - this.logger.log('收到事件: installDepend', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: installDepend'); - } catch (error) { - this.logger.error('事件处理失败: installDepend', error.stack); - throw error; - } - } - - /** - * installUniapp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async installUniapp(event: any): Promise { - this.logger.log('收到事件: installUniapp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: installUniapp'); - } catch (error) { - this.logger.error('事件处理失败: installUniapp', error.stack); - throw error; - } - } - - /** - * uninstallUniapp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async uninstallUniapp(event: any): Promise { - this.logger.log('收到事件: uninstallUniapp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: uninstallUniapp'); - } catch (error) { - this.logger.error('事件处理失败: uninstallUniapp', error.stack); - throw error; - } - } - - /** - * mergeAdmin - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeAdmin(event: any): Promise { - this.logger.log('收到事件: mergeAdmin', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeAdmin'); - } catch (error) { - this.logger.error('事件处理失败: mergeAdmin', error.stack); - throw error; - } - } - - /** - * removeAdmin - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeAdmin(event: any): Promise { - this.logger.log('收到事件: removeAdmin', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeAdmin'); - } catch (error) { - this.logger.error('事件处理失败: removeAdmin', error.stack); - throw error; - } - } - - /** - * mergeUniapp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeUniapp(event: any): Promise { - this.logger.log('收到事件: mergeUniapp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeUniapp'); - } catch (error) { - this.logger.error('事件处理失败: mergeUniapp', error.stack); - throw error; - } - } - - /** - * removeUniapp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeUniapp(event: any): Promise { - this.logger.log('收到事件: removeUniapp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeUniapp'); - } catch (error) { - this.logger.error('事件处理失败: removeUniapp', error.stack); - throw error; - } - } - - /** - * mergeWeb - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeWeb(event: any): Promise { - this.logger.log('收到事件: mergeWeb', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeWeb'); - } catch (error) { - this.logger.error('事件处理失败: mergeWeb', error.stack); - throw error; - } - } - - /** - * removeWeb - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeWeb(event: any): Promise { - this.logger.log('收到事件: removeWeb', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeWeb'); - } catch (error) { - this.logger.error('事件处理失败: removeWeb', error.stack); - throw error; - } - } - - /** - * mergeResource - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeResource(event: any): Promise { - this.logger.log('收到事件: mergeResource', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeResource'); - } catch (error) { - this.logger.error('事件处理失败: mergeResource', error.stack); - throw error; - } - } - - /** - * removeResource - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeResource(event: any): Promise { - this.logger.log('收到事件: removeResource', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeResource'); - } catch (error) { - this.logger.error('事件处理失败: removeResource', error.stack); - throw error; - } - } - - /** - * mergeJar - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeJar(event: any): Promise { - this.logger.log('收到事件: mergeJar', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeJar'); - } catch (error) { - this.logger.error('事件处理失败: mergeJar', error.stack); - throw error; - } - } - - /** - * removeJar - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeJar(event: any): Promise { - this.logger.log('收到事件: removeJar', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeJar'); - } catch (error) { - this.logger.error('事件处理失败: removeJar', error.stack); - throw error; - } - } - - /** - * mergeJava - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeJava(event: any): Promise { - this.logger.log('收到事件: mergeJava', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeJava'); - } catch (error) { - this.logger.error('事件处理失败: mergeJava', error.stack); - throw error; - } - } - - /** - * removeJava - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeJava(event: any): Promise { - this.logger.log('收到事件: removeJava', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeJava'); - } catch (error) { - this.logger.error('事件处理失败: removeJava', error.stack); - throw error; - } - } - - /** - * mergeAdminDepend - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeAdminDepend(event: any): Promise { - this.logger.log('收到事件: mergeAdminDepend', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeAdminDepend'); - } catch (error) { - this.logger.error('事件处理失败: mergeAdminDepend', error.stack); - throw error; - } - } - - /** - * mergeUniappDepend - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeUniappDepend(event: any): Promise { - this.logger.log('收到事件: mergeUniappDepend', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeUniappDepend'); - } catch (error) { - this.logger.error('事件处理失败: mergeUniappDepend', error.stack); - throw error; - } - } - - /** - * mergeWebDepend - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeWebDepend(event: any): Promise { - this.logger.log('收到事件: mergeWebDepend', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeWebDepend'); - } catch (error) { - this.logger.error('事件处理失败: mergeWebDepend', error.stack); - throw error; - } - } - - /** - * handlePagesJson - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handlePagesJson(event: any): Promise { - this.logger.log('收到事件: handlePagesJson', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handlePagesJson'); - } catch (error) { - this.logger.error('事件处理失败: handlePagesJson', error.stack); - throw error; - } - } - - /** - * handleUniappComponent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handleUniappComponent(event: any): Promise { - this.logger.log('收到事件: handleUniappComponent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleUniappComponent'); - } catch (error) { - this.logger.error('事件处理失败: handleUniappComponent', error.stack); - throw error; - } - } - - /** - * mergeUniappLocale - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeUniappLocale(event: any): Promise { - this.logger.log('收到事件: mergeUniappLocale', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeUniappLocale'); - } catch (error) { - this.logger.error('事件处理失败: mergeUniappLocale', error.stack); - throw error; - } - } - - /** - * mergeUniappManifest - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mergeUniappManifest(event: any): Promise { - this.logger.log('收到事件: mergeUniappManifest', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mergeUniappManifest'); - } catch (error) { - this.logger.error('事件处理失败: mergeUniappManifest', error.stack); - throw error; - } - } - - /** - * removeComments - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async removeComments(event: any): Promise { - this.logger.log('收到事件: removeComments', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: removeComments'); - } catch (error) { - this.logger.error('事件处理失败: removeComments', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/alipay.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/alipay.listener.ts deleted file mode 100644 index e4ce93aa..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/alipay.listener.ts +++ /dev/null @@ -1,593 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class AlipayListener { - private readonly logger = new Logger(AlipayListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * corePayService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async corePayService(event: any): Promise { - this.logger.log('收到事件: corePayService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: corePayService'); - } catch (error) { - this.logger.error('事件处理失败: corePayService', error.stack); - throw error; - } - } - - /** - * coreRefundService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async coreRefundService(event: any): Promise { - this.logger.log('收到事件: coreRefundService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreRefundService'); - } catch (error) { - this.logger.error('事件处理失败: coreRefundService', error.stack); - throw error; - } - } - - /** - * coreTransferService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async coreTransferService(event: any): Promise { - this.logger.log('收到事件: coreTransferService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreTransferService'); - } catch (error) { - this.logger.error('事件处理失败: coreTransferService', error.stack); - throw error; - } - } - - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } - - /** - * pay - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async pay(event: any): Promise { - this.logger.log('收到事件: pay', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: pay'); - } catch (error) { - this.logger.error('事件处理失败: pay', error.stack); - throw error; - } - } - - /** - * app - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async app(event: any): Promise { - this.logger.log('收到事件: app', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: app'); - } catch (error) { - this.logger.error('事件处理失败: app', error.stack); - throw error; - } - } - - /** - * h5 - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async h5(event: any): Promise { - this.logger.log('收到事件: h5', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: h5'); - } catch (error) { - this.logger.error('事件处理失败: h5', error.stack); - throw error; - } - } - - /** - * web - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async web(event: any): Promise { - this.logger.log('收到事件: web', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: web'); - } catch (error) { - this.logger.error('事件处理失败: web', error.stack); - throw error; - } - } - - /** - * scan - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scan(event: any): Promise { - this.logger.log('收到事件: scan', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scan'); - } catch (error) { - this.logger.error('事件处理失败: scan', error.stack); - throw error; - } - } - - /** - * close - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async close(event: any): Promise { - this.logger.log('收到事件: close', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: close'); - } catch (error) { - this.logger.error('事件处理失败: close', error.stack); - throw error; - } - } - - /** - * asyncNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async asyncNotify(event: any): Promise { - this.logger.log('收到事件: asyncNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: asyncNotify'); - } catch (error) { - this.logger.error('事件处理失败: asyncNotify', error.stack); - throw error; - } - } - - /** - * payNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async payNotify(event: any): Promise { - this.logger.log('收到事件: payNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: payNotify'); - } catch (error) { - this.logger.error('事件处理失败: payNotify', error.stack); - throw error; - } - } - - /** - * refundNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refundNotify(event: any): Promise { - this.logger.log('收到事件: refundNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refundNotify'); - } catch (error) { - this.logger.error('事件处理失败: refundNotify', error.stack); - throw error; - } - } - - /** - * handlePayStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handlePayStatus(event: any): Promise { - this.logger.log('收到事件: handlePayStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: handlePayStatus'); - } catch (error) { - this.logger.error('事件处理失败: handlePayStatus', error.stack); - throw error; - } - } - - /** - * transfer - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transfer(event: any): Promise { - this.logger.log('收到事件: transfer', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transfer'); - } catch (error) { - this.logger.error('事件处理失败: transfer', error.stack); - throw error; - } - } - - /** - * transferCancel - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferCancel(event: any): Promise { - this.logger.log('收到事件: transferCancel', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferCancel'); - } catch (error) { - this.logger.error('事件处理失败: transferCancel', error.stack); - throw error; - } - } - - /** - * transferQuery - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferQuery(event: any): Promise { - this.logger.log('收到事件: transferQuery', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferQuery'); - } catch (error) { - this.logger.error('事件处理失败: transferQuery', error.stack); - throw error; - } - } - - /** - * handleTransferStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async handleTransferStatus(event: any): Promise { - this.logger.log('收到事件: handleTransferStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleTransferStatus'); - } catch (error) { - this.logger.error('事件处理失败: handleTransferStatus', error.stack); - throw error; - } - } - - /** - * refund - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refund(event: any): Promise { - this.logger.log('收到事件: refund', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refund'); - } catch (error) { - this.logger.error('事件处理失败: refund', error.stack); - throw error; - } - } - - /** - * handleRefundStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async handleRefundStatus(event: any): Promise { - this.logger.log('收到事件: handleRefundStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleRefundStatus'); - } catch (error) { - this.logger.error('事件处理失败: handleRefundStatus', error.stack); - throw error; - } - } - - /** - * filterPayTypeByTradeType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async filterPayTypeByTradeType(event: any): Promise { - this.logger.log('收到事件: filterPayTypeByTradeType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: filterPayTypeByTradeType'); - } catch (error) { - this.logger.error('事件处理失败: filterPayTypeByTradeType', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/balancepay.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/balancepay.listener.ts deleted file mode 100644 index 1dfc514e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/balancepay.listener.ts +++ /dev/null @@ -1,374 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class BalancepayListener { - private readonly logger = new Logger(BalancepayListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * corePayService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async corePayService(event: any): Promise { - this.logger.log('收到事件: corePayService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: corePayService'); - } catch (error) { - this.logger.error('事件处理失败: corePayService', error.stack); - throw error; - } - } - - /** - * coreRefundService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async coreRefundService(event: any): Promise { - this.logger.log('收到事件: coreRefundService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreRefundService'); - } catch (error) { - this.logger.error('事件处理失败: coreRefundService', error.stack); - throw error; - } - } - - /** - * coreMemberAccountService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async coreMemberAccountService(event: any): Promise { - this.logger.log('收到事件: coreMemberAccountService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: coreMemberAccountService'); - } catch (error) { - this.logger.error('事件处理失败: coreMemberAccountService', error.stack); - throw error; - } - } - - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } - - /** - * pay - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async pay(event: any): Promise { - this.logger.log('收到事件: pay', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: pay'); - } catch (error) { - this.logger.error('事件处理失败: pay', error.stack); - throw error; - } - } - - /** - * scan - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scan(event: any): Promise { - this.logger.log('收到事件: scan', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scan'); - } catch (error) { - this.logger.error('事件处理失败: scan', error.stack); - throw error; - } - } - - /** - * close - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async close(event: any): Promise { - this.logger.log('收到事件: close', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: close'); - } catch (error) { - this.logger.error('事件处理失败: close', error.stack); - throw error; - } - } - - /** - * asyncNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async asyncNotify(event: any): Promise { - this.logger.log('收到事件: asyncNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: asyncNotify'); - } catch (error) { - this.logger.error('事件处理失败: asyncNotify', error.stack); - throw error; - } - } - - /** - * transfer - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transfer(event: any): Promise { - this.logger.log('收到事件: transfer', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transfer'); - } catch (error) { - this.logger.error('事件处理失败: transfer', error.stack); - throw error; - } - } - - /** - * transferCancel - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferCancel(event: any): Promise { - this.logger.log('收到事件: transferCancel', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferCancel'); - } catch (error) { - this.logger.error('事件处理失败: transferCancel', error.stack); - throw error; - } - } - - /** - * transferQuery - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferQuery(event: any): Promise { - this.logger.log('收到事件: transferQuery', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferQuery'); - } catch (error) { - this.logger.error('事件处理失败: transferQuery', error.stack); - throw error; - } - } - - /** - * refund - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refund(event: any): Promise { - this.logger.log('收到事件: refund', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refund'); - } catch (error) { - this.logger.error('事件处理失败: refund', error.stack); - throw error; - } - } - - /** - * filterPayTypeByTradeType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async filterPayTypeByTradeType(event: any): Promise { - this.logger.log('收到事件: filterPayTypeByTradeType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: filterPayTypeByTradeType'); - } catch (error) { - this.logger.error('事件处理失败: filterPayTypeByTradeType', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/benefits-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/benefits-driver.listener.ts deleted file mode 100644 index b0dc8e19..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/benefits-driver.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class BenefitsDriverListener { - private readonly logger = new Logger(BenefitsDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * content - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async content(event: any): Promise { - this.logger.log('收到事件: content', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: content'); - } catch (error) { - this.logger.error('事件处理失败: content', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/common-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/common-event.listener.ts deleted file mode 100644 index 23705086..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/common-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class CommonEventListener { - private readonly logger = new Logger(CommonEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/controller-request-aspect.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/controller-request-aspect.listener.ts deleted file mode 100644 index ce348393..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/controller-request-aspect.listener.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ControllerRequestAspectListener { - private readonly logger = new Logger(ControllerRequestAspectListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * controllerMethods - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async controllerMethods(event: any): Promise { - this.logger.log('收到事件: controllerMethods', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: controllerMethods'); - } catch (error) { - this.logger.error('事件处理失败: controllerMethods', error.stack); - throw error; - } - } - - /** - * beforeControllerMethod - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async beforeControllerMethod(event: any): Promise { - this.logger.log('收到事件: beforeControllerMethod', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: beforeControllerMethod'); - } catch (error) { - this.logger.error('事件处理失败: beforeControllerMethod', error.stack); - throw error; - } - } - - /** - * receiveRequestArrayParameter - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async receiveRequestArrayParameter(event: any): Promise { - this.logger.log('收到事件: receiveRequestArrayParameter', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: receiveRequestArrayParameter'); - } catch (error) { - this.logger.error('事件处理失败: receiveRequestArrayParameter', error.stack); - throw error; - } - } - - /** - * doRequestParameter - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doRequestParameter(event: any): Promise { - this.logger.log('收到事件: doRequestParameter', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doRequestParameter'); - } catch (error) { - this.logger.error('事件处理失败: doRequestParameter', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-event.listener.ts deleted file mode 100644 index d0a1e0b1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class CoreEventListenerListener { - private readonly logger = new Logger(CoreEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-example-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-example-event.listener.ts deleted file mode 100644 index d6ad5d94..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-example-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class CoreExampleEventListenerListener { - private readonly logger = new Logger(CoreExampleEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('example') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-source-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-source-event.listener.ts deleted file mode 100644 index b52ce6fd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-source-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class CoreSourceEventListener { - private readonly logger = new Logger(CoreSourceEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-spring-context.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-spring-context.listener.ts deleted file mode 100644 index 29833360..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/core-spring-context.listener.ts +++ /dev/null @@ -1,281 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class CoreSpringContextListenerListener { - private readonly logger = new Logger(CoreSpringContextListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * onApplicationEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('context.refreshed') - async onApplicationEvent(event: any): Promise { - this.logger.log('收到事件: onApplicationEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: onApplicationEvent'); - } catch (error) { - this.logger.error('事件处理失败: onApplicationEvent', error.stack); - throw error; - } - } - - /** - * initSqlData - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async initSqlData(event: any): Promise { - this.logger.log('收到事件: initSqlData', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: initSqlData'); - } catch (error) { - this.logger.error('事件处理失败: initSqlData', error.stack); - throw error; - } - } - - /** - * initSqlSchema - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async initSqlSchema(event: any): Promise { - this.logger.log('收到事件: initSqlSchema', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: initSqlSchema'); - } catch (error) { - this.logger.error('事件处理失败: initSqlSchema', error.stack); - throw error; - } - } - - /** - * initMenu - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async initMenu(event: any): Promise { - this.logger.log('收到事件: initMenu', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: initMenu'); - } catch (error) { - this.logger.error('事件处理失败: initMenu', error.stack); - throw error; - } - } - - /** - * initSchedule - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async initSchedule(event: any): Promise { - this.logger.log('收到事件: initSchedule', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: initSchedule'); - } catch (error) { - this.logger.error('事件处理失败: initSchedule', error.stack); - throw error; - } - } - - /** - * isInit - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async isInit(event: any): Promise { - this.logger.log('收到事件: isInit', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: isInit'); - } catch (error) { - this.logger.error('事件处理失败: isInit', error.stack); - throw error; - } - } - - /** - * setCreated - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setCreated(event: any): Promise { - this.logger.log('收到事件: setCreated', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setCreated'); - } catch (error) { - this.logger.error('事件处理失败: setCreated', error.stack); - throw error; - } - } - - /** - * installAddon - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async installAddon(event: any): Promise { - this.logger.log('收到事件: installAddon', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: installAddon'); - } catch (error) { - this.logger.error('事件处理失败: installAddon', error.stack); - throw error; - } - } - - /** - * isInstallAddon - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async isInstallAddon(event: any): Promise { - this.logger.log('收到事件: isInstallAddon', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: isInstallAddon'); - } catch (error) { - this.logger.error('事件处理失败: isInstallAddon', error.stack); - throw error; - } - } - - /** - * clearBuffer - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async clearBuffer(event: any): Promise { - this.logger.log('收到事件: clearBuffer', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: clearBuffer'); - } catch (error) { - this.logger.error('事件处理失败: clearBuffer', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/demo-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/demo-event.listener.ts deleted file mode 100644 index 40807019..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/demo-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class DemoEventListenerListener { - private readonly logger = new Logger(DemoEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('demo') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/diy-form-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/diy-form-driver.listener.ts deleted file mode 100644 index 8887c89b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/diy-form-driver.listener.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class DiyFormDriverListener { - private readonly logger = new Logger(DiyFormDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * convert - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async convert(event: any): Promise { - this.logger.log('收到事件: convert', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: convert'); - } catch (error) { - this.logger.error('事件处理失败: convert', error.stack); - throw error; - } - } - - /** - * render - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async render(event: any): Promise { - this.logger.log('收到事件: render', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: render'); - } catch (error) { - this.logger.error('事件处理失败: render', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-and-subscribe-of-publisher.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-and-subscribe-of-publisher.listener.ts deleted file mode 100644 index c13cfcd2..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-and-subscribe-of-publisher.listener.ts +++ /dev/null @@ -1,227 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class EventAndSubscribeOfPublisherListener { - private readonly logger = new Logger(EventAndSubscribeOfPublisherListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * publishAll - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAll(event: any): Promise { - this.logger.log('收到事件: publishAll', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAll'); - } catch (error) { - this.logger.error('事件处理失败: publishAll', error.stack); - throw error; - } - } - - /** - * publishBySiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishBySiteId(event: any): Promise { - this.logger.log('收到事件: publishBySiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishBySiteId'); - } catch (error) { - this.logger.error('事件处理失败: publishBySiteId', error.stack); - throw error; - } - } - - /** - * publishAndCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallback(event: any): Promise { - this.logger.log('收到事件: publishAndCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallback'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallback', error.stack); - throw error; - } - } - - /** - * publishAndCallbackBySite - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallbackBySite(event: any): Promise { - this.logger.log('收到事件: publishAndCallbackBySite', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallbackBySite'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallbackBySite', error.stack); - throw error; - } - } - - /** - * publishAndCallbackListAll - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallbackListAll(event: any): Promise { - this.logger.log('收到事件: publishAndCallbackListAll', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallbackListAll'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallbackListAll', error.stack); - throw error; - } - } - - /** - * publishAndCallbackListBySiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallbackListBySiteId(event: any): Promise { - this.logger.log('收到事件: publishAndCallbackListBySiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallbackListBySiteId'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallbackListBySiteId', error.stack); - throw error; - } - } - - /** - * publishAndCallbackAll - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallbackAll(event: any): Promise { - this.logger.log('收到事件: publishAndCallbackAll', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallbackAll'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallbackAll', error.stack); - throw error; - } - } - - /** - * publishAndCallbackBySiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishAndCallbackBySiteId(event: any): Promise { - this.logger.log('收到事件: publishAndCallbackBySiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishAndCallbackBySiteId'); - } catch (error) { - this.logger.error('事件处理失败: publishAndCallbackBySiteId', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-mediator-context.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-mediator-context.listener.ts deleted file mode 100644 index 4525facd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-mediator-context.listener.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class EventMediatorContextListener { - private readonly logger = new Logger(EventMediatorContextListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } - - /** - * test - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async test(event: any): Promise { - this.logger.log('收到事件: test', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: test'); - } catch (error) { - this.logger.error('事件处理失败: test', error.stack); - throw error; - } - } - - /** - * scanAnnotationByComponentProvider - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scanAnnotationByComponentProvider(event: any): Promise { - this.logger.log('收到事件: scanAnnotationByComponentProvider', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scanAnnotationByComponentProvider'); - } catch (error) { - this.logger.error('事件处理失败: scanAnnotationByComponentProvider', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-publisher.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-publisher.listener.ts deleted file mode 100644 index 60f65aee..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event-publisher.listener.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class EventPublisherListener { - private readonly logger = new Logger(EventPublisherListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * publishEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publishEvent(event: any): Promise { - this.logger.log('收到事件: publishEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publishEvent'); - } catch (error) { - this.logger.error('事件处理失败: publishEvent', error.stack); - throw error; - } - } - - /** - * publish - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async publish(event: any): Promise { - this.logger.log('收到事件: publish', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: publish'); - } catch (error) { - this.logger.error('事件处理失败: publish', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event.listener.ts deleted file mode 100644 index b0fb5d9e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/event.listener.ts +++ /dev/null @@ -1,362 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class EventListener { - private readonly logger = new Logger(EventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * Event - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async event(event: any): Promise { - this.logger.log('收到事件: Event', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: Event'); - } catch (error) { - this.logger.error('事件处理失败: Event', error.stack); - throw error; - } - } - - /** - * contain - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async contain(event: any): Promise { - this.logger.log('收到事件: contain', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: contain'); - } catch (error) { - this.logger.error('事件处理失败: contain', error.stack); - throw error; - } - } - - /** - * getSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getSiteId(event: any): Promise { - this.logger.log('收到事件: getSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getSiteId'); - } catch (error) { - this.logger.error('事件处理失败: getSiteId', error.stack); - throw error; - } - } - - /** - * setSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setSiteId(event: any): Promise { - this.logger.log('收到事件: setSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setSiteId'); - } catch (error) { - this.logger.error('事件处理失败: setSiteId', error.stack); - throw error; - } - } - - /** - * isAuthority - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async isAuthority(event: any): Promise { - this.logger.log('收到事件: isAuthority', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: isAuthority'); - } catch (error) { - this.logger.error('事件处理失败: isAuthority', error.stack); - throw error; - } - } - - /** - * setAuthority - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setAuthority(event: any): Promise { - this.logger.log('收到事件: setAuthority', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setAuthority'); - } catch (error) { - this.logger.error('事件处理失败: setAuthority', error.stack); - throw error; - } - } - - /** - * addAppSign - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async addAppSign(event: any): Promise { - this.logger.log('收到事件: addAppSign', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: addAppSign'); - } catch (error) { - this.logger.error('事件处理失败: addAppSign', error.stack); - throw error; - } - } - - /** - * addAppSigns - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async addAppSigns(event: any): Promise { - this.logger.log('收到事件: addAppSigns', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: addAppSigns'); - } catch (error) { - this.logger.error('事件处理失败: addAppSigns', error.stack); - throw error; - } - } - - /** - * getName - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getName(event: any): Promise { - this.logger.log('收到事件: getName', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getName'); - } catch (error) { - this.logger.error('事件处理失败: getName', error.stack); - throw error; - } - } - - /** - * setName - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setName(event: any): Promise { - this.logger.log('收到事件: setName', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setName'); - } catch (error) { - this.logger.error('事件处理失败: setName', error.stack); - throw error; - } - } - - /** - * getContent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getContent(event: any): Promise { - this.logger.log('收到事件: getContent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getContent'); - } catch (error) { - this.logger.error('事件处理失败: getContent', error.stack); - throw error; - } - } - - /** - * setContent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setContent(event: any): Promise { - this.logger.log('收到事件: setContent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setContent'); - } catch (error) { - this.logger.error('事件处理失败: setContent', error.stack); - throw error; - } - } - - /** - * toString - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async toString(event: any): Promise { - this.logger.log('收到事件: toString', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: toString'); - } catch (error) { - this.logger.error('事件处理失败: toString', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example1-handler-provider-impl.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example1-handler-provider-impl.listener.ts deleted file mode 100644 index fc7f62ed..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example1-handler-provider-impl.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class Example1HandlerProviderImplListener { - private readonly logger = new Logger(Example1HandlerProviderImplListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handle(event: any): Promise { - this.logger.log('收到事件: handle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handle'); - } catch (error) { - this.logger.error('事件处理失败: handle', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example2-handler-provider-impl.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example2-handler-provider-impl.listener.ts deleted file mode 100644 index f28afd6a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/example2-handler-provider-impl.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class Example2HandlerProviderImplListener { - private readonly logger = new Logger(Example2HandlerProviderImplListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handle(event: any): Promise { - this.logger.log('收到事件: handle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handle'); - } catch (error) { - this.logger.error('事件处理失败: handle', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/friend-pay.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/friend-pay.listener.ts deleted file mode 100644 index 175c2109..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/friend-pay.listener.ts +++ /dev/null @@ -1,287 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class FriendPayListener { - private readonly logger = new Logger(FriendPayListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } - - /** - * pay - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async pay(event: any): Promise { - this.logger.log('收到事件: pay', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: pay'); - } catch (error) { - this.logger.error('事件处理失败: pay', error.stack); - throw error; - } - } - - /** - * scan - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scan(event: any): Promise { - this.logger.log('收到事件: scan', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scan'); - } catch (error) { - this.logger.error('事件处理失败: scan', error.stack); - throw error; - } - } - - /** - * close - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async close(event: any): Promise { - this.logger.log('收到事件: close', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: close'); - } catch (error) { - this.logger.error('事件处理失败: close', error.stack); - throw error; - } - } - - /** - * asyncNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async asyncNotify(event: any): Promise { - this.logger.log('收到事件: asyncNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: asyncNotify'); - } catch (error) { - this.logger.error('事件处理失败: asyncNotify', error.stack); - throw error; - } - } - - /** - * transfer - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transfer(event: any): Promise { - this.logger.log('收到事件: transfer', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transfer'); - } catch (error) { - this.logger.error('事件处理失败: transfer', error.stack); - throw error; - } - } - - /** - * transferCancel - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferCancel(event: any): Promise { - this.logger.log('收到事件: transferCancel', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferCancel'); - } catch (error) { - this.logger.error('事件处理失败: transferCancel', error.stack); - throw error; - } - } - - /** - * transferQuery - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferQuery(event: any): Promise { - this.logger.log('收到事件: transferQuery', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferQuery'); - } catch (error) { - this.logger.error('事件处理失败: transferQuery', error.stack); - throw error; - } - } - - /** - * refund - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refund(event: any): Promise { - this.logger.log('收到事件: refund', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refund'); - } catch (error) { - this.logger.error('事件处理失败: refund', error.stack); - throw error; - } - } - - /** - * filterPayTypeByTradeType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async filterPayTypeByTradeType(event: any): Promise { - this.logger.log('收到事件: filterPayTypeByTradeType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: filterPayTypeByTradeType'); - } catch (error) { - this.logger.error('事件处理失败: filterPayTypeByTradeType', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/get-poster-data.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/get-poster-data.listener.ts deleted file mode 100644 index 4f6054cf..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/get-poster-data.listener.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class GetPosterDataListenerListener { - private readonly logger = new Logger(GetPosterDataListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setPayMapper - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setPayMapper(event: any): Promise { - this.logger.log('收到事件: setPayMapper', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: setPayMapper'); - } catch (error) { - this.logger.error('事件处理失败: setPayMapper', error.stack); - throw error; - } - } - - /** - * setMemberMapper - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setMemberMapper(event: any): Promise { - this.logger.log('收到事件: setMemberMapper', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: setMemberMapper'); - } catch (error) { - this.logger.error('事件处理失败: setMemberMapper', error.stack); - throw error; - } - } - - /** - * setCoreSysConfigService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setCoreSysConfigService(event: any): Promise { - this.logger.log('收到事件: setCoreSysConfigService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setCoreSysConfigService'); - } catch (error) { - this.logger.error('事件处理失败: setCoreSysConfigService', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-balance-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-balance-driver.listener.ts deleted file mode 100644 index afe79937..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-balance-driver.listener.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class GiftBalanceDriverListener { - private readonly logger = new Logger(GiftBalanceDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * coreMemberAccountService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async coreMemberAccountService(event: any): Promise { - this.logger.log('收到事件: coreMemberAccountService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: coreMemberAccountService'); - } catch (error) { - this.logger.error('事件处理失败: coreMemberAccountService', error.stack); - throw error; - } - } - - /** - * content - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async content(event: any): Promise { - this.logger.log('收到事件: content', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: content'); - } catch (error) { - this.logger.error('事件处理失败: content', error.stack); - throw error; - } - } - - /** - * grant - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async grant(event: any): Promise { - this.logger.log('收到事件: grant', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: grant'); - } catch (error) { - this.logger.error('事件处理失败: grant', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-point-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-point-driver.listener.ts deleted file mode 100644 index 52f69d93..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/gift-point-driver.listener.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class GiftPointDriverListener { - private readonly logger = new Logger(GiftPointDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * coreMemberAccountService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async coreMemberAccountService(event: any): Promise { - this.logger.log('收到事件: coreMemberAccountService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: coreMemberAccountService'); - } catch (error) { - this.logger.error('事件处理失败: coreMemberAccountService', error.stack); - throw error; - } - } - - /** - * content - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async content(event: any): Promise { - this.logger.log('收到事件: content', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: content'); - } catch (error) { - this.logger.error('事件处理失败: content', error.stack); - throw error; - } - } - - /** - * grant - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async grant(event: any): Promise { - this.logger.log('收到事件: grant', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: grant'); - } catch (error) { - this.logger.error('事件处理失败: grant', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/growth-rule-register-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/growth-rule-register-driver.listener.ts deleted file mode 100644 index e1a9c8ff..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/growth-rule-register-driver.listener.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class GrowthRuleRegisterDriverListener { - private readonly logger = new Logger(GrowthRuleRegisterDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * calculate - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async calculate(event: any): Promise { - this.logger.log('收到事件: calculate', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: calculate'); - } catch (error) { - this.logger.error('事件处理失败: calculate', error.stack); - throw error; - } - } - - /** - * content - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async content(event: any): Promise { - this.logger.log('收到事件: content', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: content'); - } catch (error) { - this.logger.error('事件处理失败: content', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/i-core-pay-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/i-core-pay-event.listener.ts deleted file mode 100644 index 5def517b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/i-core-pay-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ICorePayEventServiceListener { - private readonly logger = new Logger(ICorePayEventServiceListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/init-wap-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/init-wap-event.listener.ts deleted file mode 100644 index 62e0d60b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/init-wap-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class InitWapEventListener { - private readonly logger = new Logger(InitWapEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account-event.listener.ts deleted file mode 100644 index f2ac796c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberAccountEventListener { - private readonly logger = new Logger(MemberAccountEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account.listener.ts deleted file mode 100644 index 4b45fc5b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-account.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberAccountListenerListener { - private readonly logger = new Logger(MemberAccountListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('member.account') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-cash-out-transfer-success.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-cash-out-transfer-success.listener.ts deleted file mode 100644 index ec5e9b0b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-cash-out-transfer-success.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberCashOutTransferSuccessListenerListener { - private readonly logger = new Logger(MemberCashOutTransferSuccessListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('transfer.success') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-export-data.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-export-data.listener.ts deleted file mode 100644 index 7eaed199..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-export-data.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberExportDataListenerListener { - private readonly logger = new Logger(MemberExportDataListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('export.data') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login-event.listener.ts deleted file mode 100644 index c0fc6887..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberLoginEventListener { - private readonly logger = new Logger(MemberLoginEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login.listener.ts deleted file mode 100644 index 3da41d06..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-login.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberLoginListenerListener { - private readonly logger = new Logger(MemberLoginListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('member.login') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register-event.listener.ts deleted file mode 100644 index db94fabc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberRegisterEventListener { - private readonly logger = new Logger(MemberRegisterEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register.listener.ts deleted file mode 100644 index 51e95bab..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/member-register.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MemberRegisterListenerListener { - private readonly logger = new Logger(MemberRegisterListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('member.register') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/message-handle-impl.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/message-handle-impl.listener.ts deleted file mode 100644 index 6ee0ee51..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/message-handle-impl.listener.ts +++ /dev/null @@ -1,308 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MessageHandleImplListener { - private readonly logger = new Logger(MessageHandleImplListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setSiteId(event: any): Promise { - this.logger.log('收到事件: setSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setSiteId'); - } catch (error) { - this.logger.error('事件处理失败: setSiteId', error.stack); - throw error; - } - } - - /** - * getCoreScanService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getCoreScanService(event: any): Promise { - this.logger.log('收到事件: getCoreScanService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getCoreScanService'); - } catch (error) { - this.logger.error('事件处理失败: getCoreScanService', error.stack); - throw error; - } - } - - /** - * getWechatReplyMapper - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getWechatReplyMapper(event: any): Promise { - this.logger.log('收到事件: getWechatReplyMapper', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getWechatReplyMapper'); - } catch (error) { - this.logger.error('事件处理失败: getWechatReplyMapper', error.stack); - throw error; - } - } - - /** - * getCoreWechatReplyService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getCoreWechatReplyService(event: any): Promise { - this.logger.log('收到事件: getCoreWechatReplyService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getCoreWechatReplyService'); - } catch (error) { - this.logger.error('事件处理失败: getCoreWechatReplyService', error.stack); - throw error; - } - } - - /** - * handle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handle(event: any): Promise { - this.logger.log('收到事件: handle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handle'); - } catch (error) { - this.logger.error('事件处理失败: handle', error.stack); - throw error; - } - } - - /** - * event - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async event(event: any): Promise { - this.logger.log('收到事件: event', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: event'); - } catch (error) { - this.logger.error('事件处理失败: event', error.stack); - throw error; - } - } - - /** - * text - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async text(event: any): Promise { - this.logger.log('收到事件: text', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: text'); - } catch (error) { - this.logger.error('事件处理失败: text', error.stack); - throw error; - } - } - - /** - * scan - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scan(event: any): Promise { - this.logger.log('收到事件: scan', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scan'); - } catch (error) { - this.logger.error('事件处理失败: scan', error.stack); - throw error; - } - } - - /** - * defaultReply - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async defaultReply(event: any): Promise { - this.logger.log('收到事件: defaultReply', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: defaultReply'); - } catch (error) { - this.logger.error('事件处理失败: defaultReply', error.stack); - throw error; - } - } - - /** - * subscribeReply - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async subscribeReply(event: any): Promise { - this.logger.log('收到事件: subscribeReply', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: subscribeReply'); - } catch (error) { - this.logger.error('事件处理失败: subscribeReply', error.stack); - throw error; - } - } - - /** - * sendReply - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async sendReply(event: any): Promise { - this.logger.log('收到事件: sendReply', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: sendReply'); - } catch (error) { - this.logger.error('事件处理失败: sendReply', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/method-call-stack-aspect.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/method-call-stack-aspect.listener.ts deleted file mode 100644 index 13ed3fe3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/method-call-stack-aspect.listener.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MethodCallStackAspectListener { - private readonly logger = new Logger(MethodCallStackAspectListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * controllerMethods - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async controllerMethods(event: any): Promise { - this.logger.log('收到事件: controllerMethods', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: controllerMethods'); - } catch (error) { - this.logger.error('事件处理失败: controllerMethods', error.stack); - throw error; - } - } - - /** - * aroundMethod - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async aroundMethod(event: any): Promise { - this.logger.log('收到事件: aroundMethod', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: aroundMethod'); - } catch (error) { - this.logger.error('事件处理失败: aroundMethod', error.stack); - throw error; - } - } - - /** - * serviceMethods - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async serviceMethods(event: any): Promise { - this.logger.log('收到事件: serviceMethods', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: serviceMethods'); - } catch (error) { - this.logger.error('事件处理失败: serviceMethods', error.stack); - throw error; - } - } - - /** - * mapperMethods - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mapperMethods(event: any): Promise { - this.logger.log('收到事件: mapperMethods', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mapperMethods'); - } catch (error) { - this.logger.error('事件处理失败: mapperMethods', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/my-sa-token.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/my-sa-token.listener.ts deleted file mode 100644 index 1b8f987e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/my-sa-token.listener.ts +++ /dev/null @@ -1,308 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class MySaTokenListenerListener { - private readonly logger = new Logger(MySaTokenListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * doLogin - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('member.login') - async doLogin(event: any): Promise { - this.logger.log('收到事件: doLogin', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doLogin'); - } catch (error) { - this.logger.error('事件处理失败: doLogin', error.stack); - throw error; - } - } - - /** - * doLogout - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doLogout(event: any): Promise { - this.logger.log('收到事件: doLogout', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doLogout'); - } catch (error) { - this.logger.error('事件处理失败: doLogout', error.stack); - throw error; - } - } - - /** - * doKickout - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doKickout(event: any): Promise { - this.logger.log('收到事件: doKickout', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doKickout'); - } catch (error) { - this.logger.error('事件处理失败: doKickout', error.stack); - throw error; - } - } - - /** - * doReplaced - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doReplaced(event: any): Promise { - this.logger.log('收到事件: doReplaced', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doReplaced'); - } catch (error) { - this.logger.error('事件处理失败: doReplaced', error.stack); - throw error; - } - } - - /** - * doDisable - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doDisable(event: any): Promise { - this.logger.log('收到事件: doDisable', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doDisable'); - } catch (error) { - this.logger.error('事件处理失败: doDisable', error.stack); - throw error; - } - } - - /** - * doUntieDisable - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doUntieDisable(event: any): Promise { - this.logger.log('收到事件: doUntieDisable', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doUntieDisable'); - } catch (error) { - this.logger.error('事件处理失败: doUntieDisable', error.stack); - throw error; - } - } - - /** - * doOpenSafe - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doOpenSafe(event: any): Promise { - this.logger.log('收到事件: doOpenSafe', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doOpenSafe'); - } catch (error) { - this.logger.error('事件处理失败: doOpenSafe', error.stack); - throw error; - } - } - - /** - * doCloseSafe - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doCloseSafe(event: any): Promise { - this.logger.log('收到事件: doCloseSafe', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doCloseSafe'); - } catch (error) { - this.logger.error('事件处理失败: doCloseSafe', error.stack); - throw error; - } - } - - /** - * doCreateSession - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doCreateSession(event: any): Promise { - this.logger.log('收到事件: doCreateSession', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doCreateSession'); - } catch (error) { - this.logger.error('事件处理失败: doCreateSession', error.stack); - throw error; - } - } - - /** - * doLogoutSession - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doLogoutSession(event: any): Promise { - this.logger.log('收到事件: doLogoutSession', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doLogoutSession'); - } catch (error) { - this.logger.error('事件处理失败: doLogoutSession', error.stack); - throw error; - } - } - - /** - * doRenewTimeout - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async doRenewTimeout(event: any): Promise { - this.logger.log('收到事件: doRenewTimeout', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: doRenewTimeout'); - } catch (error) { - this.logger.error('事件处理失败: doRenewTimeout', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-close-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-close-event.listener.ts deleted file mode 100644 index e436ed83..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-close-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PayCloseEventListener { - private readonly logger = new Logger(PayCloseEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success-event.listener.ts deleted file mode 100644 index 4a398936..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PaySuccessEventListener { - private readonly logger = new Logger(PaySuccessEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success.listener.ts deleted file mode 100644 index 77bf5b7b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/pay-success.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PaySuccessListenerListener { - private readonly logger = new Logger(PaySuccessListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.success') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/point-rule-register-driver.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/point-rule-register-driver.listener.ts deleted file mode 100644 index 82273987..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/point-rule-register-driver.listener.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PointRuleRegisterDriverListener { - private readonly logger = new Logger(PointRuleRegisterDriverListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * calculate - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async calculate(event: any): Promise { - this.logger.log('收到事件: calculate', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: calculate'); - } catch (error) { - this.logger.error('事件处理失败: calculate', error.stack); - throw error; - } - } - - /** - * content - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async content(event: any): Promise { - this.logger.log('收到事件: content', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: content'); - } catch (error) { - this.logger.error('事件处理失败: content', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw-event.listener.ts deleted file mode 100644 index 67b9dafb..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PosterDrawEventListener { - private readonly logger = new Logger(PosterDrawEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw.listener.ts deleted file mode 100644 index 647b0388..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/poster-draw.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class PosterDrawListenerListener { - private readonly logger = new Logger(PosterDrawListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('poster.draw') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/quartz-config.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/quartz-config.listener.ts deleted file mode 100644 index 14eb1ed4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/quartz-config.listener.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class QuartzConfigListener { - private readonly logger = new Logger(QuartzConfigListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * QuartzJobFactory - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async quartzJobFactory(event: any): Promise { - this.logger.log('收到事件: QuartzJobFactory', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: QuartzJobFactory'); - } catch (error) { - this.logger.error('事件处理失败: QuartzJobFactory', error.stack); - throw error; - } - } - - /** - * createJobInstance - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async createJobInstance(event: any): Promise { - this.logger.log('收到事件: createJobInstance', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: createJobInstance'); - } catch (error) { - this.logger.error('事件处理失败: createJobInstance', error.stack); - throw error; - } - } - - /** - * scheduler - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scheduler(event: any): Promise { - this.logger.log('收到事件: scheduler', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scheduler'); - } catch (error) { - this.logger.error('事件处理失败: scheduler', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-fail-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-fail-event.listener.ts deleted file mode 100644 index 07e8db3a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-fail-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class RefundFailEventListener { - private readonly logger = new Logger(RefundFailEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success-event.listener.ts deleted file mode 100644 index 3339cbe7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class RefundSuccessEventListener { - private readonly logger = new Logger(RefundSuccessEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success.listener.ts deleted file mode 100644 index 0315af06..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/refund-success.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class RefundSuccessListenerListener { - private readonly logger = new Logger(RefundSuccessListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('refund.success') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/request-utils.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/request-utils.listener.ts deleted file mode 100644 index 4226ed41..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/request-utils.listener.ts +++ /dev/null @@ -1,848 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class RequestUtilsListener { - private readonly logger = new Logger(RequestUtilsListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setApplicationContext - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setApplicationContext(event: any): Promise { - this.logger.log('收到事件: setApplicationContext', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setApplicationContext'); - } catch (error) { - this.logger.error('事件处理失败: setApplicationContext', error.stack); - throw error; - } - } - - /** - * getUserService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getUserService(event: any): Promise { - this.logger.log('收到事件: getUserService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: getUserService'); - } catch (error) { - this.logger.error('事件处理失败: getUserService', error.stack); - throw error; - } - } - - /** - * getMemberService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getMemberService(event: any): Promise { - this.logger.log('收到事件: getMemberService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: getMemberService'); - } catch (error) { - this.logger.error('事件处理失败: getMemberService', error.stack); - throw error; - } - } - - /** - * getCurrentUser - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getCurrentUser(event: any): Promise { - this.logger.log('收到事件: getCurrentUser', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: getCurrentUser'); - } catch (error) { - this.logger.error('事件处理失败: getCurrentUser', error.stack); - throw error; - } - } - - /** - * getCurrentMember - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getCurrentMember(event: any): Promise { - this.logger.log('收到事件: getCurrentMember', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: getCurrentMember'); - } catch (error) { - this.logger.error('事件处理失败: getCurrentMember', error.stack); - throw error; - } - } - - /** - * clearUserCache - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async clearUserCache(event: any): Promise { - this.logger.log('收到事件: clearUserCache', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: clearUserCache'); - } catch (error) { - this.logger.error('事件处理失败: clearUserCache', error.stack); - throw error; - } - } - - /** - * clearMemberCache - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async clearMemberCache(event: any): Promise { - this.logger.log('收到事件: clearMemberCache', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: clearMemberCache'); - } catch (error) { - this.logger.error('事件处理失败: clearMemberCache', error.stack); - throw error; - } - } - - /** - * clearAllUserRelatedCache - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async clearAllUserRelatedCache(event: any): Promise { - this.logger.log('收到事件: clearAllUserRelatedCache', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: clearAllUserRelatedCache'); - } catch (error) { - this.logger.error('事件处理失败: clearAllUserRelatedCache', error.stack); - throw error; - } - } - - /** - * defaultSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async defaultSiteId(event: any): Promise { - this.logger.log('收到事件: defaultSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: defaultSiteId'); - } catch (error) { - this.logger.error('事件处理失败: defaultSiteId', error.stack); - throw error; - } - } - - /** - * adminSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async adminSiteId(event: any): Promise { - this.logger.log('收到事件: adminSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: adminSiteId'); - } catch (error) { - this.logger.error('事件处理失败: adminSiteId', error.stack); - throw error; - } - } - - /** - * apiSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async apiSiteId(event: any): Promise { - this.logger.log('收到事件: apiSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: apiSiteId'); - } catch (error) { - this.logger.error('事件处理失败: apiSiteId', error.stack); - throw error; - } - } - - /** - * adminToken - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async adminToken(event: any): Promise { - this.logger.log('收到事件: adminToken', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: adminToken'); - } catch (error) { - this.logger.error('事件处理失败: adminToken', error.stack); - throw error; - } - } - - /** - * apiToken - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async apiToken(event: any): Promise { - this.logger.log('收到事件: apiToken', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: apiToken'); - } catch (error) { - this.logger.error('事件处理失败: apiToken', error.stack); - throw error; - } - } - - /** - * channel - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async channel(event: any): Promise { - this.logger.log('收到事件: channel', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: channel'); - } catch (error) { - this.logger.error('事件处理失败: channel', error.stack); - throw error; - } - } - - /** - * ip - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async ip(event: any): Promise { - this.logger.log('收到事件: ip', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: ip'); - } catch (error) { - this.logger.error('事件处理失败: ip', error.stack); - throw error; - } - } - - /** - * siteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async siteId(event: any): Promise { - this.logger.log('收到事件: siteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: siteId'); - } catch (error) { - this.logger.error('事件处理失败: siteId', error.stack); - throw error; - } - } - - /** - * setSiteId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setSiteId(event: any): Promise { - this.logger.log('收到事件: setSiteId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setSiteId'); - } catch (error) { - this.logger.error('事件处理失败: setSiteId', error.stack); - throw error; - } - } - - /** - * uid - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async uid(event: any): Promise { - this.logger.log('收到事件: uid', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: uid'); - } catch (error) { - this.logger.error('事件处理失败: uid', error.stack); - throw error; - } - } - - /** - * setUid - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setUid(event: any): Promise { - this.logger.log('收到事件: setUid', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setUid'); - } catch (error) { - this.logger.error('事件处理失败: setUid', error.stack); - throw error; - } - } - - /** - * memberId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async memberId(event: any): Promise { - this.logger.log('收到事件: memberId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: memberId'); - } catch (error) { - this.logger.error('事件处理失败: memberId', error.stack); - throw error; - } - } - - /** - * setMemberId - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setMemberId(event: any): Promise { - this.logger.log('收到事件: setMemberId', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理用户相关事件 - const userId = event.data.userId || event.data.id; - this.logger.debug(`处理用户事件,用户ID: ${userId}`); - - // 调用相关服务处理业务逻辑 - // 例如:发送通知、更新统计、同步缓存等 - - this.logger.log('事件处理完成: setMemberId'); - } catch (error) { - this.logger.error('事件处理失败: setMemberId', error.stack); - throw error; - } - } - - /** - * appType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async appType(event: any): Promise { - this.logger.log('收到事件: appType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: appType'); - } catch (error) { - this.logger.error('事件处理失败: appType', error.stack); - throw error; - } - } - - /** - * setAppType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setAppType(event: any): Promise { - this.logger.log('收到事件: setAppType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setAppType'); - } catch (error) { - this.logger.error('事件处理失败: setAppType', error.stack); - throw error; - } - } - - /** - * getRequestIpAddr - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getRequestIpAddr(event: any): Promise { - this.logger.log('收到事件: getRequestIpAddr', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getRequestIpAddr'); - } catch (error) { - this.logger.error('事件处理失败: getRequestIpAddr', error.stack); - throw error; - } - } - - /** - * setRequestIpAddr - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setRequestIpAddr(event: any): Promise { - this.logger.log('收到事件: setRequestIpAddr', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setRequestIpAddr'); - } catch (error) { - this.logger.error('事件处理失败: setRequestIpAddr', error.stack); - throw error; - } - } - - /** - * setRequestDomain - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setRequestDomain(event: any): Promise { - this.logger.log('收到事件: setRequestDomain', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setRequestDomain'); - } catch (error) { - this.logger.error('事件处理失败: setRequestDomain', error.stack); - throw error; - } - } - - /** - * getRequestDomain - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getRequestDomain(event: any): Promise { - this.logger.log('收到事件: getRequestDomain', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getRequestDomain'); - } catch (error) { - this.logger.error('事件处理失败: getRequestDomain', error.stack); - throw error; - } - } - - /** - * setRequestSecure - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setRequestSecure(event: any): Promise { - this.logger.log('收到事件: setRequestSecure', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setRequestSecure'); - } catch (error) { - this.logger.error('事件处理失败: setRequestSecure', error.stack); - throw error; - } - } - - /** - * getRequestSecure - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getRequestSecure(event: any): Promise { - this.logger.log('收到事件: getRequestSecure', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getRequestSecure'); - } catch (error) { - this.logger.error('事件处理失败: getRequestSecure', error.stack); - throw error; - } - } - - /** - * getReqeustURI - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getReqeustURI(event: any): Promise { - this.logger.log('收到事件: getReqeustURI', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getReqeustURI'); - } catch (error) { - this.logger.error('事件处理失败: getReqeustURI', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/resource-loader-context.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/resource-loader-context.listener.ts deleted file mode 100644 index 0b19ad00..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/resource-loader-context.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ResourceLoaderContextListener { - private readonly logger = new Logger(ResourceLoaderContextListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setResourceLoader - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setResourceLoader(event: any): Promise { - this.logger.log('收到事件: setResourceLoader', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setResourceLoader'); - } catch (error) { - this.logger.error('事件处理失败: setResourceLoader', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-admin-interceptor.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-admin-interceptor.listener.ts deleted file mode 100644 index 0072cae7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-admin-interceptor.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SaTokenAdminInterceptorListener { - private readonly logger = new Logger(SaTokenAdminInterceptorListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * preHandle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async preHandle(event: any): Promise { - this.logger.log('收到事件: preHandle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: preHandle'); - } catch (error) { - this.logger.error('事件处理失败: preHandle', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-api-interceptor.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-api-interceptor.listener.ts deleted file mode 100644 index f8c6a2ca..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-api-interceptor.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SaTokenApiInterceptorListener { - private readonly logger = new Logger(SaTokenApiInterceptorListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * preHandle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async preHandle(event: any): Promise { - this.logger.log('收到事件: preHandle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: preHandle'); - } catch (error) { - this.logger.error('事件处理失败: preHandle', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-interceptor.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-interceptor.listener.ts deleted file mode 100644 index 20948760..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sa-token-interceptor.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SaTokenInterceptorListener { - private readonly logger = new Logger(SaTokenInterceptorListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * preHandle - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async preHandle(event: any): Promise { - this.logger.log('收到事件: preHandle', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: preHandle'); - } catch (error) { - this.logger.error('事件处理失败: preHandle', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/shop-example-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/shop-example-event.listener.ts deleted file mode 100644 index b5d95396..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/shop-example-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ShopExampleEventListenerListener { - private readonly logger = new Logger(ShopExampleEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('example') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-customer.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-customer.listener.ts deleted file mode 100644 index c4a88442..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-customer.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ShowCustomerListenerListener { - private readonly logger = new Logger(ShowCustomerListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('show.customer') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-marketing.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-marketing.listener.ts deleted file mode 100644 index fb779b0e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/show-marketing.listener.ts +++ /dev/null @@ -1,200 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class ShowMarketingEnumListener { - private readonly logger = new Logger(ShowMarketingEnumListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * setApplicationContext - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async setApplicationContext(event: any): Promise { - this.logger.log('收到事件: setApplicationContext', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: setApplicationContext'); - } catch (error) { - this.logger.error('事件处理失败: setApplicationContext', error.stack); - throw error; - } - } - - /** - * getShowMarketingTools - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getShowMarketingTools(event: any): Promise { - this.logger.log('收到事件: getShowMarketingTools', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getShowMarketingTools'); - } catch (error) { - this.logger.error('事件处理失败: getShowMarketingTools', error.stack); - throw error; - } - } - - /** - * getAllAddonAndTool - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getAllAddonAndTool(event: any): Promise { - this.logger.log('收到事件: getAllAddonAndTool', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getAllAddonAndTool'); - } catch (error) { - this.logger.error('事件处理失败: getAllAddonAndTool', error.stack); - throw error; - } - } - - /** - * processSiteAddons - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('site.addAfter') - async processSiteAddons(event: any): Promise { - this.logger.log('收到事件: processSiteAddons', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: processSiteAddons'); - } catch (error) { - this.logger.error('事件处理失败: processSiteAddons', error.stack); - throw error; - } - } - - /** - * getAddonUrls - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getAddonUrls(event: any): Promise { - this.logger.log('收到事件: getAddonUrls', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getAddonUrls'); - } catch (error) { - this.logger.error('事件处理失败: getAddonUrls', error.stack); - throw error; - } - } - - /** - * getMarketing - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getMarketing(event: any): Promise { - this.logger.log('收到事件: getMarketing', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getMarketing'); - } catch (error) { - this.logger.error('事件处理失败: getMarketing', error.stack); - throw error; - } - } - - /** - * parseJsonToAppData - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async parseJsonToAppData(event: any): Promise { - this.logger.log('收到事件: parseJsonToAppData', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: parseJsonToAppData'); - } catch (error) { - this.logger.error('事件处理失败: parseJsonToAppData', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after-event.listener.ts deleted file mode 100644 index a34edb82..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SiteAddAfterEventListener { - private readonly logger = new Logger(SiteAddAfterEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after.listener.ts deleted file mode 100644 index 26527122..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-add-after.listener.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SiteAddAfterListenerListener { - private readonly logger = new Logger(SiteAddAfterListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * diyService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async diyService(event: any): Promise { - this.logger.log('收到事件: diyService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: diyService'); - } catch (error) { - this.logger.error('事件处理失败: diyService', error.stack); - throw error; - } - } - - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('site.add.after') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } - - /** - * createThemeColor - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async createThemeColor(event: any): Promise { - this.logger.log('收到事件: createThemeColor', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: createThemeColor'); - } catch (error) { - this.logger.error('事件处理失败: createThemeColor', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-edit-after-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-edit-after-event.listener.ts deleted file mode 100644 index 9a2a0f38..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/site-edit-after-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SiteEditAfterEventListener { - private readonly logger = new Logger(SiteEditAfterEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sms-send-notice-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sms-send-notice-event.listener.ts deleted file mode 100644 index 2b4f92cd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sms-send-notice-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SmsSendNoticeEventListenerListener { - private readonly logger = new Logger(SmsSendNoticeEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('send.notice') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sys-printer-print-ticket-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sys-printer-print-ticket-event.listener.ts deleted file mode 100644 index e1770178..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/sys-printer-print-ticket-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SysPrinterPrintTicketEventListener { - private readonly logger = new Logger(SysPrinterPrintTicketEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/system-restart.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/system-restart.listener.ts deleted file mode 100644 index f9ffe152..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/system-restart.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class SystemRestartListenerListener { - private readonly logger = new Logger(SystemRestartListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test-event.listener.ts deleted file mode 100644 index 0363c67a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class TestEventListener { - private readonly logger = new Logger(TestEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test.listener.ts deleted file mode 100644 index f844a1ab..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/test.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class TestListenerListener { - private readonly logger = new Logger(TestListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('test') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success-event.listener.ts deleted file mode 100644 index b91f86ab..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success-event.listener.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class TransferSuccessEventListener { - private readonly logger = new Logger(TransferSuccessEventListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - // 无方法 -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success.listener.ts deleted file mode 100644 index d268f8ee..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/transfer-success.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class TransferSuccessListenerListener { - private readonly logger = new Logger(TransferSuccessListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('transfer.success') - async handleEvent(event: any): Promise { - this.logger.log('收到事件: handleEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleEvent'); - } catch (error) { - this.logger.error('事件处理失败: handleEvent', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/unknown-class.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/unknown-class.listener.ts deleted file mode 100644 index 8ff15eab..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/unknown-class.listener.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class UnknownClassListener { - private readonly logger = new Logger(UnknownClassListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * onApplicationEvent - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('application.ready') - async onApplicationEvent(event: any): Promise { - this.logger.log('收到事件: onApplicationEvent', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: onApplicationEvent'); - } catch (error) { - this.logger.error('事件处理失败: onApplicationEvent', error.stack); - throw error; - } - } - - /** - * initialize - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async initialize(event: any): Promise { - this.logger.log('收到事件: initialize', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: initialize'); - } catch (error) { - this.logger.error('事件处理失败: initialize', error.stack); - throw error; - } - } - - /** - * scanner - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scanner(event: any): Promise { - this.logger.log('收到事件: scanner', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scanner'); - } catch (error) { - this.logger.error('事件处理失败: scanner', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-qrcode.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-qrcode.listener.ts deleted file mode 100644 index bcf03dee..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-qrcode.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class WeappQrcodeListenerListener { - private readonly logger = new Logger(WeappQrcodeListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('get.qrcode.of.channel') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-send-notice-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-send-notice-event.listener.ts deleted file mode 100644 index 096fd368..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/weapp-send-notice-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class WeappSendNoticeEventListenerListener { - private readonly logger = new Logger(WeappSendNoticeEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('send.notice') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-qrcode.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-qrcode.listener.ts deleted file mode 100644 index 3a1be10a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-qrcode.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class WechatQrcodeListenerListener { - private readonly logger = new Logger(WechatQrcodeListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('get.qrcode.of.channel') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-send-notice-event.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-send-notice-event.listener.ts deleted file mode 100644 index 3482fb59..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechat-send-notice-event.listener.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class WechatSendNoticeEventListenerListener { - private readonly logger = new Logger(WechatSendNoticeEventListenerListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * handleCallback - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('send.notice') - async handleCallback(event: any): Promise { - this.logger.log('收到事件: handleCallback', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleCallback'); - } catch (error) { - this.logger.error('事件处理失败: handleCallback', error.stack); - throw error; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechatpay.listener.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechatpay.listener.ts deleted file mode 100644 index f2d9d069..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/listeners/wechatpay.listener.ts +++ /dev/null @@ -1,815 +0,0 @@ -import { Injectable, Logger } from '@nestjs/common'; -import { OnEvent } from '@nestjs/event-emitter'; -import { EventBus } from '@wwjBoot'; - -@Injectable() -export class WechatpayListener { - private readonly logger = new Logger(WechatpayListener.name); - - constructor( - private readonly eventBus: EventBus - ) {} - /** - * corePayService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async corePayService(event: any): Promise { - this.logger.log('收到事件: corePayService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: corePayService'); - } catch (error) { - this.logger.error('事件处理失败: corePayService', error.stack); - throw error; - } - } - - /** - * coreRefundService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async coreRefundService(event: any): Promise { - this.logger.log('收到事件: coreRefundService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreRefundService'); - } catch (error) { - this.logger.error('事件处理失败: coreRefundService', error.stack); - throw error; - } - } - - /** - * coreTransferService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async coreTransferService(event: any): Promise { - this.logger.log('收到事件: coreTransferService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreTransferService'); - } catch (error) { - this.logger.error('事件处理失败: coreTransferService', error.stack); - throw error; - } - } - - /** - * payTransferMapper - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async payTransferMapper(event: any): Promise { - this.logger.log('收到事件: payTransferMapper', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: payTransferMapper'); - } catch (error) { - this.logger.error('事件处理失败: payTransferMapper', error.stack); - throw error; - } - } - - /** - * coreTransferSceneService - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async coreTransferSceneService(event: any): Promise { - this.logger.log('收到事件: coreTransferSceneService', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: coreTransferSceneService'); - } catch (error) { - this.logger.error('事件处理失败: coreTransferSceneService', error.stack); - throw error; - } - } - - /** - * init - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async init(event: any): Promise { - this.logger.log('收到事件: init', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: init'); - } catch (error) { - this.logger.error('事件处理失败: init', error.stack); - throw error; - } - } - - /** - * app - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async app(event: any): Promise { - this.logger.log('收到事件: app', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: app'); - } catch (error) { - this.logger.error('事件处理失败: app', error.stack); - throw error; - } - } - - /** - * pay - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async pay(event: any): Promise { - this.logger.log('收到事件: pay', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: pay'); - } catch (error) { - this.logger.error('事件处理失败: pay', error.stack); - throw error; - } - } - - /** - * appPay - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async appPay(event: any): Promise { - this.logger.log('收到事件: appPay', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: appPay'); - } catch (error) { - this.logger.error('事件处理失败: appPay', error.stack); - throw error; - } - } - - /** - * mp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async mp(event: any): Promise { - this.logger.log('收到事件: mp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: mp'); - } catch (error) { - this.logger.error('事件处理失败: mp', error.stack); - throw error; - } - } - - /** - * miniapp - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async miniapp(event: any): Promise { - this.logger.log('收到事件: miniapp', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: miniapp'); - } catch (error) { - this.logger.error('事件处理失败: miniapp', error.stack); - throw error; - } - } - - /** - * h5 - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async h5(event: any): Promise { - this.logger.log('收到事件: h5', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: h5'); - } catch (error) { - this.logger.error('事件处理失败: h5', error.stack); - throw error; - } - } - - /** - * web - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async web(event: any): Promise { - this.logger.log('收到事件: web', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: web'); - } catch (error) { - this.logger.error('事件处理失败: web', error.stack); - throw error; - } - } - - /** - * scan - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async scan(event: any): Promise { - this.logger.log('收到事件: scan', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: scan'); - } catch (error) { - this.logger.error('事件处理失败: scan', error.stack); - throw error; - } - } - - /** - * close - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async close(event: any): Promise { - this.logger.log('收到事件: close', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: close'); - } catch (error) { - this.logger.error('事件处理失败: close', error.stack); - throw error; - } - } - - /** - * asyncNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async asyncNotify(event: any): Promise { - this.logger.log('收到事件: asyncNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: asyncNotify'); - } catch (error) { - this.logger.error('事件处理失败: asyncNotify', error.stack); - throw error; - } - } - - /** - * payNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async payNotify(event: any): Promise { - this.logger.log('收到事件: payNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: payNotify'); - } catch (error) { - this.logger.error('事件处理失败: payNotify', error.stack); - throw error; - } - } - - /** - * handlePayStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async handlePayStatus(event: any): Promise { - this.logger.log('收到事件: handlePayStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: handlePayStatus'); - } catch (error) { - this.logger.error('事件处理失败: handlePayStatus', error.stack); - throw error; - } - } - - /** - * refundNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refundNotify(event: any): Promise { - this.logger.log('收到事件: refundNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refundNotify'); - } catch (error) { - this.logger.error('事件处理失败: refundNotify', error.stack); - throw error; - } - } - - /** - * transferNotify - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferNotify(event: any): Promise { - this.logger.log('收到事件: transferNotify', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferNotify'); - } catch (error) { - this.logger.error('事件处理失败: transferNotify', error.stack); - throw error; - } - } - - /** - * getRequestBody - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getRequestBody(event: any): Promise { - this.logger.log('收到事件: getRequestBody', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getRequestBody'); - } catch (error) { - this.logger.error('事件处理失败: getRequestBody', error.stack); - throw error; - } - } - - /** - * getRequestHeader - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async getRequestHeader(event: any): Promise { - this.logger.log('收到事件: getRequestHeader', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: getRequestHeader'); - } catch (error) { - this.logger.error('事件处理失败: getRequestHeader', error.stack); - throw error; - } - } - - /** - * transfer - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transfer(event: any): Promise { - this.logger.log('收到事件: transfer', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transfer'); - } catch (error) { - this.logger.error('事件处理失败: transfer', error.stack); - throw error; - } - } - - /** - * transferCancel - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferCancel(event: any): Promise { - this.logger.log('收到事件: transferCancel', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferCancel'); - } catch (error) { - this.logger.error('事件处理失败: transferCancel', error.stack); - throw error; - } - } - - /** - * transferQuery - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async transferQuery(event: any): Promise { - this.logger.log('收到事件: transferQuery', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: transferQuery'); - } catch (error) { - this.logger.error('事件处理失败: transferQuery', error.stack); - throw error; - } - } - - /** - * handleTransferStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.transfer') - async handleTransferStatus(event: any): Promise { - this.logger.log('收到事件: handleTransferStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleTransferStatus'); - } catch (error) { - this.logger.error('事件处理失败: handleTransferStatus', error.stack); - throw error; - } - } - - /** - * refund - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async refund(event: any): Promise { - this.logger.log('收到事件: refund', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: refund'); - } catch (error) { - this.logger.error('事件处理失败: refund', error.stack); - throw error; - } - } - - /** - * handleRefundStatus - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('pay.refund') - async handleRefundStatus(event: any): Promise { - this.logger.log('收到事件: handleRefundStatus', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理事件业务逻辑 - const eventId = event.data.id; - this.logger.debug(`处理事件,ID: ${eventId}`); - - this.logger.log('事件处理完成: handleRefundStatus'); - } catch (error) { - this.logger.error('事件处理失败: handleRefundStatus', error.stack); - throw error; - } - } - - /** - * filterPayTypeByTradeType - * - */ - // @ts-ignore - TypeScript装饰器类型推断问题 - @OnEvent('default.event') - async filterPayTypeByTradeType(event: any): Promise { - this.logger.log('收到事件: filterPayTypeByTradeType', event); - - try { - // 验证事件数据 - if (!event || !event.data) { - this.logger.warn('事件数据为空,跳过处理'); - return; - } - - // 处理支付相关事件 - const paymentId = event.data.paymentId || event.data.id; - this.logger.debug(`处理支付事件,支付ID: ${paymentId}`); - - // 调用相关服务处理业务逻辑 - // 例如:更新订单状态、记录流水、发送回调等 - - this.logger.log('事件处理完成: filterPayTypeByTradeType'); - } catch (error) { - this.logger.error('事件处理失败: filterPayTypeByTradeType', error.stack); - throw error; - } - } -} 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 deleted file mode 100644 index 140e4bd5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Module, DynamicModule } from '@nestjs/common'; -import { EntityModule } from './entity.module'; -import * as fs from 'fs'; -import * as path from 'path'; - -/** - * ServiceModule - 服务模块 - * 🚀 使用动态导入自动加载所有服务 - * 符合NestJS官方规范 - * 自动注册158个服务 - */ -@Module({}) -export class ServiceModule { - static register(): DynamicModule { - const services = this.loadAllServices(); - - return { - module: ServiceModule, - imports: [EntityModule], - providers: services, - exports: services, - }; - } - - /** - * 动态加载所有服务 - */ - private static loadAllServices(): any[] { - const services: any[] = []; - const servicesDir = path.join(__dirname, 'services'); - - if (!fs.existsSync(servicesDir)) { - return services; - } - - // 递归扫描所有.service.ts文件 - this.scanDirectory(servicesDir, services); - - return services; - } - - /** - * 递归扫描目录 - */ - private static scanDirectory(dir: string, services: any[]): void { - const files = fs.readdirSync(dir); - - for (const file of files) { - const fullPath = path.join(dir, file); - const stat = fs.statSync(fullPath); - - if (stat.isDirectory()) { - // 递归扫描子目录 - this.scanDirectory(fullPath, services); - } else if (file.endsWith('.service.ts') || file.endsWith('.service.js')) { - try { - // 动态导入服务 - const relativePath = path.relative(__dirname, fullPath).replace(/\\/g, '/').replace(/\.(ts|js)$/, ''); - const serviceModule = require(`./${relativePath}`); - - // 获取导出的服务类 - const ServiceClass = serviceModule.default || Object.values(serviceModule)[0]; - - if (ServiceClass) { - services.push(ServiceClass); - } - } catch (error) { - console.warn(`⚠️ 加载服务失败: ${fullPath}`, error.message); - } - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-build-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-build-service-impl.service.ts deleted file mode 100644 index 205481cd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-build-service-impl.service.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService } from '@wwjBoot'; -import * as fs from 'fs'; -import * as path from 'path'; - -@Injectable() -export class AddonDevelopBuildServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * build - */ - async build(...args: any[]): Promise { - if (this.appConfig.runActive !== "dev") throw new BadRequestException("只有在开发环境下才可以进行打包操作"); - - if (!fs.existsSync(this.appConfig.projectNiucloudAddon + addon)) throw new BadRequestException("插件不存在"); - const infoFile: string = this.appConfig.projectNiucloudAddon + addon + "/src/main/resources/info.json"; - if (!fs.existsSync(infoFile)) throw new BadRequestException("插件不存在"); - - this.addon = addon; - this.addonPath = this.appConfig.webRootDownAddon + addon + "/"; - - try { - for (const child of this.addonPath.listFiles()) { - if (fs.statSync(child).isDirectory() && !path.basename(child) === "sql") fs.rmSync(child, { recursive: true, force: true }); - } - fs.copyFileSync(infoFile, this.addonPath + "info.json"); - } catch (e) { - throw new BadRequestException(e.message); - } - - this.admin(); - this.web(); - this.uniapp(); - this.java(); - this.jar(); - this.resource(); - this.buildUniappLangJson(); - this.buildUniappPagesJson(); - this.menu("site"); - this.menu("admin"); - // 生成压缩包 - this.compressor(); - } - - /** - * download - */ - async download(...args: any[]): Promise { - const file: string = this.appConfig.webRootDownResource + "temp/" + key + ".zip"; - if (!fs.existsSync(file)) throw new BadRequestException("请先打包插件"); - return file.path.replace(this.appConfig.projectRoot, ""); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-service-impl.service.ts deleted file mode 100644 index b06192be..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-develop-service-impl.service.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; -import * as path from 'path'; - -@Injectable() -export class AddonDevelopServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const list: AddonDevelopListVo[] = []; - - try { - // 获取已安装的插件 - const installAddonList: Record = this.coreAddonService.getInstallAddonList(); - - // 获取本地所有的插件 - const localAddons: string[] = fs.readdirSync(this.appConfig.webRootDownAddon) - .map(path => path.toFile()) - .filter(file => fs.statSync(file).isDirectory()) - ; - - for (const file of localAddons) { - if (fs.existsSync(file, "info.json")) { - const info: Record = JsonUtils.parseObject(JsonUtils.parseObject(fs.readFileSync(path.join(file, "info.json"), 'utf-8'))); - const addon: string = info.getStr("key"); - const addonDevelopListVo: AddonDevelopListVo = Object.assign(new AddonDevelopListVo(), info) /* TODO: 检查AddonDevelopListVo构造函数 */; - if (installAddonList.get(addon) != null) addonDevelopListVo.setInstallInfo(installAddonList.get(addon)); - addonDevelopListVo.icon = fs.readFileSync(file + "/resource/icon.png", 'base64'); - addonDevelopListVo.cover = fs.readFileSync(file + "/resource/cover.png", 'base64'); - list.push(addonDevelopListVo); - } - } - - if (CommonUtils.isNotEmpty(searchParam.search) && list.length > 0) { - list = list.filter(addonDevelopListVo => addonDevelopListVo.title.includes(searchParam.search)); - } - } catch (e) { - console.error(e); - } - - return list; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const infoFile: string = this.appConfig.webRootDownAddon + key + "/info.json"; - if (!fs.existsSync(infoFile)) return null; - - const info: Record = JsonUtils.parseObject(JsonUtils.parseObject(fs.readFileSync(path.join(infoFile)); - const addonDevelopInfoVo: AddonDevelopInfoVo = Object.assign(new AddonDevelopInfoVo(), info), 'utf-8')) /* TODO: 检查AddonDevelopInfoVo构造函数 */; - - return addonDevelopInfoVo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const infoFile: string = this.appConfig.webRootDownAddon + param.getKey( + "/info.json"); - if (fs.existsSync(infoFile)) throw new BadRequestException("已存在相同插件标识的应用"); - - this.generateFile(param); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const infoFile: string = this.appConfig.webRootDownAddon + param.getKey( + "/info.json"); - if (!fs.existsSync(infoFile)) throw new BadRequestException("插件不存在"); - - this.generateFile(param); - - const addon: Addon = this.coreAddonService.getInfoByKey(param.key); - if (addon != null) { - const model: Addon = new Addon(); - model.title = param.title; - model.version = param.version; - model.desc = param.desc; - model.icon = param.icon; - model.key = param.key; - model.type = param.type; - model.supportApp = param.getSupportApp(); - this.coreAddonService.set(model); - } - } - - /** - * del - */ - async del(...args: any[]): Promise { - const infoFile: string = this.appConfig.webRootDownAddon + key + "/info.json"; - if (!fs.existsSync(infoFile)) throw new BadRequestException("插件不存在"); - - const addon: Addon = this.coreAddonService.getInfoByKey(key); - if (addon != null) throw new BadRequestException("已安装的插件不允许删除"); - - try { - fs.rmSync(this.appConfig.webRootDownAddon + key, { recursive: true, force: true }); - } catch (e) { - console.error(e); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-log-service-impl.service.ts deleted file mode 100644 index 3303b96a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-log-service-impl.service.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class AddonLogServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [AddonLog[], number] iPage = this.addonLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - const list: AddonLogListVo[] = []; - for (const item of iPageRecords) { - const vo: AddonLogListVo = new AddonLogListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page,limit, iPageTotal).setData(list); - } - - /** - * detail - */ - async detail(...args: any[]): Promise { - const model: AddonLog = this.addonLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: AddonLogInfoVo = new AddonLogInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: AddonLog = new AddonLog(); - model.action = AddonLogParam.action; - model.key = AddonLogParam.key; - model.fromVersion = AddonLogParam.fromVersion; - model.toVersion = AddonLogParam.toVersion; - model.createTime = Date.now( / 1000); - this.addonLogRepository.save(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: AddonLog = this.addonLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.addonLogRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-service-impl.service.ts deleted file mode 100644 index 39faa9ad..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/addon/impl/addon-service-impl.service.ts +++ /dev/null @@ -1,279 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService } from '@wwjBoot'; -import * as fs from 'fs'; -import * as path from 'path'; - -@Injectable() -export class AddonServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getLocalAddonList - */ - async getLocalAddonList(...args: any[]): Promise { - const vo: LocalAddonListVo = new LocalAddonListVo(); - - const list: Record = new const installAddonList: Record<>(); - - // 获取已安装的插件 - Record = this.this.CoreAddonService.getInstallAddonList(); - - try { - const moduleList: ModuleListVo[] = this.niucloudService.getModuleList(); - - for (const item of moduleList) { - ModuleListVo.const app: App = item.getApp(); - const addonInfoVo: LocalAddonInfoVo = new LocalAddonInfoVo(); - addonInfoVo.title = app.appName; - addonInfoVo.desc = app.appDesc; - addonInfoVo.key = app.appKey; - addonInfoVo.setAuthor(item.getSiteName()); - addonInfoVo.version = item.version; - addonInfoVo.setIsLocal(false); - addonInfoVo.setIsDownload(false); - addonInfoVo.type = app.appType; - addonInfoVo.icon = app.appLogo; - addonInfoVo.cover = app.windowLogo[0]; - list.put(app.appKey, addonInfoVo); - } - - // 获取本地所有的插件 - const localAddons: string[] = fs.readdirSync(this.appConfig.webRootDownAddon) - .map(path => path.toFile()) - .filter(file => fs.statSync(file).isDirectory()) - ; - - for (const file of localAddons) { - if (fs.existsSync(file, "info.json")) { - const info: Record = JsonUtils.parseObject(JsonUtils.parseObject(fs.readFileSync(path.join(file, "info.json"), 'utf-8'))); - const addon: string = info.getStr("key"); - if (list.get(addon) != null) { - const addonInfoVo: LocalAddonInfoVo = list.get(addon); - addonInfoVo.setIsDownload(true); - addonInfoVo.setIsLocal(false); - if (installAddonList.get(addon) != null) { - addonInfoVo.setInstallInfo(installAddonList.get(addon)); - } - list.put(addon, addonInfoVo); - } else { - const localAddonInfoVo: LocalAddonInfoVo = Object.assign(new LocalAddonInfoVo(), info) /* TODO: 检查LocalAddonInfoVo构造函数 */; - localAddonInfoVo.setIsLocal(true); - localAddonInfoVo.setIsDownload(true); - if (installAddonList.get(addon) != null) - localAddonInfoVo.setInstallInfo(installAddonList.get(addon)); - localAddonInfoVo.icon = fs.readFileSync(file + "/resource/icon.png", 'base64'); - localAddonInfoVo.cover = fs.readFileSync(file + "/resource/cover.png", 'base64'); - list.put(addon, localAddonInfoVo); - } - } - } - } catch (e) { - console.error(e); - vo.error = e.message; - } - - vo.setList(list); - return vo; - } - - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - [Addon[], number] iPage = this.addonRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: AddonListVo[] = []; - for (const item of iPageRecords) { - const vo: AddonListVo = new AddonListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: Addon = this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: AddonInfoVo = new AddonInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: Addon = new Addon(); - - model.createTime = Date.now( / 1000); - model.setInstallTime(addonParam.getInstallTime()); - model.updateTime = Date.now( / 1000); - model.cover = addonParam.cover; - model.type = addonParam.type; - model.supportApp = addonParam.getSupportApp(); - model.setIsStar(addonParam.getIsStar()); - model.setCompile(String.join(",", addonParam.getCompile())); - // BeanUtil.copyProperties(sysPositionEditParam, sysPosition); - this.addonRepository.save(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.addonRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * install - */ - async install(...args: any[]): Promise { - return this.this.CoreAddonInstallService.install(addon, mode); - } - - /** - * getInstallTask - */ - async getInstallTask(...args: any[]): Promise { - return this.this.CoreAddonInstallService.getInstallTask(); - } - - /** - * cancleInstall - */ - async cancleInstall(...args: any[]): Promise { - this.this.CoreAddonInstallService.cancleInstall(); - } - - /** - * installCheck - */ - async installCheck(...args: any[]): Promise { - return this.this.CoreAddonInstallService.installCheck(addon); - } - - /** - * uninstall - */ - async uninstall(...args: any[]): Promise { - return this.this.CoreAddonInstallService.uninstall(addon); - } - - /** - * uninstallCheck - */ - async uninstallCheck(...args: any[]): Promise { - return this.this.CoreAddonInstallService.uninstallCheck(addon); - } - - /** - * getTitleListByKey - */ - async getTitleListByKey(...args: any[]): Promise { - const jsonKey: JSONArray = JSONUtil.parseArray(keys); - const jsonArray: JSONArray = new JSONArray(); - if(jsonKey.length>0){ - const keyList: string[] = jsonKey.toList(String.class); - const addonList: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - for (const addon of addonList) { - jsonArray.put(addon.title); - } - } - return jsonArray.toString(); - } - - /** - * getAddonListByKeys - */ - async getAddonListByKeys(...args: any[]): Promise { - return cached.rememberObject(useCache, cacheTagName, ["getAddonListByKeys", addonKeys, type], uniqueKey => { - - any /* TODO: QueryWrapper */ query = new QueryWrapper(); - if(type === "") - { - query.in("`key`", addonKeys); - }else{ - query.in("`key`", addonKeys).eq("type", type); - } - return this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - }); - } - - /** - * download - */ - async download(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const actionQuery: Record = new const query: Record<>(); - actionQuery.put("data[app_key]", addon); - actionQuery.put("data[version]", version); - actionQuery.put("data[product_key]", instance.getProductKey()); - const actionToken: Record = this.niucloudService.getActionToken("download", actionQuery); - - Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("addon_name", addon); - query.put("version", version); - query.put("token", actionToken == null ? "" : actionToken.getStr("token")); - - const headResponse: HttpResponse = new NiucloudUtils.Cloud().build("cloud/download").header("Range", "bytes=0-").query(query).method(Method.HEAD).execute(); - const totalLength: string = headResponse.header("Content-range"); - const length: string = totalLength.split("/")[1]; - - const downloadDir: string = this.appConfig.webRootDownResource + "download/"; - FileTools.createDirs(downloadDir); - - const file: string = downloadDir + addon + ".zip"; - if (fs.existsSync(file)) file.delete(); - - const response: HttpResponse = new NiucloudUtils.Cloud().build("cloud/download").header("Range", "bytes=0-" + length).query(query).method(Method.GET).execute(); - - try (const fos: FileOutputStream = new FileOutputStream(file)) { - fos.write(response.bodyBytes()); - ZipUtil.unzip(file.path, this.appConfig.webRootDownAddon, Charset.forName(System.getProperty("sun.jnu.encoding"))); - } catch (e) { - console.error(e); - throw new BadRequestException(e.message); - } - } - - /** - * getIndexAddonList - */ - async getIndexAddonList(...args: any[]): Promise { - const params: Record = {}; - const config: NiucloudConfigVo = this.coreNiucloudConfigService.getNiucloudConfig(); - params.put("code", config.getAuthCode()); - params.put("secret", config.getAuthSecret()); - params.put("labels", param.getLabelId()); - params.put("product_key", "sass"); - params.put("is_recommend", 1); - params.put("order_field", "sale_num desc, visit_num desc"); - const jsonObject: Record = NiucloudUtils.Niucloud.get("store/app", params); - const data: Record = jsonObject.getRecord("data"); - return data.getJSONArray("data"); - } - - /** - * cloudInstallLog - */ - async cloudInstallLog(...args: any[]): Promise { - return this.this.CoreAddonInstallService.cloudInstallLog(addon); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/aliapp/impl/aliapp-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/aliapp/impl/aliapp-config-service-impl.service.ts deleted file mode 100644 index 33f9a4c9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/aliapp/impl/aliapp-config-service-impl.service.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class AliappConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAliappConfig - */ - async getAliappConfig(...args: any[]): Promise { - return this.coreAliappConfigService.getAliappConfig(this.requestContext.siteId); - } - - /** - * setAliappConfig - */ - async setAliappConfig(...args: any[]): Promise { - this.coreAliappConfigService.setAliappConfig(this.requestContext.siteId, aliappConfigParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/auth-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/auth-service-impl.service.ts deleted file mode 100644 index af7ea0c8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/auth-service-impl.service.ts +++ /dev/null @@ -1,209 +0,0 @@ -import { Injectable, BadRequestException, UnauthorizedException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class AuthServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * checkSiteAuth - */ - async checkSiteAuth(...args: any[]): Promise { - const uid: number = RequestUtils.uid(); - - //设置当前操作站点id - const siteId: number = this.requestContext.siteId; - RequestUtils.siteId = siteId; - - //缓存站点信息数据 - const siteinfo: SiteInfoVo = this.siteService.info(siteId); - //站点不存在 抛出异常 - if (siteinfo == null) { - throw new UnauthorizedException("SITE_NOT_EXIST", 400); - } - //没有当前站点的信息 - if (!isSuperAdmin() && ObjectUtil.isNotNull(uid) && uid > 0) { - const sysUserRoleInfoVo: SysUserRoleInfoVo = this.sysUserRoleService.getUserRole(siteId, uid); - if (sysUserRoleInfoVo == null) { - throw new UnauthorizedException("NO_SITE_PERMISSION", 400); - } - } - RequestUtils.setAppType(siteinfo.appType); - } - - /** - * isSuperAdmin - */ - async isSuperAdmin(...args: any[]): Promise { - const siteId: number = RequestUtils.defaultSiteId(); - const uid: number = RequestUtils.uid(); - const superAdminUid: number = cached.tag("adminAuth").get("superAdminUid"); - if (ObjectUtil.isNotNull(superAdminUid) && CommonUtils.isNotEmpty(superAdminUid) && superAdminUid > 0) { - return superAdminUid === uid; - } else { - const sysUserRole: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("is_admin", 1).last(" limit 1")); - cached.tag("adminAuth").put("superAdminUid", sysUserRole.getUid()); - return sysUserRole.getUid() === uid; - } - } - - /** - * checkRole - */ - async checkRole(...args: any[]): Promise { - //当前访问的路由地址 - const rule: string = RequestUtils.getReqeustURI(); - const method: string = RequestUtils.getRequestMethod(); - - //缓存站点信息数据 - const siteinfo: SiteInfoVo = this.siteService.info(this.requestContext.siteId); - if (method !== "get") { - if (siteinfo.status === SiteStatusEnum.EXPIRE.getCode()) { - throw new UnauthorizedException("站点已打烊,续费后可继续使用此项功能", 400); - } - if (siteinfo.status === SiteStatusEnum.CLOSE.getCode()) { - throw new UnauthorizedException("站点已停止", 400); - } - } - - Map allMenuList = this.sysMenuService.getAllApiList(RequestUtils.appType(), 100); - const menulist: string[] = allMenuList.get(method); - const is_exists: number = menulist.indexOf(rule); - - //判断当前访问的接口是否收到权限的限制 - if (is_exists < 0) { - Map otherMenuList = this.sysMenuService.getAllApiList(RequestUtils.appType() === AppTypeEnum.path.basename(ADMIN) ? AppTypeEnum.path.basename(SITE) : AppTypeEnum.path.basename(ADMIN), 100); - const methodMenuList: string[] = otherMenuList.get(method); - const is_method_exists: number = methodMenuList.indexOf(rule); - if (is_method_exists > 0) { - throw new UnauthorizedException("NO_PERMISSION", 400); - } - } - Map roleMenuList = this.getAuthApiList(); - /*if(roleMenuList.get(method).size()<=0 || roleMenuList.get(method).indexOf(rule)<=0){ - throw new UnauthorizedException("NO_PERMISSION"); - }*/ - } - - /** - * checkIsDemo - */ - async checkIsDemo(...args: any[]): Promise { - const method: string = RequestUtils.getRequestMethod(); - - if (method !== "get" && this.appConfig.isDemo) { - throw new BadRequestException("演示环境不允许操作"); - } - } - - /** - * getAuthMenuTreeList - */ - async getAuthMenuTreeList(...args: any[]): Promise { - const isAdmin: number = 0; - const siteId: number = this.requestContext.siteId; - const uid: number = RequestUtils.uid(); - const appType: string = RequestUtils.appType(); - Map authApi = {}; - const sysUserRoleInfoVo: SysUserRoleInfoVo = new SysUserRoleInfoVo(); - const menuList: SysMenu[] = []; - if (isSuperAdmin()) { - isAdmin = 1; - } else { - sysUserRoleInfoVo = this.sysUserRoleService.getUserRole(siteId, uid); - if (ObjectUtil.isNull(sysUserRoleInfoVo)) { - return new JSONArray(); - } - isAdmin = sysUserRoleInfoVo.getIsAdmin();//是否是超级管理员 - } - if (isAdmin > 0) { - menuList = this.sysMenuService.getMenuListByCondition(appType, siteId, 1, 0, [], addon); - } else { - const roleIdList: string[] = JSONUtil.toList(JSONUtil.parseArray(sysUserRoleInfoVo.getRoleIds()), String.class); - const menuKeyList: string[] = this.sysRoleService.getMenuIdsByRoleIds(siteId, roleIdList); - menuList = this.sysMenuService.getMenuListByCondition(appType, siteId, 100, 0, menuKeyList, addon); - } - - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(menuList)); - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - } - - /** - * getAuthUserInfo - */ - async getAuthUserInfo(...args: any[]): Promise { - const uid: number = RequestUtils.uid(); - const userInfo: SysUserDetailVo = this.sysUserService.info(uid); - if (userInfo == null) return null; - - const vo: AuthUserInfoVo = new AuthUserInfoVo(); - BeanUtil.copyProperties(userInfo, vo); - return vo; - // MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - // userRoleMPJQueryWrapper.select("sur.id, su.username, su.head_img, su.real_name, su.last_ip, su.last_time, su.login_count, sur.uid, sur.site_id, sur.role_ids, sur.create_time, sur.is_admin, sur.status") - // .setAlias("sur") - // .leftJoin("?_sys_user su ON sur.uid = su.uid".replace("?_", this.appConfig.tablePrefix)); - // userRoleMPJQueryWrapper.eq("sur.uid", uid); - // userRoleMPJQueryWrapper.eq("sur.site_id", siteId); - // const authUserInfoVo: AuthUserInfoVo = sysUserRoleMapper.selectJoinOne(AuthUserInfoVo.class, userRoleMPJQueryWrapper); - // if(ObjectUtil.isNotNull(authUserInfoVo)) - // { - // authUserInfoVo.setStatusName(""); - // } - // - // return authUserInfoVo; - } - - /** - * editAuth - */ - async editAuth(...args: any[]): Promise { - if (ObjectUtil.isNotNull(editAuthUserParam.getPassword()) && CommonUtils.isNotEmpty(editAuthUserParam.getPassword())) { - const sysUser: SysUser = this.sysUserService.find(RequestUtils.uid()); - if (!PasswordEncipher.matche(editAuthUserParam.getOriginalPassword(), sysUser.getPassword())) { - throw new UnauthorizedException("OLD_PASSWORD_ERROR"); - } - } - const sysUserParam: SysUserParam = new SysUserParam(); - sysUserParam.setHeadImg(editAuthUserParam.getHeadImg()); - sysUserParam.setRealName(editAuthUserParam.getRealName()); - sysUserParam.setPassword(editAuthUserParam.getPassword()); - this.sysUserService.edit(RequestUtils.uid(), sysUserParam); - } - - /** - * addUserLog - */ - async addUserLog(...args: any[]): Promise { - if (RequestUtils.getRequestMethod() === "get") return; - - try { - const model: SysUserLog = new SysUserLog(); - model.siteId = this.requestContext.siteId; - model.setUid(RequestUtils.uid()); - model.setIp(RequestUtils.ip()); - model.setUsername(StpUtil.getExtra("userName").toString()); - model.url = RequestUtils.getReqeustURI(); - model.setParams("{}"); - model.type = RequestUtils.getRequestMethod(); - model.createTime = Date.now( / 1000); - model.setOperation(getDescription(request)); - this.sysUserLogRepository.save(model); - } catch (e) { - } - } - - /** - * setIsAllowChangeSite - */ - async setIsAllowChangeSite(...args: any[]): Promise { - this.coreConfigService.setConfig(0,"IS_ALLOW_CHANGE_SITE", JsonUtils.parseObject(param)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/config-service-impl.service.ts deleted file mode 100644 index 4e29a364..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/config-service-impl.service.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class ConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getLoginConfig - */ - async getLoginConfig(...args: any[]): Promise { - const defaultSiteId: number = RequestUtils.defaultSiteId(); - const sysConfig: Record = this.coreConfigService.getConfigValue(defaultSiteId, ConfigKeyEnum.path.basename(ADMIN_LOGIN)); - return Object.assign(new LoginConfigVo(), sysConfig) /* TODO: 检查LoginConfigVo构造函数 */; - } - - /** - * setLoginConfig - */ - async setLoginConfig(...args: any[]): Promise { - const jsonObject: Record = new Record(); - jsonObject.set("is_captcha", loginConfigParam.getIsCaptcha()); - jsonObject.set("is_site_captcha", loginConfigParam.getIsSiteCaptcha()); - jsonObject.set("bg", loginConfigParam.getBg()); - jsonObject.set("site_bg", loginConfigParam.getSiteBg()); - this.coreConfigService.setConfig(this.requestContext.siteId, ConfigKeyEnum.path.basename(ADMIN_LOGIN), jsonObject); - } -} 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 deleted file mode 100644 index 8cba8213..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/auth/impl/login-service-impl.service.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { Injectable, UnauthorizedException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class LoginServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * login - */ - async login(...args: any[]): Promise { - const appType: string = userLoginParam.appType; - const userName: string = userLoginParam.getUsername(); - const passWord: string = userLoginParam.getPassword(); - - if(!EnumUtils.isInclude(appType, AppTypeEnum.class, "getName")){ - throw new UnauthorizedException("APP_TYPE_NOT_EXIST"); - } - const siteId: number = this.requestContext.siteId; - - const loginConfigVo: LoginConfigVo = this.configService.getLoginConfig(); - const isCaptcha: number = 0; - if(appType === AppTypeEnum.path.basename(ADMIN)){ - isCaptcha=loginConfigVo.getIsCaptcha(); - }else if(appType === AppTypeEnum.path.basename(SITE)){ - isCaptcha=loginConfigVo.getIsSiteCaptcha(); - } - - if(isCaptcha==1){ - //验证验证码 - const captchaVO: CaptchaVO = new CaptchaVO(); - captchaVO.setCaptchaVerification(userLoginParam.getCaptchaCode()); - this.coreCaptchaImgService.verification(captchaVO); - } - const userInfo: SysUserInfoVo = this.sysUserService.getUserInfoByUserName(userName); - if(ObjectUtil.isNull(userInfo)){ - throw new UnauthorizedException("账号密码错误"); - } - - //检测密码加密是否正确 - if(!PasswordEncipher.matche(passWord, userInfo.getPassword())){ - throw new UnauthorizedException("账号密码错误"); - } - //设置当前登录用户id - RequestUtils.setUid(userInfo.getUid()); - - const defaultSiteId: number = 0; - const roleInfoVo: SysUserRoleInfoVo = new SysUserRoleInfoVo(); - const siteIds: number[] = []; - if(appType === AppTypeEnum.path.basename(ADMIN)){ - defaultSiteId=RequestUtils.defaultSiteId(); - roleInfoVo=this.sysUserRoleService.getUserRole(defaultSiteId, userInfo.getUid()); - if(ObjectUtil.isNotNull(roleInfoVo)){ - if(userInfo.status<=0){ - throw new UnauthorizedException("账号被锁定"); - } - }else{ - appType=AppTypeEnum.path.basename(SITE); - } - }else if(appType === AppTypeEnum.path.basename(SITE)){ - siteIds=this.authSiteService.getSiteIds(); - if(ObjectUtil.isNotNull(siteIds) && siteIds.length>0){ - defaultSiteId=siteIds.indexOf(this.requestContext.siteId)>0 || this.authService.isSuperAdmin()?this.requestContext.siteId:siteIds.get(0); - } - }else{ - throw new UnauthorizedException("APP_TYPE_NOT_EXIST"); - } - - //修改用户登录信息 - this.sysUserService.editUserLoginInfo(userInfo.getUid()); - - const loginModel: SaLoginModel = SaLoginModel.create(); - loginModel.setDevice(RequestUtils.handler().getHeader("User-Agent")); - loginModel.setExtra("userName", userInfo.getUsername()); - loginModel.setExtra("headImg", userInfo.getHeadImg()); - loginModel.setExtra("realName", userInfo.getRealName()); - // 执行登录 - StpUtil.login("user-" + userInfo.getUid(), loginModel); - // 获取返回内容 - const saTokenInfo: SaTokenInfo = StpUtil.getTokenInfo(); - const resultVo: LoginResultVo = new LoginResultVo(); - - const userInfoVo: LoginUserInfoVo = new LoginUserInfoVo(); - userInfoVo.setUid(userInfo.getUid()); - userInfoVo.setUsername(userInfo.getUsername()); - userInfoVo.setHeadImg(userInfo.getHeadImg()); - userInfoVo.setIsSuperAdmin(this.authService.isSuperAdmin()); - - - if(appType === AppTypeEnum.path.basename(ADMIN) || (appType === AppTypeEnum.path.basename(SITE) && defaultSiteId>0)){ - RequestUtils.siteId = defaultSiteId; - const siteInfoVo: SiteInfoVo = this.siteService.info(this.requestContext.siteId); - resultVo.setSiteInfo(siteInfoVo); - } - if(appType === AppTypeEnum.path.basename(ADMIN) && !userInfoVo.getIsSuperAdmin()){ - siteIds=this.authSiteService.getSiteIds(); - } - - resultVo.setToken(saTokenInfo.getTokenValue()); - resultVo.setExpiresTime(DateUtils.currTime()+saTokenInfo.getTokenTimeout()); - resultVo.setUserinfo(userInfoVo); - resultVo.siteId = defaultSiteId; - resultVo.setUserrole(roleInfoVo); - userInfoVo.setSiteIds(siteIds); - - return resultVo; - } - - /** - * logout - */ - async logout(...args: any[]): Promise { - StpUtil.logout(); - } - - /** - * clearToken - */ - async clearToken(...args: any[]): Promise { - if(ObjectUtil.isNotNull(token) && CommonUtils.isNotEmpty(token)){ - StpUtil.logoutByTokenValue(token); - }else if(ObjectUtil.isNotNull(appType) && CommonUtils.isNotEmpty(appType)){ - StpUtil.logout(uid, appType); - }else{ - StpUtil.logout(uid); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/captcha/impl/captcha-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/captcha/impl/captcha-service-impl.service.ts deleted file mode 100644 index 9c6a9bae..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/captcha/impl/captcha-service-impl.service.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CaptchaServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * create - */ - async create(...args: any[]): Promise { - return null; - } - - /** - * check - */ - async check(...args: any[]): Promise { - return null; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/channel/impl/admin-app-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/channel/impl/admin-app-service-impl.service.ts deleted file mode 100644 index 7bb526e6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/channel/impl/admin-app-service-impl.service.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class AdminAppServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAppConfig - */ - async getAppConfig(...args: any[]): Promise { - return this.coreAppService.getConfig(this.requestContext.siteId); - } - - /** - * setAppConfig - */ - async setAppConfig(...args: any[]): Promise { - this.coreAppService.setConfig(this.requestContext.siteId, param); - } - - /** - * getVersionPage - */ - async getVersionPage(...args: any[]): Promise { - any /* TODO: Page */ page = new Page<>(pageParam.page, pageParam.limit); - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - - if (param.getPlatform() != null) { - queryWrapper.eq("platform", param.getPlatform()); - } - queryWrapper.orderByDesc("create_time"); - - any /* TODO: Page */ resultPage = this.appVersionRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }); - - const list: AppVersionListVo[] = []; - for (const item of resultPageRecords) { - const vo: AppVersionListVo = new AppVersionListVo(); - BeanUtil.copyProperties(item, vo); - list.push(vo); - } - - return PageResult.build(resultPage, list); - } - - /** - * getVersionInfo - */ - async getVersionInfo(...args: any[]): Promise { - const appVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - ); - if (appVersion == null) { - return null; - } - - const vo: AppVersionInfoVo = new AppVersionInfoVo(); - BeanUtil.copyProperties(appVersion, vo); - - return vo; - } - - /** - * addVersion - */ - async addVersion(...args: any[]): Promise { - const notRelease: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("release_time", 0) - .last("limit 1") - ); - Assert.isNull(notRelease, "当前已存在未发布的版本"); - - const lastVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .orderByDesc("id") - .last("limit 1") - ); - if (lastVersion != null && number.valueOf(param.getVersionCode()) <= number.valueOf(lastVersion.getVersionCode())) { - throw new BadRequestException("版本号必须高于上一版本设置的值"); - } - - const appVersion: AppVersion = new AppVersion(); - param.siteId = this.requestContext.siteId; - BeanUtil.copyProperties(param, appVersion); - appVersion.createTime = DateUtils.currTime(); - - if (param.getPackageType() === "cloud") { - appVersion.setTaskKey(this.coreAppCloudService.appCloudBuid(param)); - appVersion.status = AppDict.StatusEnum.STATUS_CREATING.value; - } else { - appVersion.status = AppDict.StatusEnum.STATUS_UPLOAD_SUCCESS.value; - } - - return this.appVersionRepository.save(appVersion) > 0; - } - - /** - * editVersion - */ - async editVersion(...args: any[]): Promise { - const appVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("id", id) - ); - if (!appVersion) throw new BadRequestException("版本不存在"); - - const lastVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .ne("id", id) - .orderByDesc("id") - .last("limit 1") - ); - if (lastVersion != null && number.valueOf(param.getVersionCode()) <= number.valueOf(lastVersion.getVersionCode())) { - throw new BadRequestException("版本号必须高于上一版本设置的值"); - } - - BeanUtil.copyProperties(param, appVersion); - appVersion.updateTime = DateUtils.currTime(); - - if (param.getPackageType() === "cloud") { - param.siteId = this.requestContext.siteId; - appVersion.setTaskKey(this.coreAppCloudService.appCloudBuid(param)); - appVersion.status = AppDict.StatusEnum.STATUS_CREATING.value; - } else { - appVersion.status = AppDict.StatusEnum.STATUS_UPLOAD_SUCCESS.value; - } - - return appVersionMapper.updateById(appVersion) > 0; - } - - /** - * delVersion - */ - async delVersion(...args: any[]): Promise { - this.appVersionRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - } - - /** - * getBuildLog - */ - async getBuildLog(...args: any[]): Promise { - const vo: AppCompileLogVo = this.coreAppCloudService.getAppCompileLog(key); - if (vo.status === "fail") { - this.appVersionRepository.save(null, new UpdateWrapper() - .eq("task_key", key) - .eq("site_id", this.requestContext.siteId) - .set("status", AppDict.StatusEnum.STATUS_CREATE_FAIL.value) - .set("update_time", DateUtils.currTime()) - .set("fail_reason", ObjectUtil.defaultIfNull(vo.getFailReason(), "") )); - } - if (vo.status === "success") { - this.appVersionRepository.save(null, new UpdateWrapper() - .eq("task_key", key) - .eq("site_id", this.requestContext.siteId) - .set("status", AppDict.StatusEnum.STATUS_UPLOAD_SUCCESS.value) - .set("update_time", DateUtils.currTime()) - .set("package_path", vo.getFilePath() )); - } - return vo; - } - - /** - * release - */ - async release(...args: any[]): Promise { - const appVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("id", id) - ); - if (!appVersion) throw new BadRequestException("版本不存在"); - if (!appVersion.status === AppDict.StatusEnum.STATUS_UPLOAD_SUCCESS.value) { - throw new BadRequestException("版本未上传成功"); - } - - const model: AppVersion = new AppVersion(); - model.id = appVersion.id; - appVersion.status = AppDict.StatusEnum.STATUS_PUBLISHED.value; - appVersion.setReleaseTime(DateUtils.currTime()); - - return appVersionMapper.updateById(appVersion) > 0; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/dict/impl/dict-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/dict/impl/dict-service-impl.service.ts deleted file mode 100644 index 34c96fa8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/dict/impl/dict-service-impl.service.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class DictServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPage - */ - async getPage(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - //查询条件判断组装 - if (CommonUtils.isNotEmpty(path.basename(searchParam))) { - queryWrapper.like("name", path.basename(searchParam)); - } - - if (CommonUtils.isNotEmpty(searchParam.key)) { - queryWrapper.eq("`key`", searchParam.key); - } - - queryWrapper.orderByDesc("id"); - - [SysDict[], number] iPage = this.dictRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: DictListVo[] = []; - for (const item of iPageRecords) { - const vo: DictListVo = new DictListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysDict = this.dictRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: DictInfoVo = new DictInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: SysDict = new SysDict(); - model.name = path.basename(addParam); - model.key = addParam.key; - model.setMemo(addParam.getMemo()); - model.setDictionary("[]"); - model.createTime = Date.now( / 1000); - model.updateTime = Date.now( / 1000); - this.dictRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysDict = this.dictRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - model.id = id; - model.name = path.basename(editParam); - model.key = editParam.key; - model.setMemo(editParam.getMemo()); - model.updateTime = Date.now( / 1000); - dictMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysDict = this.dictRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.dictRepository.delete(model); - } - - /** - * getAll - */ - async getAll(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - - queryWrapper.orderByDesc("id"); - - const voList: SysDict[] = this.dictRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const list: DictListVo[] = []; - for (const item of voList) { - const vo: DictListVo = new DictListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-config-service-impl.service.ts deleted file mode 100644 index ad452d4e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-config-service-impl.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getBottomList - */ - async getBottomList(...args: any[]): Promise { - return this.coreDiyConfigService.getBottomList(); - } - - /** - * getBottomConfig - */ - async getBottomConfig(...args: any[]): Promise { - return this.coreDiyConfigService.getBottomConfig(this.requestContext.siteId, key); - } - - /** - * setBottomConfig - */ - async setBottomConfig(...args: any[]): Promise { - this.coreDiyConfigService.setBottomConfig(this.requestContext.siteId, param.value, param.key); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-route-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-route-service-impl.service.ts deleted file mode 100644 index e343bad9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-route-service-impl.service.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class DiyRouteServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const linkEnum: Record = LinkEnum.getLink(); - const routerList: DiyRouteListVo[] = []; - const sort: number = 0; - - for (const key of linkEnum.keySet()) { - const parentItem: Record = linkEnum.getRecord(key); - const addonInfo: Record = parentItem.getRecord("addon_info"); - const childArray: JSONArray = ObjectUtil.defaultIfNull(parentItem.getJSONArray("child_list"), new JSONArray()); - - sort = processChildItems(childArray, key, addonInfo, searchParam, routerList, sort); - } - - return routerList; - } - - /** - * getInfoByName - */ - async getInfoByName(...args: any[]): Promise { - const model: DiyRoute = this.diyRouteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .last("limit 1")); - if (model == null) return null; - - const vo: DiyRouteInfoVo = new DiyRouteInfoVo(); - Object.assign(vo, model); - - return vo; - } - - /** - * modifyShare - */ - async modifyShare(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("name", path.basename(editParam)) - .eq("site_id", this.requestContext.siteId) - .last("limit 1"); - const model: DiyRoute = this.diyRouteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (model != null) { - Object.assign(model, editParam); - this.diyRouteRepository.save(model, queryWrapper); - } else { - const insertModel: DiyRoute = new DiyRoute(); - Object.assign(insertModel, editParam); - insertModel.siteId = this.requestContext.siteId; - this.diyRouteRepository.save(insertModel); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-service-impl.service.ts deleted file mode 100644 index 504fd4b3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-service-impl.service.ts +++ /dev/null @@ -1,674 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class DiyServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(searchParam.title)) queryWrapper.like("title", searchParam.title); - if (CommonUtils.isNotEmpty(searchParam.getMode())) queryWrapper.eq("mode", searchParam.getMode()); - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - - const template: Record = TemplateEnum.getTemplate(); - List> templateAddon = TemplateEnum.getTemplateAddons((this.requestContext.siteId)); - [DiyPage[], number] iPage = this.diyPageRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: DiyPageListVo[] = []; - for (const item of iPageRecords) { - const vo: DiyPageListVo = new DiyPageListVo(); - Object.assign(vo, item); - vo.setTypeName(ObjectUtil.defaultIfNull(template.getByPath(vo.type + ".title", String.class), "")); - vo.setTypePage(ObjectUtil.defaultIfNull(template.getByPath(vo.type + ".page", String.class), "")); - const addonName: string = templateAddon - .filter(temp => vo.type != null && vo.type === temp.get("type")) - .findFirst() - .map(addon => ObjectUtil.defaultIfNull(addon.get("title"), "").toString()) - .orElse(""); - vo.setAddonName(addonName); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * allList - */ - async allList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(searchParam.title)) queryWrapper.like("title", searchParam.title); - if (CommonUtils.isNotEmpty(searchParam.getMode())) queryWrapper.eq("mode", searchParam.getMode()); - if (CommonUtils.isNotEmpty(searchParam.type)) { - const type: string[] = Arrays.stream(searchParam.type); - queryWrapper.in("type", type); - } - - const pages: DiyPage[] = this.diyPageRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const list: DiyPageListVo[] = []; - - for (const item of pages) { - const vo: DiyPageListVo = new DiyPageListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (model == null) return null; - - const vo: DiyPageInfoVo = new DiyPageInfoVo(); - Object.assign(vo, model); - - return vo; - } - - /** - * infoByName - */ - async infoByName(...args: any[]): Promise { - const model: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("is_default", 1) - .eq("site_id", this.requestContext.siteId)); - - if (model == null) return null; - - const vo: DiyPageInfoVo = new DiyPageInfoVo(); - Object.assign(vo, model); - - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: DiyPage = new DiyPage(); - Object.assign(model, addParam); - model.siteId = addParam.siteId == null ? this.requestContext.siteId : addParam.siteId; - model.createTime = Date.now( / 1000); - this.diyPageRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("数据不存在!"); - - Object.assign(model, editParam); - model.updateTime = Date.now( / 1000); - diyPageMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.diyPageRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId)); - } - - /** - * setUse - */ - async setUse(...args: any[]): Promise { - const model: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId)); - if (!model) throw new BadRequestException("页面不存在!"); - - const update: DiyPage = new DiyPage(); - update.setIsDefault(0); - this.diyPageRepository.save(update, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("name", path.basename(model)).eq("site_id", this.requestContext.siteId)); - - update.id = id; - update.setIsDefault(1); - update.updateTime = Date.now( / 1000); - diyPageMapper.updateById(update); - } - - /** - * getLink - */ - async getLink(...args: any[]): Promise { - const linkEnum: Record = LinkEnum.getLink(); - for (const key of linkEnum.keySet()) { - const item: Record = linkEnum.getRecord(key); - - item.put("name", key); - - if (!"DIY_PAGE".equals(key) && item.containsKey("child_list")) { - const childList: JSONArray = item.getJSONArray("child_list"); - for (const i of number = 0; i < childList.length; i++) { - const child: Record = childList.getRecord(i); - child.put("parent", key); - } - } - - if (key === "DIY_PAGE") { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId) - .and(wrapper => wrapper - .eq("type", "DIY_PAGE") - .or() - .ne("type", "DIY_PAGE") - .eq("is_default", 0) - ) - .orderByDesc("update_time"); - - const pageList: DiyPage[] = this.diyPageRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const newChildList: JSONArray = new JSONArray(); - for (const diyPage of pageList) { - const child: Record = new Record(); - child.put("name", path.basename(diyPage)); - child.put("title", diyPage.getPageTitle()); - child.put("url", "/app/pages/index/diy?id=" + diyPage.id); - newChildList.push(child); - } - item.put("child_list", newChildList); - } - if (key === "DIY_LINK") { - item.put("parent", "DIY_LINK"); - } - } - return linkEnum; - } - - /** - * getPageInit - */ - async getPageInit(...args: any[]): Promise { - const template: Record = getTemplate(new TemplateParam()); - - const info: DiyPageInfoVo = null; - if (param.id > 0) { - info = this.info(param.id); - } else if (!path.basename(param).isEmpty()) { - info = this.infoByName(path.basename(param)); - } - - if (StringUtils.isNotBlank(path.basename(param))) { - const startConfig: StartUpPageConfigVo = this.coreDiyConfigService.getStartUpPageConfig(this.requestContext.siteId, path.basename(param)); - if (startConfig != null) { - if ("DIY_PAGE".equals(startConfig.getParent())) { - const page: string = startConfig.page; - const id: number = number.parseInt(page.replace("/app/pages/index/diy?id=", "")); - info = this.info(id); - if (info != null) { - param.type = info.type; - param.name = path.basename(info); - } - } else { - for (const key of template.keySet()) { - const templateItem: Record = template.getRecord(key); - const templatePage: string = templateItem != null ? templateItem.getStr("page") : ""; - if (startConfig.page === templatePage) { - info = this.infoByName(key); - if (info != null) { - param.type = key; - param.name = key; - } - break; - } - } - } - } - } - - if (info != null) { - if (template.getRecord(info.type) != null) { - const page: Record = template.getRecord(info.type); - info.setTypeName(page.getStr("title")); - info.setPage(page.getStr("page")); - } - } else { - const time: number = Date.now() / 1000; - const pageTitle: string = ObjectUtil.defaultIfBlank(param.title, "页面" + time); - const type: string = ObjectUtil.defaultIfBlank(param.type, "DIY_PAGE"); - const name: string = type === "DIY_PAGE" ? "DIY_PAGE_RANDOM_" + time : type; - const typeName: string = ""; - const templateName: string = ""; - const pageRoute: string = ""; - const mode: string = "diy"; - const isDefault: number = 0; - const value: string = ""; - - const pageObj: Record = null; - if (StringUtils.isNotBlank(path.basename(param)) && template.getRecord(path.basename(param)) != null) { - pageObj = template.getRecord(path.basename(param)); - type = name = path.basename(param); - pageTitle = typeName = pageObj.getStr("title"); - pageRoute = pageObj.getStr("page"); - - const pageData: Record = this.getFirstPageData(type, ""); - if (pageData != null) { - const templateObj: Record = pageData.getRecord("template"); - if (templateObj != null) { - mode = templateObj.getStr("mode"); - value = templateObj.toString(); - isDefault = 1; - } - } - } else if (template.getRecord(param.type) != null) { - pageObj = template.getRecord(param.type); - typeName = pageObj.getStr("title"); - pageRoute = pageObj.getStr("page"); - - const count: number = this.diyPageRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(DiyPage::getSiteId, this.requestContext.siteId) - .eq(DiyPage::getType, param.type)); - if (count == 0) { - isDefault = 1; - } - } - - // 页面标题(用于前台展示) - const title: string = pageTitle; - if (!"DIY_PAGE".equals(type)) { - title = typeName; - } - - info = new DiyPageInfoVo(); - info.name = name; - info.setPageTitle(pageTitle); // 页面名称(用于后台展示) - info.title = title; // 页面标题(用于前台展示) - info.type = type; - info.setTypeName(typeName); - info.setTemplate(templateName); - info.setPage(pageRoute); - info.setMode(mode); - info.value = value; - info.setIsDefault(isDefault); - } - - info.setComponent(getComponentList(info.type)); - info.setDomainUrl(this.coreSysConfigService.getSceneDomain(this.requestContext.siteId)); - - // 处理全局模板数据 - const diyTemplate: Record = new Record(); - if (StringUtils.isNotBlank(path.basename(info))) { - const templateParam: TemplateParam = new TemplateParam(); - const key: string[] = {path.basename(info)}; - templateParam.key = key; - diyTemplate = getTemplate(templateParam); - if (diyTemplate != null && diyTemplate.containsKey(path.basename(info))) { - const templateInfo: Record = diyTemplate.getRecord(path.basename(info)); - info.setGlobal(templateInfo.getRecord("global")); - } - } - - return info; - } - - /** - * getComponentList - */ - async getComponentList(...args: any[]): Promise { - const data: Record = ComponentEnum.getComponent(); - - // 安全遍历顶层数据 - Iterator categoryIterator = data.keySet().iterator(); - const categoryToRemove: string[] = []; - - while (categoryIterator.hasNext()) { - const categoryKey: string = categoryIterator.next(); - const category: Record = data.getRecord(categoryKey); - const componentList: Record = category.getRecord("list"); - - // 用于存储排序值的映射 - const sortMap: Record = new Record(); - - // 安全遍历组件列表 - const keysToRemove: string[] = []; - for (const componentKey of new ArrayList<>(componentList.keySet())) { - const component: Record = componentList.getRecord(componentKey); - const supportPage: JSONArray = component.getJSONArray("support_page"); - - if (supportPage == null) supportPage = new JSONArray(); - - if ((!supportPage || supportPage.length === 0) || supportPage.includes(name)) { - sortMap.put(componentKey, component.getInt("sort", 0)); - component.remove("sort"); - component.remove("support_page"); - } else { - keysToRemove.push(componentKey); - } - } - - // 批量移除组件 - for (const key of keysToRemove) { - componentList.remove(key); - } - if ((!componentList || componentList.length === 0)) { - categoryToRemove.push(categoryKey); - } else { - sortComponentsBySortValues(componentList, sortMap); - } - } - for (const key of categoryToRemove) { - data.remove(key); - } - - return data; - } - - /** - * getFirstPageData - */ - async getFirstPageData(...args: any[]): Promise { - const pages: Record = PagesEnum.getPagesByAddon(type, addon); - if (pages == null || pages.keySet().size() == 0) return null; - - const template: string = pages.keySet().iterator().next(); - const data: Record = pages.getRecord(template); - data.set("type", type); - data.set("template", template); - - return data; - } - - /** - * getTemplate - */ - async getTemplate(...args: any[]): Promise { - const template: Record = TemplateEnum.getTemplate(param); - - for (const key of template.keySet()) { - const pages: Record = ObjectUtil.defaultIfNull(PagesEnum.getPages(key, param.getMode()), new Record()); - template.putByPath(key + ".template", pages); - } - //删除null值 防止序列化报错 - JacksonUtils.removeNull(template); - return template; - } - - /** - * changeTemplate - */ - async changeTemplate(...args: any[]): Promise { - this.this.coreDiyConfigService.setStartUpPageConfig(this.requestContext.siteId, value, value.type); - } - - /** - * getDecoratePage - */ - async getDecoratePage(...args: any[]): Promise { - const templateParam: TemplateParam = new TemplateParam(); - const oneType: string = searchParam.type[0]; - const key: string[] = searchParam.type; - templateParam.key = key; - const template: Record = this.getTemplate(templateParam).getRecord(oneType); - if (template == null) throw new BadRequestException("模板不存在"); - - const defaultPage: Record = getFirstPageData(oneType, ""); - - const useTemplate: Record = new Record(); - useTemplate.put("type", searchParam.type); - useTemplate.put("title", defaultPage == null ? "" : defaultPage.getStr("title", "")); - useTemplate.put("name", ""); - useTemplate.put("cover", defaultPage == null ? "" : defaultPage.getStr("cover", "")); - useTemplate.put("page", template.getStr("page")); - useTemplate.put("action", template.getStr("action")); - useTemplate.put("url", ""); - useTemplate.put("parent", ""); - - const info: DiyPageInfoVo = infoByName(oneType); - - const startConfig: StartUpPageConfigVo = this.coreDiyConfigService.getStartUpPageConfig(this.requestContext.siteId, oneType); - if (startConfig != null) { - useTemplate.set("title", startConfig.title); - useTemplate.set("name", path.basename(startConfig)); - useTemplate.set("page", startConfig.page); - useTemplate.set("action", startConfig.action); - useTemplate.set("url", startConfig.page); - useTemplate.set("parent", startConfig.getParent()); - } else if (info != null) { - useTemplate.set("id", info.id); - useTemplate.set("title", info.title); - } - - if (useTemplate.getStr("cover").isEmpty() && useTemplate.getStr("url").isEmpty()) { - useTemplate.set("url", template.getStr("page")); - } else if (useTemplate.getStr("url").isEmpty()) { - useTemplate.set("url", template.getStr("page")); - } - - const diyRouteSearchParam: DiyRouteSearchParam = new DiyRouteSearchParam(); - diyRouteSearchParam.url = useTemplate.getStr("page"); - const otherPage: DiyRouteListVo[] = this.diyRouteService.list(diyRouteSearchParam); - if (otherPage.length > 0) { - const route: DiyRouteListVo = otherPage.get(0); - useTemplate.set("title", route.title); - useTemplate.set("name", path.basename(route)); - useTemplate.set("parent", route.getParent()); - useTemplate.set("action", route.action); - } - - template.put("use_template", useTemplate); - - const sceneDomain: SceneDomainVo = this.coreSysConfigService.getSceneDomain(this.requestContext.siteId); - const domainUrl: Record = new Record(); - domainUrl.put("wap_domain", sceneDomain.getWapDomain()); - domainUrl.put("wap_url", sceneDomain.getWapUrl()); - domainUrl.put("web_url", sceneDomain.getWebUrl()); - template.put("domain_url", domainUrl); - - return template; - } - - /** - * getPageByCarouselSearch - */ - async getPageByCarouselSearch(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", this.requestContext.siteId) - .eq("type", "DIY_PAGE") - .notIn("value", ["top_fixed", "right_fixed", "bottom_fixed", "left_fixed", "fixed"]) - .or() - .eq("site_id", this.requestContext.siteId) - .ne("type", "DIY_PAGE") - .eq("is_default", 0) - .notIn("value", ["top_fixed", "right_fixed", "bottom_fixed", "left_fixed", "fixed"]) - .orderByDesc("id"); - - [DiyPage[], number] iPage = this.diyPageRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: DiyPageListVo[] = []; - for (const item of iPageRecords) { - const vo: DiyPageListVo = new DiyPageListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * setDiyData - */ - async setDiyData(...args: any[]): Promise { - const addonFlag: string = param.key; - - const templateParam: TemplateParam = new TemplateParam(); - const key: string[] = {param.key}; - templateParam.key = key; - const template: Record = getTemplate(templateParam).getRecord(param.key); - if (template == null) return; - - if (!param.getAddon().isEmpty()) { - const addonTemplateParam: TemplateParam = new TemplateParam(); - addonTemplateParam.setAddon(param.getAddon()); - addonTemplateParam.type = param.type; - const addonTemplate: Record = getTemplate(addonTemplateParam); - if (addonTemplate != null && (addonTemplate && addonTemplate.length > 0)) { - addonFlag = addonTemplate.keySet().iterator().next(); - template = addonTemplate.getRecord(addonFlag); - } - } - - const pages: Record = template.getRecord("template"); - if ((!pages || pages.length === 0)) return; - - const pageKey: string = pages.keySet().iterator().next(); - const page: Record = pages.getRecord(pageKey); - - const info: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", param.siteId) - .eq("is_default", 1) - ); - - if (info == null) { - RequestUtils.siteId = param.siteId; - const addParam: DiyPageParam = new DiyPageParam(); - addParam.title = page.getStr("title", ""); - addParam.setPageTitle(page.getStr("title", "")); - addParam.name = addonFlag; - addParam.type = addonFlag; - addParam.setTemplate(pageKey); - addParam.value = page.getRecord("data".toString()); - addParam.setMode(page.getStr("mode", "")); - addParam.setIsDefault(1); - addParam.setIsChange(0); - this.push(addParam); - } else { - if (path.basename(info) === "DIY_INDEX" && info.type === "DIY_INDEX") { - const update: DiyPage = new DiyPage(); - update.id = info.id; - update.value = page.getRecord("data".toString()); - diyPageMapper.updateById(update); - } - } - - if (param.getIsStart() === 1) { - const startPage: StartUpPageConfigParam = new StartUpPageConfigParam(); - startPage.type = param.key; - startPage.setMode(page.getStr("mode", "")); - startPage.title = page.getStr("title", ""); - startPage.action = template.getStr("action", ""); - startPage.setPage(template.getStr("page")); - this.changeTemplate(startPage); - } - } - - /** - * copy - */ - async copy(...args: any[]): Promise { - const page: DiyPage = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId)); - if (page == null) throw new BadRequestException("页面不存在"); - - page.id = null; - page.setPageTitle(page.getPageTitle() + "_副本"); - page.setIsChange(0); - page.setIsDefault(0); - page.setShare(""); - page.createTime = Date.now( / 1000); - this.diyPageRepository.save(page); - } - - /** - * loadDiyData - */ - async loadDiyData(...args: any[]): Promise { - // 获取参数 - const mainAppStr: string = params.get("main_app").toString(); - const mainApp: JSONArray = JSONUtil.parseArray(mainAppStr); - const count: number = mainApp.length; - const tag: string = params.getOrDefault("tag", "add"); - const siteId: number = params.get("site_id"); - - // 创建addon数组,在开头添加空字符串 - const addon: JSONArray = new JSONArray(); - addon.push(""); - addon.addAll(mainApp); - - // 遍历处理 - for (const k of number = 0; k < addon.length; k++) { - const v: string = addon.get(k).toString(); - int isStart; - - if ("add".equals(tag)) { - if (count > 1) { - // 站点多应用,使用系统的页面 - isStart = (k == 0) ? 1 : 0; - } else { - // 站点单应用,将应用的设为使用中 - isStart = (k == 0) ? 0 : 1; - } - } else { - // 编辑站点套餐的情况 - if (count > 1) { - // 站点多应用,将不更新启动页 - isStart = 0; - } else { - // 站点单应用,将应用的设为使用中 - isStart = (k == 0) ? 0 : 1; - } - } - - const setParam: SetDiyDataParam = new SetDiyDataParam(); - setParam.siteId = siteId; - setParam.type = "index"; - setParam.key = "DIY_INDEX"; - setParam.setIsStart(isStart); - setParam.setMainApp(addon); - setParam.setAddon(v); - setDiyData(setParam); - - setParam.type = "member_index"; - setParam.key = "DIY_MEMBER_INDEX"; - setDiyData(setParam); - } - } - - /** - * getPageLink - */ - async getPageLink(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", this.requestContext.siteId) - .and(i => i.eq("type", "DIY_PAGE").or().ne("type", "DIY_PAGE").eq("is_default", 0)) - .orderByDesc("update_time"); - - const templates: Record = TemplateEnum.getTemplate(new TemplateParam()); - - [DiyPage[], number] iPage = this.diyPageRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: DiyPageListVo[] = []; - for (const item of iPageRecords) { - const vo: DiyPageListVo = new DiyPageListVo(); - Object.assign(vo, item); - vo.setTypeName(templates.getByPath(item.type + ".title", String.class)); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-theme-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-theme-service-impl.service.ts deleted file mode 100644 index 5eb72f06..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy/impl/diy-theme-service-impl.service.ts +++ /dev/null @@ -1,249 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyThemeServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getDiyTheme - */ - async getDiyTheme(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const siteCache: SiteInfoVo = this.coreSiteService.getSiteCache(siteId); - const themeDataList: DiyTheme[] = this.diyThemeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("type", "app").eq("is_selected", 1)); - const themeData: Record = {}; - if ((themeDataList && themeDataList.length > 0)){ - themeData = themeDataList.collect(/* Collectors已删除 */.toMap(theme => theme.getAddon(), theme => theme)); - } - - const systemTheme: Record = this.coreDiyService.getDefaultThemeColor("app"); - const appTheme: Record = new Record(); - const appThemeObj: Record = new Record(); - appThemeObj.set("id", CommonUtils.isNotEmpty(themeData.get("app")) ? themeData.get("app").getId() : ""); - appThemeObj.set("icon", ""); - appThemeObj.set("addon_title", "系统"); - appThemeObj.set("title", CommonUtils.isNotEmpty(themeData.get("app")) ? themeData.get("app").getTitle() : ((systemTheme && systemTheme.length > 0) ? systemTheme.getJSONArray("theme_color").getRecord(0).get("title") : "")); - - const themeValue: Object = CommonUtils.isNotEmpty(themeData.get("app")) ? - themeData.get("app").getTheme() : - ((systemTheme && systemTheme.length > 0) ? systemTheme.getJSONArray("theme_color").getRecord(0).get("theme") : ""); - if (themeValue instanceof String) { - appThemeObj.set("theme", JsonUtils.parseObject(themeValue)); - } else { - appThemeObj.set("theme", themeValue); - } - - appTheme.putOpt("app", appThemeObj); - - const data: Record = new Record(); - const appsAndAddons: Addon[] = siteCache.getApps(); - appsAndAddons.addAll(siteCache.getSiteAddons()); - for (const value of appsAndAddons) { - const addonTheme: Record = this.coreDiyService.getDefaultThemeColor(value.key); - if ((addonTheme && addonTheme.length > 0) && addonTheme.containsKey("theme_color")) { - const addonData: Record = new Record(); - addonData.set("id", CommonUtils.isNotEmpty(themeData.get(value.key)) ? themeData.get(value.key).getId() : ""); - addonData.set("icon", value.icon != null ? value.icon : ""); - addonData.set("addon_title", value.title != null ? value.title : ""); - addonData.set("title", CommonUtils.isNotEmpty(themeData.get(value.key)) ? themeData.get(value.key).getTitle() : addonTheme.getJSONArray("theme_color").getRecord(0).get("title")); - - const addonThemeValue: Object = CommonUtils.isNotEmpty(themeData.get(value.key)) ? - themeData.get(value.key).getTheme() : - addonTheme.getJSONArray("theme_color").getRecord(0).get("theme"); - if (addonThemeValue instanceof String) { - addonData.set("theme", JsonUtils.parseObject(addonThemeValue)); - } else { - addonData.set("theme", addonThemeValue); - } - - data.putOpt(value.key, addonData); - } - } - - if ((!data || data.length === 0) || siteCache.getApps().size() > 1) { - const mergedData: Record = new Record(); - for (const key of appTheme.keySet()) { - mergedData.putOpt(key, appTheme.get(key)); - } - - for (const key of data.keySet()) { - if (!mergedData.containsKey(key)) { - mergedData.putOpt(key, data.get(key)); - } - } - - data = mergedData; - } - - return data; - } - - /** - * setDiyTheme - */ - async setDiyTheme(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const diyTheme: DiyTheme = diyThemeMapper.selectById(data.id); - if (CommonUtils.isEmpty(diyTheme)) { - throw new BadRequestException("主题色不存在"); - } - const addonData: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - const addonSaveData: DiyTheme[] = []; - if(CommonUtils.isNotEmpty(addonData)){ - for (const addon of addonData) { - const saveData: DiyTheme = new DiyTheme(); - saveData.siteId = siteId; - saveData.type = "addon"; - saveData.setAddon(addon.key); - saveData.title = diyTheme.title; - saveData.setTheme(data.getTheme().toString()); - saveData.setNewTheme(data.getNewTheme().toString()); - saveData.setIsSelected(1); - saveData.updateTime = Date.now( / 1000); - addonSaveData.push(saveData); - } - } - - this.diyThemeRepository.save(null, new UpdateWrapper().eq("site_id", siteId).eq("addon", data.getAddon()).eq("type", "addon").set("is_selected", 0)); - - const model: DiyTheme = new DiyTheme(); - Object.assign(model, data); - model.setIsSelected(1); - model.updateTime = Date.now( / 1000); - diyThemeMapper.updateById(model); - - if (!CommonUtils.isNotEmpty(addonSaveData)) { - for (const saveData of addonSaveData) { - - this.diyThemeRepository.save(null, new UpdateWrapper().eq("site_id", siteId).eq("addon", saveData.getAddon()).eq("type", "addon").set("is_selected", 0)); - this.diyThemeRepository.save(saveData, new UpdateWrapper().eq("site_id", siteId).eq("addon", saveData.getAddon()).eq("type", "addon").eq("title", saveData.title)); - } - } - } - - /** - * getDefaultThemeColor - */ - async getDefaultThemeColor(...args: any[]): Promise { - const addon: string = data.getAddon(); - const themeList: DiyTheme[] = this.diyThemeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("addon", addon)); - const voList: DiyThemeInfoVo[] = []; - for (const theme of themeList) { - const vo: DiyThemeInfoVo = new DiyThemeInfoVo(); - Object.assign(vo, theme); - const addonTheme: Record = this.coreDiyService.getDefaultThemeColor(theme.getAddon()); - if ((addonTheme && addonTheme.length > 0) && addonTheme.containsKey("theme_field")) { - vo.setThemeField(addonTheme.getJSONArray("theme_field")); - } - voList.push(vo); - } - - return voList; - } - - /** - * addDiyTheme - */ - async addDiyTheme(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const addonData: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - const addonSaveData: DiyTheme[] = []; - if ((addonData && addonData.length > 0)) { - for (const addon of addonData) { - - const diyTheme: DiyTheme = new DiyTheme(); - diyTheme.siteId = siteId; - diyTheme.setTheme("addon"); - diyTheme.setAddon(addon.key); - diyTheme.title = data.title; - diyTheme.setTheme(data.getTheme().toString()); - diyTheme.setNewTheme(data.getNewTheme().toString()); - diyTheme.setDefaultTheme(data.getDefaultTheme().toString()); - diyTheme.setThemeType("diy"); - diyTheme.createTime = Date.now( / 1000); - addonSaveData.push(diyTheme); - } - } - - const model: DiyTheme = new DiyTheme(); - Object.assign(model, data); - model.type = "app"; - model.setThemeType("diy"); - model.createTime = Date.now( / 1000); - addonSaveData.push(model); - if (CommonUtils.isNotEmpty(addonSaveData)) { - for (const diyTheme of addonSaveData) { - this.diyThemeRepository.save(diyTheme); - } - } - } - - /** - * editDiyTheme - */ - async editDiyTheme(...args: any[]): Promise { - const diyThemeInfo: DiyTheme = diyThemeMapper.selectById(id); - if (CommonUtils.isEmpty(diyThemeInfo)) { - throw new Error("主题色不存在"); - } - const addonData: DiyTheme[] = this.diyThemeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("title", diyThemeInfo.title)); - const addonSaveData: DiyTheme[] = []; - if (CommonUtils.isNotEmpty(addonData)) { - for (const diyTheme of addonData) { - const saveData: DiyTheme = new DiyTheme(); - saveData.id = diyTheme.id; - saveData.siteId = diyTheme.siteId; - saveData.title = diyTheme.title; - saveData.setTheme(data.getTheme().toString()); - saveData.setNewTheme(data.getNewTheme().toString()); - saveData.updateTime = Date.now( / 1000); - - addonSaveData.push(saveData); - } - } - Object.assign(diyThemeInfo, data); - diyThemeInfo.updateTime = Date.now( / 1000); - - diyThemeMapper.updateById(diyThemeInfo); - - if (CommonUtils.isNotEmpty(addonSaveData)) { - for (const diyTheme of addonSaveData) { - diyThemeMapper.updateById(diyTheme); - } - } - } - - /** - * delDiyTheme - */ - async delDiyTheme(...args: any[]): Promise { - const diyThemeInfo: DiyTheme = diyThemeMapper.selectById(id); - if (CommonUtils.isEmpty(diyThemeInfo)) { - throw new BadRequestException("主题色不存在"); - } - if (diyThemeInfo.getThemeType() === "default") { - throw new BadRequestException("默认主题色不能删除"); - } - this.diyThemeRepository.delete(diyThemeInfo); - } - - /** - * checkDiyThemeTitleUnique - */ - async checkDiyThemeTitleUnique(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("title", data.title); - queryWrapper.eq("addon", data.getAddon()); - if(CommonUtils.isNotEmpty(data.id)) - { - queryWrapper.ne("id", data.id); - } - return this.diyThemeRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }) == 0; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-config-service-impl.service.ts deleted file mode 100644 index a6a9170f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-config-service-impl.service.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyFormConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWriteConfig - */ - async getWriteConfig(...args: any[]): Promise { - return this.coreDiyFormConfigService.getWriteConfig(this.requestContext.siteId, formId); - } - - /** - * editWriteConfig - */ - async editWriteConfig(...args: any[]): Promise { - editParam.siteId = this.requestContext.siteId; - this.coreDiyFormConfigService.editWriteConfig(editParam); - } - - /** - * getSubmitConfig - */ - async getSubmitConfig(...args: any[]): Promise { - return this.coreDiyFormConfigService.getSubmitConfig(this.requestContext.siteId, formId); - } - - /** - * editSubmitConfig - */ - async editSubmitConfig(...args: any[]): Promise { - editParam.siteId = this.requestContext.siteId; - this.coreDiyFormConfigService.editSubmitConfig(editParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-records-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-records-service-impl.service.ts deleted file mode 100644 index 67a2f279..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-records-service-impl.service.ts +++ /dev/null @@ -1,216 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyFormRecordsServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPage - */ - async getPage(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - - //sql语句 - queryWrapper.select("ndfr.form_id, ndfr.member_id, nm.username, nm.member_no, nm.mobile, nm.nickname, nm.headimg,count(*) as write_count") - .setAlias("ndfr") - .leftJoin("?_member nm ON ndfr.member_id = nm.member_id".replace("?_", this.appConfig.tablePrefix)); - - queryWrapper.eq("ndfr.site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.formId)) { - queryWrapper.eq("ndfr.form_id", searchParam.formId); - } - if (CommonUtils.isNotEmpty(searchParam.keyword)) { - queryWrapper.and(i => i.or(j => j.like("nm.nickname", searchParam.keyword)) - .or(j => j.like("nm.mobile", searchParam.keyword)) - ); - } - queryWrapper.groupBy("ndfr.member_id"); - - - queryWrapper.orderByDesc("ndfr.form_id"); - [DiyFormRecordsListVo[], number] iPage = diyFormRecordsMapper.selectJoinPage(new Page<>(page, limit), DiyFormRecordsListVo.class, queryWrapper); - for (const vo of iPageRecords) { - const memberVo: Member = new Member(); - Object.assign(memberVo, vo); - vo.setMember(memberVo); - } - return PageResult.build(iPage); - } - - /** - * getFieldStatList - */ - async getFieldStatList(...args: any[]): Promise { - const diyFormRecordsFieldsSearchParam: DiyFormRecordsFieldsSearchParam = new DiyFormRecordsFieldsSearchParam(); - diyFormRecordsFieldsSearchParam.setFormId(searchParam.formId); - const fieldsList: DiyFormFieldsListVo[] = this.diyFormService.getFieldsList(diyFormRecordsFieldsSearchParam); - - // 过滤简单字段列表 - const simpleTypes: string[] = {"FormRadio", "FormCheckbox", "FormDateScope", "FormTimeScope", "FormImage"}; - const simpleFieldList: DiyFormFieldsListVo[] = fieldsList - .filter(e => ![simpleTypes].includes(e.getFieldType())) - ; - - // 过滤 JSON 字段列表 - const jsonTypes: string[] = {"FormRadio", "FormCheckbox", "FormDateScope", "FormTimeScope"}; - const jsonFieldList: DiyFormFieldsListVo[] = fieldsList - .filter(e => [jsonTypes].includes(e.getFieldType())) - ; - - const totalCount: number = 0; - for (const field of simpleFieldList) { - // 统计每个字段值的填写数量 - any /* TODO: QueryWrapper */ valueQueryWrapper = new QueryWrapper(); - valueQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("field_key", field.getFieldKey()) - .eq("field_type", field.getFieldType()); - if (searchParam.formId != null) { - valueQueryWrapper.eq("form_id", searchParam.formId); - } - List> valueList = diyFormRecordsFieldsMapper.selectMaps(valueQueryWrapper - .select("form_id, field_key, field_type, field_value, count(*) as write_count") - .groupBy("field_value")); - for (const i of number = 0; i < valueList.length; i++) { - const value: Record = valueList.get(i); - const diyFormComponentEnum: DiyFormComponentEnum = new DiyFormComponentEnum(); - const component: Record = diyFormComponentEnum.getComponent(value.get("field_type").toString()); - if(component.containsKey("render")){ - const driver: string = component.getStr("render"); - if(CommonUtils.isNotEmpty(driver)) - { - try{ - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("render", String.class, String.class); - value.put("render_value", method.invoke(obj, value.get("field_value").toString(), value.get("field_type").toString())); - }catch (e){ - console.error(e); - } - - } - }else{ - value.put("render_value", value.get("field_value")); - } - } - - // 计算总数量 - totalCount = this.diyFormRecordsFieldsRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("field_key", field.getFieldKey()) - .eq("field_type", field.getFieldType())); - - if (totalCount > 0) { - const totalPercent: number = 100; - for (const i of number = 0; i < valueList.length; i++) { - const value: Record = valueList.get(i); - double itemPercent; - if (i == valueList.length - 1) { - itemPercent = totalPercent; - } else { - itemPercent = Math.round((number.parseInt(value.get("write_count").toString()) / totalCount) * 100 * 100) / 100.0; - } - value.put("write_percent", itemPercent); - totalPercent = totalPercent - itemPercent; - } - } - field.setValueList(valueList); - } - - // 处理 JSON 字段列表 - for (const field of jsonFieldList) { - // 查询字段记录 - any /* TODO: QueryWrapper */ fieldQueryWrapper = new QueryWrapper(); - fieldQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("field_key", field.getFieldKey()) - .eq("field_type", field.getFieldType()); - if (searchParam.formId != null) { - fieldQueryWrapper.eq("form_id", searchParam.formId); - } - List> fieldList = diyFormRecordsFieldsMapper.selectMaps(fieldQueryWrapper); - for (const i of number = 0; i < fieldList.length; i++) { - const value: Record = fieldList.get(i); - const diyFormComponentEnum: DiyFormComponentEnum = new DiyFormComponentEnum(); - const component: Record = diyFormComponentEnum.getComponent(value.get("field_type").toString()); - if(component.containsKey("render")){ - const driver: string = component.getStr("render"); - if(CommonUtils.isNotEmpty(driver)) - { - try{ - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("render", String.class, String.class); - value.put("render_value", method.invoke(obj, value.get("field_value").toString(), value.get("field_type").toString())); - }catch (e){ - console.error(e); - } - - } - }else{ - value.put("render_value", value.get("field_value")); - } - } - totalCount = 0; - Map> valueMap = {}; - for (Record record : fieldList) { - if (!"FormCheckbox".equals(record.get("field_type"))) { - const key: string = record.get("field_key") + "_" + record.get("render_value"); - if (valueMap.containsKey(key)) { - valueMap.get(key).put("write_count", valueMap.get(key).get("write_count") + 1); - totalCount++; - } else { - valueMap.put(key, record); - valueMap.get(key).put("write_count", 1); - totalCount++; - } - } else { - const values: string[] = record.get("render_value").toString().split(","); - for (const value of values) { - const key: string = record.get("field_key") + "_" + value; - if (valueMap.containsKey(key)) { - valueMap.get(key).put("write_count", valueMap.get(key).get("write_count") + 1); - totalCount++; - } else { - const newRecord: Record = new HashMap<>(record); - newRecord.put("render_value", value); - newRecord.put("write_count", 1); - valueMap.put(key, newRecord); - totalCount++; - } - } - } - } - - if (totalCount > 0) { - List> valueList = new ArrayList<>(valueMap.values()); - const totalPercent: number = 100; - for (const i of number = 0; i < valueList.length; i++) { - const value: Record = valueList.get(i); - double itemPercent; - if (i == valueList.length - 1) { - itemPercent = totalPercent; - } else { - itemPercent = Math.round((number.parseInt(value.get("write_count").toString()) / totalCount) * 100 * 100) / 100.0; - } - value.put("write_percent", itemPercent); - totalPercent = totalPercent - itemPercent; - } - field.setValueList(valueList); - } - } - - // 合并结果 - const resultList: DiyFormFieldsListVo[] = []; - resultList.addAll(simpleFieldList); - resultList.addAll(jsonFieldList); - - return resultList; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-service-impl.service.ts deleted file mode 100644 index e3a65018..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/diy_form/impl/diy-form-service-impl.service.ts +++ /dev/null @@ -1,635 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyFormServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPage - */ - async getPage(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId); - - if (CommonUtils.isNotEmpty(searchParam.title)) { - queryWrapper.eq("title", searchParam.title); - } - if (CommonUtils.isNotEmpty(searchParam.title)) { - queryWrapper.and(i => i.or(j => j.like("title", searchParam.title)) - .or(j => j.like("page_title", searchParam.title)) - ); - } - if (CommonUtils.isNotEmpty(searchParam.type)) { - queryWrapper.eq("type", searchParam.type); - } - - if (CommonUtils.isNotEmpty(searchParam.getAddon())) { - queryWrapper.eq("addon", searchParam.getAddon()); - } - - queryWrapper.orderByDesc("form_id"); - - [DiyForm[], number] iPage = this.diyFormRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: DiyFormListVo[] = []; - for (const item of iPageRecords) { - const vo: DiyFormListVo = new DiyFormListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getList - */ - async getList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId); - - if (CommonUtils.isNotEmpty(searchParam.title)) { - queryWrapper.eq("title", searchParam.title); - } - if (CommonUtils.isNotEmpty(searchParam.title)) { - queryWrapper.and(i => i.or(j => j.like("title", searchParam.title)) - .or(j => j.like("page_title", searchParam.title)) - ); - } - if (CommonUtils.isNotEmpty(searchParam.type)) { - queryWrapper.eq("type", searchParam.type); - } - - if (CommonUtils.isNotEmpty(searchParam.getAddon())) { - queryWrapper.eq("addon", searchParam.getAddon()); - } - if (CommonUtils.isNotEmpty(searchParam.status)) { - queryWrapper.eq("status", searchParam.status); - } - queryWrapper.orderByDesc("form_id"); - const list: DiyForm[] = this.diyFormRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const voList: DiyFormListVo[] = []; - for (const item of list) { - const vo: DiyFormListVo = new DiyFormListVo(); - Object.assign(vo, item); - voList.push(vo); - } - return voList; - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - const model: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - - if (!model) throw new BadRequestException("万能表单不存在"); - - const vo: DiyFormInfoVo = new DiyFormInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * getCount - */ - async getCount(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.type)) { - queryWrapper.eq("type", searchParam.type); - } - const count: number = this.diyFormRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - if(CommonUtils.isEmpty(count)) - { - count = 0L; - } - return count; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: DiyForm = new DiyForm(); - - model.setPageTitle(addParam.getPageTitle()); - model.title = addParam.title; - model.type = addParam.type; - model.status = 1; - model.setTemplate(addParam.getTemplate()); - model.value = addParam.value; - const diyFormTypeEnum: DiyFormTypeEnum = new DiyFormTypeEnum(); - const type: Record = diyFormTypeEnum.getType(addParam.type); - if(type.containsKey("addon")) - { - model.setAddon(type.getStr("addon")); - }else{ - model.setAddon(""); - } - - model.setShare(addParam.getShare()); - model.setRemark(addParam.getRemark()); - model.siteId = this.requestContext.siteId; - model.createTime = Date.now( / 1000); - model.updateTime = Date.now( / 1000); - this.diyFormRepository.save(model); - const diyFormFields: DiyFormFields[] = []; - if (CommonUtils.isNotEmpty(addParam.value)) { - const value: Record = JsonUtils.parseObject(addParam.value); - const components: JSONArray = value.getJSONArray("value"); - for (const componentObj of components) { - const component: Record = JsonUtils.parseObject(componentObj); - const componentType: string = component.getStr("componentType"); - const componentName: string = component.getStr("componentName"); - if (!"diy_form".equals(componentType) || "FormSubmit".equals(componentName)) { - continue; - } - const field: Record = component.getRecord("field"); - - const fieldRecord: DiyFormFields = new DiyFormFields(); - fieldRecord.siteId = this.requestContext.siteId; - fieldRecord.setFormId(model.formId); - fieldRecord.setFieldKey(component.get("id").toString()); - fieldRecord.setFieldType(componentName); - fieldRecord.setFieldName(field.containsKey("name") ? field.getStr("name") : ""); - if(field.containsKey("remark")) - { - const remark: Record = field.getRecord("remark"); - if(remark.containsKey("text")) - { - fieldRecord.setFieldRemark(remark.getStr("text")); - }else{ - fieldRecord.setFieldRemark(""); - } - }else{ - fieldRecord.setFieldRemark(""); - } - fieldRecord.setFieldDefault(field.containsKey("default") ? field.get("default").toString() : ""); - fieldRecord.setFieldRequired(field.containsKey("required") ? field.getInt("required") : 0); - fieldRecord.setFieldHidden(component.getInt("isHidden")); - fieldRecord.setFieldUnique(field.containsKey("unique") ? field.getInt("unique") : 0); - fieldRecord.setPrivacyProtection(field.containsKey("privacyProtection") ? field.getInt("privacyProtection") : 0); - fieldRecord.createTime = Date.now( / 1000); - fieldRecord.updateTime = Date.now( / 1000); - diyFormFields.push(fieldRecord); - } - } - if ((diyFormFields && diyFormFields.length > 0)) { - this.diyFormFieldsRepository.save(diyFormFields); - } - - const writeParam: DiyFormWriteConfigParam = new DiyFormWriteConfigParam(); - writeParam.siteId = this.requestContext.siteId; - writeParam.setFormId(model.formId); - // 初始化表单填写配置 - this.coreDiyFormConfigService.addWriteConfig(writeParam); - - const submitConfigParam: DiyFormSubmitConfigParam = new DiyFormSubmitConfigParam(); - submitConfigParam.siteId = this.requestContext.siteId; - submitConfigParam.setFormId(model.formId); - // 初始化表单提交成功页配置 - this.coreDiyFormConfigService.addSubmitConfig(submitConfigParam); - - return model.formId; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("万能表单不存在"); - model.title = editParam.title; - model.setPageTitle(editParam.getPageTitle()); - model.setTemplate(editParam.getTemplate()); - model.value = editParam.value; - model.updateTime = Date.now( / 1000); - diyFormMapper.updateById(model); - const formFieldsList: DiyFormFields[] = this.diyFormFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const formFieldsListMap: Record = formFieldsList.collect(/* Collectors已删除 */.toMap(DiyFormFields::getFieldKey, a => a)); - const existFieldKeys: string[] = []; - const diyFormFields: DiyFormFields[] = []; - if (CommonUtils.isNotEmpty(editParam.value)) { - const value: Record = JsonUtils.parseObject(editParam.value); - const components: JSONArray = value.getJSONArray("value"); - for (const componentObj of components) { - const component: Record = JsonUtils.parseObject(componentObj); - const componentType: string = component.getStr("componentType"); - const componentName: string = component.getStr("componentName"); - if (!"diy_form".equals(componentType) || "FormSubmit".equals(componentName)) { - continue; - } - const field: Record = component.getRecord("field"); - - const fieldRecord: DiyFormFields = new DiyFormFields(); - fieldRecord.siteId = this.requestContext.siteId; - fieldRecord.setFormId(model.formId); - fieldRecord.setFieldKey(component.get("id").toString()); - fieldRecord.setFieldType(componentName); - fieldRecord.setFieldName(field.containsKey("name") ? field.getStr("name") : ""); - if(field.containsKey("remark")) - { - const remark: Record = field.getRecord("remark"); - if(remark.containsKey("text")) - { - fieldRecord.setFieldRemark(remark.getStr("text")); - }else{ - fieldRecord.setFieldRemark(""); - } - }else{ - fieldRecord.setFieldRemark(""); - } - fieldRecord.setFieldDefault(field.containsKey("default") ? field.get("default").toString() : ""); - fieldRecord.setFieldRequired(field.containsKey("required") ? field.getInt("required") : 0); - fieldRecord.setFieldHidden(component.getInt("isHidden")); - fieldRecord.setFieldUnique(field.containsKey("unique") ? field.getInt("unique") : 0); - fieldRecord.setPrivacyProtection(field.containsKey("privacyProtection") ? field.getInt("privacyProtection") : 0); - fieldRecord.updateTime = Date.now( / 1000); - - if(formFieldsListMap.containsKey(component.getStr("id"))) - { - this.diyFormFieldsRepository.save(fieldRecord, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("site_id", this.requestContext.siteId).eq("field_id", formFieldsListMap.get(component.getStr("id")).getFieldId())); - existFieldKeys.push(component.getStr("id")); - }else{ - diyFormFields.push(fieldRecord); - } - - } - if ((diyFormFields && diyFormFields.length > 0)) { - this.diyFormFieldsRepository.save(diyFormFields); - } - for (Map.Entry entry : formFieldsListMap.entrySet()) { - - if(!existFieldKeys.includes(entry.key)) { - this.diyFormFieldsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("field_id", entry.value.getFieldId())); - } - } - }else{ - this.diyFormFieldsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("form_id", model.formId)); - } - } - - /** - * del - */ - async del(...args: any[]): Promise { - const count: number = this.diyFormRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId).eq("status", 1)); - if(count > 0){ - throw new BadRequestException("存在正在使用的表单,无法删除"); - } - //事件检测是否可以被删除 - DiyFormDelBeforeEventDefiner.const event: DiyFormDelBeforeEvent = new DiyFormDelBeforeEventDefiner.DiyFormDelBeforeEvent(); - for (const formId of formIds) { - event.setFormId(formId); - event.siteId = this.requestContext.siteId; - const result: DiyFormDelBeforeEventDefiner.DiyFromDelBeforeResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - for (DiyFormDelBeforeEventDefiner.DiyFromDelBeforeResult res : result) { - if(CommonUtils.isNotEmpty(res)) - { - if(!res.getAllowOperate()) throw new BadRequestException("存在正在使用的表单,无法删除"); - } - } - } - - this.diyFormRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).in("form_id", formIds)); - this.diyFormFieldsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).in("form_id", formIds)); - this.diyFormSubmitConfigRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).in("form_id", formIds)); - this.diyFormWriteConfigRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).in("form_id", formIds)); - } - - /** - * getInit - */ - async getInit(...args: any[]): Promise { - const time: number = Date.now() / 1000; - const data: DiyFormInfoVo = new DiyFormInfoVo(); - - if (!params.formId === 0) { - data = getInfo(params.formId); - } - - if (CommonUtils.isNotEmpty(data.type)) { - const diyFormTypeEnum: DiyFormTypeEnum = new DiyFormTypeEnum(); - const currentType: Record = diyFormTypeEnum.getType(data.type); - const typeName: string = currentType.getStr("title"); - data.setTypeName(typeName); - } else { - if (CommonUtils.isEmpty(params.type)) { - throw new BadRequestException("DIY_FORM_TYPE_NOT_EXIST"); - } - const type: string = params.type; - - // 新页面赋值 - const pageTitle: string = params.title != null ? params.title : "表单页面" + time; - - const diyFormTypeEnum: DiyFormTypeEnum = new DiyFormTypeEnum(); - const currentType: Record = diyFormTypeEnum.getType(params.type); - const typeName: string = currentType.getStr("title"); - const value: string = ""; - - data = new DiyFormInfoVo(); - data.setFormId(0); - data.setPageTitle(pageTitle); - data.title = typeName; - data.type = type; - data.setTypeName(typeName); - data.value = value; - data.status = 1; - } - - const initVo: DiyFormInitVo = new DiyFormInitVo(); - Object.assign(initVo, data); - initVo.setComponent(getComponentList(data.type)); - initVo.setDomainUrl(this.systemConfigService.getSceneDomain(this.requestContext.siteId)); - return initVo; - } - - /** - * modifyShare - */ - async modifyShare(...args: any[]): Promise { - const diyForm: DiyForm = new DiyForm(); - diyForm.setShare(share); - this.diyFormRepository.save(diyForm, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("form_id", formId).eq("site_id", this.requestContext.siteId)); - return true; - } - - /** - * getComponentList - */ - async getComponentList(...args: any[]): Promise { - const formComponentEunm: DiyFormComponentEnum = new DiyFormComponentEnum(); - const formComponentList: Record = formComponentEunm.getComponent(); - for (const formComponentObj of formComponentList.keySet()) { - const formComponent: Record = formComponentList.getRecord(formComponentObj); - const list: Record = formComponent.getRecord("list"); - Iterator> iterator = list.entrySet().iterator(); - while (iterator.hasNext()) { - const cv: Record = JsonUtils.parseObject(iterator.next()); - if(cv.containsKey("support")) - { - const support: JSONArray = cv.getJSONArray("support"); - if (support != null && support.length > 0 && !support.includes(type)) { - iterator.remove(); - continue; - } - } - cv.remove("sort"); - cv.remove("support"); - } - // 根据 sort 排序 - formComponent.put("list", sortRecordBySortField(list)); - } - - componentType(formComponentList, "diy_form"); - - const data: Record = formComponentList; - if ("DIY_FORM".equals(type)) { - const diyComponentList: Record = this.diyService.getComponentList(""); - componentType(diyComponentList, "diy"); - data = mergeJsonObjects(formComponentList, diyComponentList); - } - return data; - } - - /** - * getPageData - */ - async getPageData(...args: any[]): Promise { - return ObjectUtil.defaultIfNull(PagesEnum.getPages(type, name), new Record()); - } - - /** - * copy - */ - async copy(...args: any[]): Promise { - const diyForm: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId)); - if(CommonUtils.isEmpty(diyForm)) throw new BadRequestException("万能表单不存在"); - const diyFormSubmitConfig: DiyFormSubmitConfig = this.diyFormSubmitConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - const diyFormWriteConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - const diyFormFields: DiyFormFields[] = this.diyFormFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - - // 复制表单信息 - const newDiyForm: DiyForm = new DiyForm(); - Object.assign(newDiyForm, diyForm); - newDiyForm.setFormId(null); // 清空原有的 form_id,让数据库自动生成新的 - newDiyForm.setPageTitle(newDiyForm.getPageTitle() + "_副本"); - newDiyForm.status = 0; - newDiyForm.setShare(""); - newDiyForm.setWriteNum(0); - const currentTime: number = Date.now() / 1000; - newDiyForm.createTime = currentTime; - newDiyForm.updateTime = currentTime; - - // 插入新的表单信息 - this.diyFormRepository.save(newDiyForm); - const newFormId: number = newDiyForm.formId; - - // 复制表单字段 - if (!CommonUtils.isEmpty(diyFormFields)) { - const newFormFieldList: DiyFormFields[] = []; - for (const item of diyFormFields) { - const newField: DiyFormFields = new DiyFormFields(); - Object.assign(newField, item); - newField.setFieldId(null); // 清空原有的 field_id,让数据库自动生成新的 - newField.setFormId(newFormId); - newField.setWriteNum(0); - newField.createTime = currentTime; - newField.updateTime = currentTime; - newFormFieldList.push(newField); - } - MybatisBatch mybatisBatch = new MybatisBatch<>(sqlSessionFactory, newFormFieldList); - MybatisBatch.Method method = new MybatisBatch.Method<>(DiyFormFieldsMapper.class); - mybatisBatch.execute(method.insert()); - } - - // 复制填写配置 - if (!CommonUtils.isEmpty(diyFormWriteConfig)) { - const newWriteConfig: DiyFormWriteConfigParam = new DiyFormWriteConfigParam(); - Object.assign(newWriteConfig, diyFormWriteConfig); - newWriteConfig.setFormId(newFormId); - newWriteConfig.id = null; - this.coreDiyFormConfigService.addWriteConfig(newWriteConfig); - } - - // 复制提交配置 - if (!CommonUtils.isEmpty(diyFormSubmitConfig)) { - const newSubmitConfig: DiyFormSubmitConfigParam = new DiyFormSubmitConfigParam(); - Object.assign(newSubmitConfig, diyFormSubmitConfig); - newSubmitConfig.setFormId(newFormId); - newSubmitConfig.id = null; - this.coreDiyFormConfigService.addSubmitConfig(newSubmitConfig); - } - - return newFormId; - } - - /** - * getTemplate - */ - async getTemplate(...args: any[]): Promise { - const diyFormTemplateEnum: DiyFormTemplateEnum = new DiyFormTemplateEnum(); - return diyFormTemplateEnum.getTemplate(params.type, params.getTemplateKey()); - } - - /** - * getFormType - */ - async getFormType(...args: any[]): Promise { - const types: DiyFormTypeEnum = new DiyFormTypeEnum(); - return types.type; - } - - /** - * modifyStatus - */ - async modifyStatus(...args: any[]): Promise { - const diyForm: DiyForm = new DiyForm(); - diyForm.status = formStatusParam.status; - this.diyFormRepository.save(diyForm, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("form_id", formStatusParam.formId).eq("site_id", this.requestContext.siteId)); - return true; - } - - /** - * getRecordPages - */ - async getRecordPages(...args: any[]): Promise { - searchParam.siteId = this.requestContext.siteId; - return this.coreDiyFormRecordsService.page(pageParam, searchParam); - } - - /** - * getRecordInfo - */ - async getRecordInfo(...args: any[]): Promise { - return this.coreDiyFormRecordsService.info(recordId); - } - - /** - * delRecord - */ - async delRecord(...args: any[]): Promise { - try { - // 减少填写数量 - any /* TODO: QueryWrapper */ formQueryWrapper = new QueryWrapper(); - formQueryWrapper.eq("form_id", formId); - const diyForm: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (diyForm != null) { - diyForm.setWriteNum(diyForm.getWriteNum() - 1); - diyFormMapper.updateById(diyForm); - } - - // 删除记录 - any /* TODO: QueryWrapper */ recordsQueryWrapper = new QueryWrapper(); - recordsQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("record_id", recordId); - this.diyFormRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - - // 删除万能表单填写字段 - any /* TODO: QueryWrapper */ fieldsQueryWrapper = new QueryWrapper(); - fieldsQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("record_id", recordId); - this.diyFormRecordsFieldsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - - return true; - } catch (e) { - // 事务会自动回滚,因为使用了 @Transactional 注解 - throw new BadRequestException("删除记录失败: " + e.message); - } - } - - /** - * getFieldsList - */ - async getFieldsList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId) - .eq("form_id", diyFormRecordsFieldsSearchParam.formId); - if(diyFormRecordsFieldsSearchParam.getSort() === "asc") - { - queryWrapper.orderByAsc(diyFormRecordsFieldsSearchParam.getOrder()); - }else { - queryWrapper.orderByDesc(diyFormRecordsFieldsSearchParam.getOrder()); - } - const list: DiyFormFields[] = this.diyFormFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const listVo: DiyFormFieldsListVo[] = []; - for (const item of list) { - const vo: DiyFormFieldsListVo = new DiyFormFieldsListVo(); - Object.assign(vo, item); - listVo.push(vo); - } - return listVo; - } - - /** - * getSelectPage - */ - async getSelectPage(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - // 验证表单ID集合 - const verifyFormIds: number[] = []; - if (param.getVerifyFormIds() != null && !param.getVerifyFormIds().isEmpty()) { - // 查询存在的表单ID - const existForms: DiyForm[] = this.diyFormRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .in("form_id", param.getVerifyFormIds()) - ); - - verifyFormIds = existForms - .map(DiyForm::getFormId) - ; - } - - // 构建查询条件 - Lambdaany /* TODO: QueryWrapper */ queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(DiyForm::getSiteId, this.requestContext.siteId) - .eq(DiyForm::getStatus, 1) - .orderByDesc(DiyForm::getFormId); - - // 添加搜索条件 - if (StringUtils.hasText(param.title)) { - queryWrapper.like(DiyForm::getTitle, param.title); - } - if (StringUtils.hasText(param.type)) { - queryWrapper.eq(DiyForm::getType, param.type); - } - if (StringUtils.hasText(param.getAddon())) { - queryWrapper.eq(DiyForm::getAddon, param.getAddon()); - } - - // 分页查询 - [DiyForm[], number] formPage = this.diyFormRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - if (formPageTotal == 0){ - return PageResult.build(page, limit, 0, []); - } - const resultList: DiyFormInfoVo[] = []; - formPageRecords.forEach(item => { - const diyFormInfoVo: DiyFormInfoVo = new DiyFormInfoVo(); - Object.assign(diyFormInfoVo, item); - const currentType: Record = new DiyFormTypeEnum().getType(item.type); - const typeName: string = currentType.getStr("title"); - diyFormInfoVo.setTypeName(typeName); - const addon: Addon = this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq(Addon::getKey, item.getAddon())); - const addonName: string = CommonUtils.isNotEmpty(addon) ? addon.title : ""; - diyFormInfoVo.setAddonName(addonName); - resultList.push(diyFormInfoVo); - }); - return PageResult.build(page, limit, formPageTotal, resultList); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-column-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-column-service-impl.service.ts deleted file mode 100644 index 0d73c1d7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-column-service-impl.service.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class GenerateColumnServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * insertAll - */ - async insertAll(...args: any[]): Promise { - super.saveOrUpdateBatch(list); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-service-impl.service.ts deleted file mode 100644 index 1d9d4495..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/generator/impl/generate-service-impl.service.ts +++ /dev/null @@ -1,404 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class GenerateServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPage - */ - async getPage(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("ngt"); - queryWrapper.select("ngt.id, ngt.table_name, ngt.table_content, ngt.module_name, ngt.class_name, ngt.create_time, ngt.edit_type, ngt.addon_name, ngt.order_type, ngt.parent_menu, ngt.relations, ngt.synchronous_number, na.title, na.`key`"); - queryWrapper.leftJoin("?_addon na ON na.`key` = ngt.addon_name".replace("?_", this.appConfig.tablePrefix)); - if (CommonUtils.isNotEmpty(searchParam.getTableName())) { - queryWrapper.like("ngt.table_name", searchParam.getTableName()); - } - - if (CommonUtils.isNotEmpty(searchParam.getTableContent())) { - queryWrapper.eq("ngt.table_content", searchParam.getTableContent()); - } - - if (CommonUtils.isNotEmpty(searchParam.getAddonName())) { - if (searchParam.getAddonName() === "2") { - queryWrapper.eq("ngt.addon_name", ""); - } else { - queryWrapper.like("ngt.addon_name", searchParam.getAddonName()); - } - } - - queryWrapper.orderByDesc("ngt.create_time"); - - [GenerateListVo[], number] iPage = generateTableMapper.selectJoinPage(new Page<>(page, limit), GenerateListVo.class, queryWrapper); - return PageResult.build(iPage); - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - const generateTable: GenerateTable = generateTableMapper.selectById(id); - if (CommonUtils.isEmpty(generateTable)) throw new AdminException("生成表不存在"); - const vo: GenerateDetailVo = new GenerateDetailVo(); - Object.assign(vo, generateTable); - - if (vo.getOrderType() != 0) { - const orderColumn: GenerateColumn = this.generateColumnRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("is_order", 1)); - if (CommonUtils.isNotEmpty(orderColumn)) { - vo.setOrderColumnName(orderColumn.getColumnName()); - } else { - vo.setOrderColumnName(""); - } - } - const deleteColumn: GenerateColumn = this.generateColumnRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("is_delete", 1)); - if (CommonUtils.isNotEmpty(deleteColumn)) { - vo.setDeleteColumnName(deleteColumn.getColumnName()); - vo.setIsDelete(1); - } else { - vo.setDeleteColumnName(""); - vo.setIsDelete(0); - } - const columnList: GenerateColumn[] = this.generateColumnRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - if (CommonUtils.isNotEmpty(columnList)) { - const columnVoList: GenerateColumnVo[] = []; - for (const column of columnList) { - const generateColumnVo: GenerateColumnVo = new GenerateColumnVo(); - Object.assign(generateColumnVo, column); - if (column.getViewType() === "number") { - if (!column.getValidateType().isEmpty()) { - if (column.getValidateType().startsWith("[")) { - const numValidate: JSONArray = JSONUtil.parseArray(column.getValidateType()); - if (numValidate.get(0).toString() === "between") { - generateColumnVo.setViewMax(JSONUtil.parseArray(numValidate.get(1)).get(1).toString()); - generateColumnVo.setViewMin(JSONUtil.parseArray(numValidate.get(1)).get(0).toString()); - } else if (numValidate.get(0).toString() === "max") { - generateColumnVo.setViewMax(JSONUtil.parseArray(numValidate.get(1)).get(0).toString()); - } else if (numValidate.get(0).toString() === "min") { - generateColumnVo.setViewMin(JSONUtil.parseArray(numValidate.get(1)).get(0).toString()); - } else { - generateColumnVo.setViewMax("100"); - generateColumnVo.setViewMin("0"); - } - } else { - generateColumnVo.setViewMax("100"); - generateColumnVo.setViewMin("0"); - } - - } else { - generateColumnVo.setViewMax("100"); - generateColumnVo.setViewMin("0"); - } - } else { - generateColumnVo.setViewMax(""); - generateColumnVo.setViewMin(""); - } - if (!column.getValidateType().isEmpty()) { - if (column.getValidateType().startsWith("[")) { - const num1Validate: JSONArray = JSONUtil.parseArray(column.getValidateType()); - if (num1Validate.get(0).toString() === "between") { - generateColumnVo.setMaxNumber(JSONUtil.parseArray(num1Validate.get(1)).get(1).toString()); - generateColumnVo.setMinNumber(JSONUtil.parseArray(num1Validate.get(1)).get(0).toString()); - } else if (num1Validate.get(0).toString() === "max") { - generateColumnVo.setMaxNumber(JSONUtil.parseArray(num1Validate.get(1)).get(0).toString()); - } else if (num1Validate.get(0).toString() === "min") { - generateColumnVo.setMinNumber(JSONUtil.parseArray(num1Validate.get(1)).get(0).toString()); - } else { - generateColumnVo.setMaxNumber("120"); - generateColumnVo.setMinNumber("1"); - } - } else { - generateColumnVo.setMaxNumber("120"); - generateColumnVo.setMinNumber("1"); - } - - } else { - generateColumnVo.setMaxNumber("120"); - generateColumnVo.setMinNumber("1"); - } - if (!column.getModel().isEmpty()) { - generateColumnVo.setSelectType(2); - } else { - generateColumnVo.setSelectType(1); - } - columnVoList.push(generateColumnVo); - } - vo.setTableColumn(columnVoList); - } - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const sql: string = "SHOW TABLE STATUS WHERE 1=1 "; - const tablePrefix: string = this.appConfig.tablePrefix; - if (!generateParam.getTableName().isEmpty()) { - sql += " AND Name = '" + generateParam.getTableName() + "'"; - } - List> listData = jdbcTemplate.queryForList(sql); - if (CommonUtils.isEmpty(listData)) throw new AdminException("数据表不存在"); - const table: Record = listData.get(0); - if (CommonUtils.isEmpty(table)) throw new AdminException("数据表不存在"); - const tableName: string = table.get("Name").toString().substring(tablePrefix.length()); - - //添加生成表数据 - const generateTable: GenerateTable = new GenerateTable(); - generateTable.setTableName(tableName); - generateTable.setTableContent(table.get("Comment").toString()); - generateTable.setClassName(tableName); - generateTable.createTime = Date.now( / 1000); - generateTable.setModuleName(tableName); - this.generateTableRepository.save(generateTable); - - //添加生成字段数据 - List> columns = jdbcTemplate.queryForList("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and TABLE_NAME='" + tablePrefix + tableName + "'"); - const id: number = generateTable.id; - const list: GenerateColumn[] = []; - for (Record column : columns) { - const generateColumn: GenerateColumn = new GenerateColumn(); - - generateColumn.setIsRequired(0); - const defaultColumn: string[] = {"id", "create_time", "update_time"}; - if (column.get("IS_NULLABLE").toString() === "NO" && !column.get("COLUMN_KEY").equals("PRI") && [defaultColumn].includes(column.get("COLUMN_NAME").toString())) { - generateColumn.setIsRequired(1); - } - - generateColumn.setTableId(id); - generateColumn.setColumnName(column.get("COLUMN_NAME").toString()); - generateColumn.setColumnType(getDbFieldType(column.get("DATA_TYPE").toString())); - if (generateColumn.getColumnType() === "number" && generateColumn.getColumnName().includes("time")) { - generateColumn.setColumnType("number"); - } - generateColumn.setColumnComment(column.get("COLUMN_COMMENT").toString()); - generateColumn.setIsPk(column.get("COLUMN_KEY").equals("PRI") ? 1 : 0); - generateColumn.setIsInsert([defaultColumn].includes(column.get("COLUMN_NAME").toString()) ? 0 : 1); - generateColumn.setIsUpdate([defaultColumn].includes(column.get("COLUMN_NAME").toString()) ? 0 : 1); - generateColumn.setIsLists([defaultColumn].includes(column.get("COLUMN_NAME").toString()) ? 0 : 1); - generateColumn.setIsDelete(0); - generateColumn.setQueryType("="); - generateColumn.setViewType("input"); - generateColumn.setDictType(""); - generateColumn.setAddon(""); - generateColumn.setModel(""); - generateColumn.setLabelKey(""); - generateColumn.setValueKey(""); - generateColumn.createTime = Date.now( / 1000); - generateColumn.updateTime = Date.now( / 1000); - list.push(generateColumn); - - } - this.generateColumnService.insertAll(list); - return id; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - //添加生成表数据 - const generateTable: GenerateTable = new GenerateTable(); - generateTable.id = id; - generateTable.setTableName(generateParam.getTableName()); - generateTable.setTableContent(generateParam.getTableContent()); - generateTable.setModuleName(generateParam.getModuleName()); - generateTable.setClassName(generateParam.getClassName()); - generateTable.setEditType(generateParam.getEditType()); - generateTable.setAddonName(generateParam.getAddonName()); - generateTable.setOrderType(generateParam.getOrderType()); - generateTable.setParentMenu(generateParam.getParentMenu()); - generateTable.setRelations(generateParam.getRelations()); - generateTableMapper.updateById(generateTable); - //更新表字段 - this.generateColumnRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - const columns: JSONArray = JSONUtil.parseArray(generateParam.getTableColumn()); - const list: GenerateColumn[] = []; - - for (const i of number = 0; i < columns.length; i++) { - const generateColumn: GenerateColumn = new GenerateColumn(); - const column: Record = columns.getRecord(i); - generateColumn.setTableId(id); - generateColumn.setColumnName(column.getStr("column_name")); - generateColumn.setColumnComment(column.getStr("column_comment")); - generateColumn.setIsPk(column.getInt("is_pk")); - generateColumn.setIsRequired(column.getInt("is_required")); - generateColumn.setIsInsert(column.getInt("is_insert")); - generateColumn.setIsUpdate(column.getInt("is_update")); - generateColumn.setIsLists(column.getInt("is_lists")); - generateColumn.setIsSearch(column.getInt("is_search")); - generateColumn.setIsDelete(0); - generateColumn.setIsOrder(0); - generateColumn.setQueryType(column.getStr("query_type")); - generateColumn.setViewType(CommonUtils.isEmpty(column.getStr("view_type")) ? "input" : column.getStr("view_type")); - generateColumn.setDictType(CommonUtils.isEmpty(column.getStr("dict_type")) ? "" : column.getStr("dict_type")); - generateColumn.setAddon(CommonUtils.isEmpty(column.getStr("addon")) ? "" : column.getStr("addon")); - generateColumn.setModel(CommonUtils.isEmpty(column.getStr("model")) ? "" : column.getStr("model")); - generateColumn.setLabelKey(CommonUtils.isEmpty(column.getStr("label_key")) ? "" : column.getStr("label_key")); - generateColumn.setValueKey(CommonUtils.isEmpty(column.getStr("value_key")) ? "" : column.getStr("value_key")); - generateColumn.updateTime = Date.now( / 1000); - generateColumn.createTime = Date.now( / 1000); - generateColumn.setColumnType(CommonUtils.isEmpty(column.getStr("column_type")) ? "String" : column.getStr("column_type")); - generateColumn.setValidateType(CommonUtils.isEmpty(column.getStr("validate_type")) ? "" : column.getStr("validate_type")); - //传入字段rule暂时不知含义,待定 - - if (generateParam.getIsDelete() == 1) { - if (column.getStr("column_name").equals(generateParam.getDeleteColumnName())) { - generateColumn.setIsDelete(1); - } - } - if (generateParam.getOrderType() != 0) { - if (column.getStr("column_name").equals(generateParam.getOrderColumnName())) { - generateColumn.setIsOrder(1); - } - } - - if (CommonUtils.isNotEmpty(column.getStr("validate_type")) && !column.getStr("view_type").equals("number")) { - if (column.getStr("validate_type").equals("between")) { - const jsonArray: JSONArray = new JSONArray(); - jsonArray.push("between"); - jsonArray.push(new String[]{column.getStr("min_number"), column.getStr("max_number")}); - generateColumn.setValidateType(jsonArray.toString()); - } else if (column.getStr("validate_type").equals("max")) { - const jsonArray: JSONArray = new JSONArray(); - jsonArray.push("max"); - jsonArray.push(new String[]{column.getStr("max_number")}); - generateColumn.setValidateType(jsonArray.toString()); - } else if (column.getStr("validate_type").equals("min")) { - const jsonArray: JSONArray = new JSONArray(); - jsonArray.push("min"); - jsonArray.push(new String[]{column.getStr("min_number")}); - generateColumn.setValidateType(jsonArray.toString()); - } - } - - if (column.getStr("view_type").equals("number")) { - const numJsonArray: JSONArray = new JSONArray(); - numJsonArray.push("between"); - numJsonArray.push(new String[]{column.getStr("view_min"), column.getStr("view_max")}); - generateColumn.setValidateType(numJsonArray.toString()); - } - if (CommonUtils.isNotEmpty(column.getStr("model"))) { - generateColumn.setDictType(""); - } - list.push(generateColumn); - - } - - this.generateColumnService.insertAll(list); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.generateTableRepository.delete(id); - this.generateColumnRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * generate - */ - async generate(...args: any[]): Promise { - const generateTable: GenerateTable = generateTableMapper.selectById(generateCodeParam.id); - const columnList: GenerateColumn[] = this.generateColumnRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - const coreGenerateService: CoreGenerateService = new CoreGenerateService(); - const list: CoreGenerateTemplateVo[] = this.coreGenerateService.generateCode(generateTable, columnList); - - // 下载 - if (generateCodeParam.getGenerateType() === "2") { - const tempDir: string = this.appConfig.webRootDownResource + "upload/generate/"; - const packageDir: string = tempDir + "package/"; - FileTools.createDirs(packageDir); - FileUtil.clean(tempDir); - for (const coreGenerateTemplateVo of list) { - FileTools.createDirs(packageDir + coreGenerateTemplateVo.path); - FileUtil.writeUtf8String(coreGenerateTemplateVo.data, packageDir + coreGenerateTemplateVo.getPath(, coreGenerateTemplateVo.getFileName())); - } - const zipFile: string = ZipUtil.zip(packageDir, tempDir + "package.zip"); - } else { - // 同步 - if (this.appConfig.envType !== "dev") throw new BadRequestException("只有在开发模式下才能进行同步代码"); - - for (const coreGenerateTemplateVo of list) { - if (coreGenerateTemplateVo.type === "sql") { - SQLScriptRunnerTools.execScript(coreGenerateTemplateVo.data); - } else { - FileUtil.writeUtf8String(coreGenerateTemplateVo.data, this.appConfig.projectRoot + "/" + coreGenerateTemplateVo.getPath(, coreGenerateTemplateVo.getFileName())); - } - } - } - } - - /** - * preview - */ - async preview(...args: any[]): Promise { - const generateTable: GenerateTable = generateTableMapper.selectById(id); - const list: GenerateColumn[] = this.generateColumnRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const coreGenerateService: CoreGenerateService = new CoreGenerateService(); - const columnList: CoreGenerateTemplateVo[] = this.coreGenerateService.generateCode(generateTable, list); - const voList: GeneratePreviewVo[] = []; - for (const coreGenerateTemplateVo of columnList) { - const vo: GeneratePreviewVo = new GeneratePreviewVo(); - vo.name = coreGenerateTemplateVo.getFileName(); - vo.type = coreGenerateTemplateVo.type; - vo.setContent(coreGenerateTemplateVo.data); - vo.setFileDir(coreGenerateTemplateVo.path + "/"); - voList.push(vo); - } - return voList; - } - - /** - * getDbFieldType - */ - async getDbFieldType(...args: any[]): Promise { - type = getDbType(type); - const map: Record = SqlColumnEnum.getMap(); - const field: string = ""; - for (Map.Entry entry : map.entrySet()) { - if ([entry.getValue(]).includes(type)) { - field = entry.key; - } - } - if (field === "") { - field = "String"; - } - return field; - } - - /** - * getDbType - */ - async getDbType(...args: any[]): Promise { - if (StrUtil.includes(columnType, "(")) { - return StrUtil.subAfter(columnType, "(", true); - } else { - return columnType; - } - } - - /** - * checkFile - */ - async checkFile(...args: any[]): Promise { - return null; - } - - /** - * getTableColumn - */ - async getTableColumn(...args: any[]): Promise { - return null; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/home/impl/auth-site-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/home/impl/auth-site-service-impl.service.ts deleted file mode 100644 index 4c99f36a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/home/impl/auth-site-service-impl.service.ts +++ /dev/null @@ -1,367 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class AuthSiteServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - //查询条件判断组装 - if (CommonUtils.isNotEmpty(searchParam.getKeywords())) { - queryWrapper.like("site_name", searchParam.getKeywords()).or().like("site_id", searchParam.getKeywords()); - } - - if (CommonUtils.isNotEmpty(searchParam.status)) { - queryWrapper.eq("status", searchParam.status); - } - - if (CommonUtils.isNotEmpty(searchParam.getGroupId())) { - queryWrapper.eq("group_id", searchParam.getGroupId()); - } - - if (CommonUtils.isNotEmpty(searchParam.getApp())) { - queryWrapper.like("app", searchParam.getApp()); - } - - if (CommonUtils.isNotEmpty(searchParam.getSiteDomain())) { - queryWrapper.like("site_domain", searchParam.getSiteDomain()); - } - queryWrapper.ne("app_type", "admin"); - - const siteIds: number[] = getSiteIds(); - if(!this.authService.isSuperAdmin()) { - if (CommonUtils.isNotEmpty(siteIds)) { - queryWrapper.in("site_id", siteIds); - } else { - return PageResult.build(page, limit, 0).setData([]); - } - } - - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - - const createTime: string[] = searchParam.createTime; - const startTime: number = (createTime[0] == null) ? 0: DateUtils.StringToTimestamp(createTime[0]); - console.log(startTime); - const endTime: number = (createTime[1] == null) ? 0: DateUtils.StringToTimestamp(createTime[1]); - if(startTime > 0 && endTime > 0) - { - queryWrapper.between("create_time", startTime, endTime); - }else if (startTime > 0 && endTime == 0) - { - queryWrapper.ge("create_time", startTime); - }else if (startTime == 0 && endTime > 0) - { - queryWrapper.le("create_time", startTime); - } - } - - if (CommonUtils.isNotEmpty(searchParam.getExpireTime())) { - - const expireTime: string[] = searchParam.getExpireTime(); - const startTime: number = (expireTime[0] == null) ? 0: DateUtils.StringToTimestamp(expireTime[0]); - console.log(startTime); - const endTime: number = (expireTime[1] == null) ? 0: DateUtils.StringToTimestamp(expireTime[1]); - if(startTime > 0 && endTime > 0) - { - queryWrapper.between("expire_time", startTime, endTime); - }else if (startTime > 0 && endTime == 0) - { - queryWrapper.ge("expire_time", startTime); - }else if (startTime == 0 && endTime > 0) - { - queryWrapper.le("expire_time", startTime); - } - } - - if(CommonUtils.isEmpty(searchParam.getSort())){ - queryWrapper.orderByDesc("create_time"); - }else{ - queryWrapper.orderByDesc(searchParam.getSort()); - } - - [Site[], number] iPage = this.siteRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SiteListVo[] = []; - for (const item of iPageRecords) { - const vo: SiteListVo = new SiteListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ siteMPJQueryWrapper = new MPJQueryWrapper(); - siteMPJQueryWrapper.select("ns.site_id, ns.site_name, ns.group_id, ns.keywords, ns.app_type, ns.logo, ns.`desc`, ns.status, ns.latitude, ns.longitude, ns.province_id, ns.city_id, ns.district_id, ns.address, ns.full_address, ns.phone, ns.business_hours, ns.create_time, ns.expire_time, ns.front_end_name, ns.front_end_logo, ns.front_end_icon, ns.icon, ns.member_no, ns.app, ns.addons, ns.initalled_addon, ns.site_domain, nsg.group_name") - .setAlias("ns") - .leftJoin("?_site_group nsg ON ns.group_id = nsg.group_id".replace("?_", this.appConfig.tablePrefix)); - siteMPJQueryWrapper.eq("ns.site_id", id); - const siteInfoVo: SiteInfoVo = siteMapper.selectJoinOne(SiteInfoVo.class, siteMPJQueryWrapper); - siteInfoVo.setAddonKeys(this.this.CoreSiteService.getAddonKeysBySiteId(siteInfoVo.siteId)); - if(siteInfoVo.getAddonKeys().size()!=0){ - siteInfoVo.setSiteAddons(this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("type", AddonActionEnum.ADDON.getCode()))); - siteInfoVo.setApps(this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("type", AddonActionEnum.APP.getCode()))); - }else{ - siteInfoVo.setSiteAddons([]); - siteInfoVo.setApps([]); - } - return siteInfoVo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: Site = new Site(); - model.setSiteName(addParam.getSiteName()); - model.setGroupId(addParam.getGroupId()); - model.setKeywords(addParam.getKeywords()); - model.setAppType(addParam.appType); - //model.setLogo(UrlUtils.toRelativeUrl(addParam.getLogo())); - model.desc = addParam.desc; - model.status = addParam.status; - model.setLatitude(addParam.getLatitude()); - model.setLongitude(addParam.getLongitude()); - model.setProvinceId(addParam.getProvinceId()); - model.setCityId(addParam.getCityId()); - model.setDistrictId(addParam.getDistrictId()); - model.setAddress(addParam.getAddress()); - model.setFullAddress(addParam.getFullAddress()); - model.setPhone(addParam.getPhone()); - model.setBusinessHours(addParam.getBusinessHours()); - model.createTime = Date.now( / 1000); - model.setExpireTime(addParam.getExpireTime()); - model.setFrontEndName(addParam.getFrontEndName()); - model.setFrontEndLogo(addParam.getFrontEndLogo()); - model.setFrontEndIcon(addParam.getFrontEndIcon()); - model.icon = addParam.icon; - model.setMemberNo(addParam.getMemberNo()); - model.setApp(addParam.getApp()); - model.setAddons(addParam.getAddons()); - model.setInitalledAddon(addParam.getInitalledAddon()); - model.setSiteDomain(addParam.getSiteDomain()); - this.siteRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: Site = this.siteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.siteId = id; - model.setSiteName(editParam.getSiteName()); - model.setGroupId(editParam.getGroupId()); - model.setKeywords(editParam.getKeywords()); - model.setAppType(editParam.appType); - //model.setLogo(UrlUtils.toRelativeUrl(editParam.getLogo())); - model.desc = editParam.desc; - model.status = editParam.status; - model.setLatitude(editParam.getLatitude()); - model.setLongitude(editParam.getLongitude()); - model.setProvinceId(editParam.getProvinceId()); - model.setCityId(editParam.getCityId()); - model.setDistrictId(editParam.getDistrictId()); - model.setAddress(editParam.getAddress()); - model.setFullAddress(editParam.getFullAddress()); - model.setPhone(editParam.getPhone()); - model.setBusinessHours(editParam.getBusinessHours()); - model.setExpireTime(editParam.getExpireTime()); - model.setFrontEndName(editParam.getFrontEndName()); - model.setFrontEndLogo(editParam.getFrontEndLogo()); - model.setFrontEndIcon(editParam.getFrontEndIcon()); - model.icon = editParam.icon; - model.setMemberNo(editParam.getMemberNo()); - model.setApp(editParam.getApp()); - model.setAddons(editParam.getAddons()); - model.setInitalledAddon(editParam.getInitalledAddon()); - model.setSiteDomain(editParam.getSiteDomain()); - siteMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: Site = this.siteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.siteRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * closeSite - */ - async closeSite(...args: any[]): Promise { - const model: Site = new Site(); - model.siteId = siteId; - model.status = SiteStatusEnum.CLOSE.getCode(); - siteMapper.updateById(model); - } - - /** - * openSite - */ - async openSite(...args: any[]): Promise { - const model: Site = new Site(); - model.siteId = siteId; - model.status = SiteStatusEnum.ON.getCode(); - siteMapper.updateById(model); - } - - /** - * getSiteCountByCondition - */ - async getSiteCountByCondition(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper=new QueryWrapper(); - if (CommonUtils.isNotEmpty(siteSearchParam.createTime)) { - - const createTime: string[] = siteSearchParam.createTime; - const startTime: number = (createTime[0] == null) ? 0: DateUtils.StringToTimestamp(createTime[0]); - const endTime: number = (createTime[1] == null) ? 0: DateUtils.StringToTimestamp(createTime[1]); - if(startTime > 0 && endTime > 0) - { - queryWrapper.between("create_time", startTime, endTime); - }else if (startTime > 0 && endTime == 0) - { - queryWrapper.ge("create_time", startTime); - }else if (startTime == 0 && endTime > 0) - { - queryWrapper.le("create_time", startTime); - } - } - - if (CommonUtils.isNotEmpty(siteSearchParam.status)) { - queryWrapper.eq("status", siteSearchParam.status); - } - - if (CommonUtils.isNotEmpty(siteSearchParam.getGroupId())) { - queryWrapper.eq("group_id", siteSearchParam.getGroupId()); - } - - if (CommonUtils.isNotEmpty(siteSearchParam.getExpireTime())) { - - const expireTime: string[] = siteSearchParam.getExpireTime(); - const startTime: number = (expireTime[0] == null) ? 0: DateUtils.StringToTimestamp(expireTime[0]); - const endTime: number = (expireTime[1] == null) ? 0: DateUtils.StringToTimestamp(expireTime[1]); - if(startTime > 0 && endTime > 0) - { - queryWrapper.between("expire_time", startTime, endTime); - }else if (startTime > 0 && endTime == 0) - { - queryWrapper.ge("expire_time", startTime); - }else if (startTime == 0 && endTime > 0) - { - queryWrapper.le("expire_time", startTime); - } - } - const siteCount: number = this.siteRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - return siteCount.intValue(); - } - - /** - * getSiteIds - */ - async getSiteIds(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJany /* TODO: QueryWrapper */(); - queryWrapper.select("site_id").eq("uid", RequestUtils.uid()).ne("site_id", RequestUtils.defaultSiteId()).eq("status", 1); - const sysUserRoleList: SysUserRole[] = this.sysUserRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const siteIds: number[] = []; - for (const sysUserRole of sysUserRoleList) { - siteIds.push(sysUserRole.siteId); - } - return siteIds; - } - - /** - * getSiteGroup - */ - async getSiteGroup(...args: any[]): Promise { - const userCreateSiteVoList: UserCreateSiteVo[] = []; - if(this.authService.isSuperAdmin()){ - const siteGroupList: SiteGroup[] = this.siteGroupRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - for (const siteGroup of siteGroupList) { - const userCreateSiteVo: UserCreateSiteVo = new UserCreateSiteVo(); - userCreateSiteVo.setGroupId(siteGroup.getGroupId()); - const siteGroupVo: SiteGroupVo = new SiteGroupVo(); - BeanUtil.copyProperties(siteGroup, siteGroupVo); - siteGroupVo.setAppName(this.addonService.getTitleListByKey(siteGroup.getApp())); - siteGroupVo.setAddonName(this.addonService.getTitleListByKey(siteGroup.getAddon())); - userCreateSiteVo.setSiteGroup(siteGroupVo); - userCreateSiteVoList.push(userCreateSiteVo); - } - }else{ - any /* TODO: QueryWrapper */ userCreateSiteLimitQueryWrapper=new QueryWrapper(); - userCreateSiteLimitQueryWrapper.eq("uid", RequestUtils.uid()); - const userCreateSiteLimitList: UserCreateSiteLimit[] = this.userCreateSiteLimitRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - for (const userCreateSiteLimit of userCreateSiteLimitList) { - const userCreateSiteVo: UserCreateSiteVo = new UserCreateSiteVo(); - BeanUtil.copyProperties(userCreateSiteLimit, userCreateSiteVo); - const siteGroup: SiteGroup = siteGroupMapper.selectById(userCreateSiteLimit.getGroupId()); - const siteGroupVo: SiteGroupVo = new SiteGroupVo(); - BeanUtil.copyProperties(siteGroup, siteGroupVo); - siteGroupVo.setAppName(this.addonService.getTitleListByKey(siteGroup.getApp())); - siteGroupVo.setAddonName(this.addonService.getTitleListByKey(siteGroup.getAddon())); - userCreateSiteVo.setSiteGroup(siteGroupVo); - userCreateSiteVoList.push(userCreateSiteVo); - } - } - return userCreateSiteVoList; - } - - /** - * createSite - */ - async createSite(...args: any[]): Promise { - const month: number = 1; - if(!this.authService.isSuperAdmin()){ - const userCreateSiteLimit: UserCreateSiteLimit = this.userCreateSiteLimitRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("group_id", homeSiteAddParam.getGroupId())); - if (!userCreateSiteLimit) throw new BadRequestException("NO_PERMISSION_TO_CREATE_SITE_GROUP"); - const userSiteNum: number = this.siteGroupService.getUserSiteGroupSiteNum(RequestUtils.uid(), homeSiteAddParam.getGroupId()); - if(userSiteNum>userCreateSiteLimit.getNum()-1){ - throw new BadRequestException("SITE_GROUP_CREATE_SITE_EXCEEDS_LIMIT"); - } - month=userCreateSiteLimit.getMonth(); - } - const siteAddParam: SiteAddParam = new SiteAddParam(); - siteAddParam.setSiteName(homeSiteAddParam.getSiteName()); - siteAddParam.setUid(RequestUtils.uid()); - siteAddParam.setGroupId(homeSiteAddParam.getGroupId()); - siteAddParam.setExpireTime(DateUtils.getDateAddMonth(month)); - this.siteService.push(siteAddParam); - } - - /** - * getSiteGroupAppList - */ - async getSiteGroupAppList(...args: any[]): Promise { - const siteGroupAppList: string[] = getSiteGroupApps(); - if (CollectionUtils.isEmpty(siteGroupAppList)){ - return List.of(); - } - const addonList: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(Addon::getStatus, AddonStatusEnum.ON.getCode()) - .eq(Addon::getType, AddonActionEnum.APP.getCode()) - .in(Addon::getKey, siteGroupAppList)); - - return processAddonList(addonList); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-account-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-account-service-impl.service.ts deleted file mode 100644 index 4d4a230a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-account-service-impl.service.ts +++ /dev/null @@ -1,172 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberAccountServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("mal").innerJoin("?_member m ON mal.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("mal.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("mal.site_id", siteId); - queryWrapper.eq("mal.account_type", searchParam.getAccountType()); - queryWrapper.orderByDesc("mal.id"); - - if (CommonUtils.isNotEmpty(searchParam.getKeywords())) - queryWrapper.like("m.member_no|m.username|m.nickname|m.mobile", searchParam.getKeywords()); - if (ObjectUtil.defaultIfNull(searchParam.memberId, 0) > 0) - queryWrapper.eq("mal.member_id", searchParam.memberId); - if (CommonUtils.isNotEmpty(searchParam.getFromType())) - queryWrapper.eq("mal.from_type", searchParam.getFromType()); - if (CommonUtils.isNotEmpty(searchParam.createTime)) - QueryMapperUtils.buildByTime(queryWrapper, "mal.create_time", searchParam.createTime); - - [MemberAccountLogVo[], number] iPage = memberAccountLogMapper.selectJoinPage(new Page<>(page, limit), MemberAccountLogVo.class, queryWrapper); - const list: MemberAccountLogListVo[] = []; - for (const item of iPageRecords) { - const vo: MemberAccountLogListVo = new MemberAccountLogListVo(); - Object.assign(vo, item); - - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - - vo.setMember(memberInfoVo); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getMemberAccountInfo - */ - async getMemberAccountInfo(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId)); - if (!member) throw new BadRequestException("会员不存在"); - - const memberAccountVo: MemberAccountVo = new MemberAccountVo(); - Object.assign(memberAccountVo, member); - - return memberAccountVo; - } - - /** - * sumCommission - */ - async sumCommission(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const vo: SumCommissionVo = new SumCommissionVo(); - const zero: BigDecimal = (new BigDecimal(0)); - - if (CommonUtils.isNotEmpty(searchParam.memberId) && searchParam.memberId > 0) { - const memberAccountInfo: MemberAccountVo = this.getMemberAccountInfo(searchParam.memberId); - vo.setCommission(memberAccountInfo.getCommission()); - vo.setCommissionCashOuting(memberAccountInfo.getCommissionCashOuting()); - vo.setTotalCommission(memberAccountInfo.getCommissionGet()); - const memberAccountLog: MemberAccountLog = this.memberAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS account_sum") - .eq("member_id", searchParam.memberId) - .eq("site_id", siteId) - .eq("account_type", AccountTypeEnum.COMMISSION.type) - .eq("from_type", "cash_out")); - vo.setWithdrawnCommission(memberAccountLog == null ? zero : memberAccountLog.getAccountSum()); - } else { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS commission_get,SUM(commission) AS commission, SUM(commission_cash_outing) AS commission_cash_outing") - .eq("site_id", siteId)); - - vo.setCommission(member == null ? zero : member.getCommission()); - vo.setCommissionCashOuting(member == null ? zero : member.getCommissionCashOuting()); - vo.setTotalCommission(member == null ? zero : member.getCommissionGet()); - const memberAccountLog: MemberAccountLog = this.memberAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS account_sum") - .eq("site_id", siteId) - .eq("account_type", AccountTypeEnum.COMMISSION.type) - .eq("from_type", "cash_out")); - vo.setWithdrawnCommission(memberAccountLog == null ? zero : memberAccountLog.getAccountSum()); - } - return vo; - } - - /** - * sumBalance - */ - async sumBalance(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const vo: SumBalanceVo = new SumBalanceVo(); - - if (CommonUtils.isNotEmpty(searchParam.memberId) && searchParam.memberId > 0) { - const memberAccountInfo: MemberAccountVo = this.getMemberAccountInfo(searchParam.memberId); - - vo.setBalance(memberAccountInfo == null ? new BigDecimal(0) : memberAccountInfo.getBalance()); - vo.setMoney(memberAccountInfo == null ? new BigDecimal(0) : memberAccountInfo.getMoney()); - } else { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS balance,SUM(money) AS money") - .eq("site_id", siteId)); - - vo.setBalance(member == null ? new BigDecimal(0) : member.getBalance()); - vo.setMoney(member == null ? new BigDecimal(0) : member.getMoney()); - } - - return vo; - } - - /** - * sumPoint - */ - async sumPoint(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const vo: SumPointVo = new SumPointVo(); - - if (CommonUtils.isNotEmpty(searchParam.memberId) && searchParam.memberId > 0) { - const memberAccountInfo: MemberAccountVo = this.getMemberAccountInfo(searchParam.memberId); - const memberAccountLog: MemberAccountLog = this.memberAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS account_sum") - .eq("site_id", siteId) - .eq("member_id", searchParam.memberId) - .eq("account_type", AccountTypeEnum.POINT.type) - .lt("account_data", 0)); - vo.setPointGet(memberAccountInfo.getPointGet()); - vo.setPointUse(memberAccountLog == null ? 0 : memberAccountLog.getAccountSum().abs().intValue()); - } else { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS point_get") - .eq("site_id", siteId)); - vo.setPointGet(member == null ? 0 : member.getPointGet()); - - const memberAccountLog: MemberAccountLog = this.memberAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) AS account_sum") - .eq("site_id", siteId) - .eq("account_type", AccountTypeEnum.POINT.type) - .lt("account_data", 0)); - vo.setPointUse(memberAccountLog == null ? 0 : memberAccountLog.getAccountSum().abs().intValue()); - } - - return vo; - } - - /** - * adjustPoint - */ - async adjustPoint(...args: any[]): Promise { - this.coreMemberAccountService.addLog(this.requestContext.siteId, param.memberId, AccountTypeEnum.POINT.type, param.getAccountData(), "adjust", param.getMemo(), ""); - } - - /** - * adjustBalance - */ - async adjustBalance(...args: any[]): Promise { - this.coreMemberAccountService.addLog(this.requestContext.siteId, param.memberId, AccountTypeEnum.BALANCE.type, param.getAccountData(), "adjust", param.getMemo(), ""); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-address-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-address-service-impl.service.ts deleted file mode 100644 index 04dfd793..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-address-service-impl.service.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberAddressServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - queryWrapper.eq("site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.memberId)) queryWrapper.eq("member_id", searchParam.memberId); - - const records: MemberAddress[] = this.memberAddressRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const list: MemberAddressListVo[] = []; - for (const item of records) { - const vo: MemberAddressListVo = new MemberAddressListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: MemberAddress = this.memberAddressRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - ); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: MemberAddressInfoVo = new MemberAddressInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: MemberAddress = new MemberAddress(); - Object.assign(model, addParam); - model.siteId = this.requestContext.siteId; - this.memberAddressRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: MemberAddress = this.memberAddressRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - ); - - if (!model) throw new BadRequestException("数据不存在!"); - Object.assign(model, editParam); - memberAddressMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: MemberAddress = this.memberAddressRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.memberAddressRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-cash-out-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-cash-out-service-impl.service.ts deleted file mode 100644 index 1f983f38..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-cash-out-service-impl.service.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberCashOutServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * pages - */ - async pages(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("mco").innerJoin("?_member m ON mco.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("mco.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("mco.site_id", siteId); - queryWrapper.orderByDesc("mco.id"); - - if (CommonUtils.isNotEmpty(searchParam.getKeywords())) { - queryWrapper.and(i => i.like("m.member_no", searchParam.getKeywords()) - .or().like("m.username", searchParam.getKeywords()) - .or().like("m.nickname", searchParam.getKeywords()) - .or().like("m.mobile", searchParam.getKeywords()) - ); - } - if (CommonUtils.isNotEmpty(searchParam.memberId) && searchParam.memberId > 0) queryWrapper.eq("mco.member_id", searchParam.memberId); - if (CommonUtils.isNotEmpty(searchParam.status)) queryWrapper.eq("mco.status", searchParam.status); - if (CommonUtils.isNotEmpty(searchParam.getCashOutNo())) queryWrapper.like("mco.cash_out_no", searchParam.getCashOutNo()); - if (CommonUtils.isNotEmpty(searchParam.getTransferType())) queryWrapper.like("mco.transfer_type", searchParam.getTransferType()); - if (CommonUtils.isNotEmpty(searchParam.createTime)) QueryMapperUtils.buildByTime(queryWrapper, "mco.create_time", searchParam.createTime); - if (CommonUtils.isNotEmpty(searchParam.getTransferTime())) QueryMapperUtils.buildByTime(queryWrapper, "mco.transfer_time", searchParam.getTransferTime()); - - [MemberCashOutListVo[], number] iPage = memberCashOutMapper.selectJoinPage(new Page<>(page, limit), MemberCashOutListVo.class, queryWrapper); - for (const item of iPageRecords) { - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - item.setMember(memberInfoVo); - } - return PageResult.build(page, limit, iPageTotal).setData(iPageRecords); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const vo: MemberCashOutInfoVo = memberCashOutMapper.selectJoinOne( - MemberCashOutInfoVo.class, - new MPJany /* TODO: QueryWrapper */() - .select("mco.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg,pt.transfer_voucher,pt.transfer_remark") - .eq("mco.id", id) - .eq("mco.site_id", siteId) - .setAlias("mco") - .leftJoin("?_member m ON mco.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)) - .leftJoin("?_pay_transfer pt ON mco.transfer_no = pt.transfer_no".replace("?_", this.appConfig.tablePrefix)) - ); - - if (vo != null) { - MemberCashOutInfoVo.const transfer: Transfer = new MemberCashOutInfoVo.Transfer(); - transfer.setTransferNo(vo.getTransferNo()); - transfer.setTransferRemark(vo.getTransferRemark()); - transfer.setTransferVoucher(vo.getTransferVoucher()); - vo.setTransfer(transfer); - } - - return vo; - } - - /** - * stat - */ - async stat(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const vo: CashOutStatVo = new CashOutStatVo(); - - const transfered: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", siteId) - .select("SUM(apply_money) AS apply_money") - .last("limit 1")); - - const allMoney: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .select("SUM(apply_money) AS apply_money") - .last("limit 1")); - - const zero: BigDecimal = new BigDecimal(0); - vo.setTransfered(transfered == null ? zero : transfered.getApplyMoney()); - if (allMoney != null) { - vo.setCashOuting(allMoney.getApplyMoney().subtract(vo.getTransfered())); - } else { - vo.setCashOuting(zero); - } - return vo; - } - - /** - * audit - */ - async audit(...args: any[]): Promise { - this.this.CoreMemberCashOutService.audit(this.requestContext.siteId, param.id, param.action, param); - } - - /** - * transfer - */ - async transfer(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", siteId) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - this.this.CoreMemberCashOutService.transfer(model, param); - } - - /** - * cancel - */ - async cancel(...args: any[]): Promise { - this.this.CoreMemberCashOutService.cancel(this.requestContext.siteId, id); - } - - /** - * remark - */ - async remark(...args: any[]): Promise { - const model: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - ); - if (!model) throw new BadRequestException("数据不存在"); - - model.setRemark(param.getRemark()); - memberCashOutMapper.updateById(model); - } - - /** - * checkTransferStatus - */ - async checkTransferStatus(...args: any[]): Promise { - this.this.CoreMemberCashOutService.checkTransferStatus(this.requestContext.siteId, id); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-config-service-impl.service.ts deleted file mode 100644 index f99b3a4a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-config-service-impl.service.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getLoginConfig - */ - async getLoginConfig(...args: any[]): Promise { - return this.this.CoreMemberConfigService.getLoginConfig(this.requestContext.siteId); - } - - /** - * setLoginConfig - */ - async setLoginConfig(...args: any[]): Promise { - this.this.CoreMemberConfigService.setLoginConfig(this.requestContext.siteId, configParam); - } - - /** - * getCashOutConfig - */ - async getCashOutConfig(...args: any[]): Promise { - return this.this.CoreMemberConfigService.getCashOutConfig(this.requestContext.siteId); - } - - /** - * setCashOutConfig - */ - async setCashOutConfig(...args: any[]): Promise { - this.this.CoreMemberConfigService.setCashOutConfig(this.requestContext.siteId, configParam); - } - - /** - * getMemberConfig - */ - async getMemberConfig(...args: any[]): Promise { - return this.this.CoreMemberConfigService.getMemberConfig(this.requestContext.siteId); - } - - /** - * setMemberConfig - */ - async setMemberConfig(...args: any[]): Promise { - this.this.CoreMemberConfigService.setMemberConfig(this.requestContext.siteId, configParam); - } - - /** - * getGrowthRuleConfig - */ - async getGrowthRuleConfig(...args: any[]): Promise { - return this.this.CoreMemberConfigService.getGrowthRuleConfig(this.requestContext.siteId); - } - - /** - * setGrowthRuleConfig - */ - async setGrowthRuleConfig(...args: any[]): Promise { - this.this.CoreMemberConfigService.setGrowthRuleConfig(this.requestContext.siteId, configParam); - } - - /** - * getPointRuleConfig - */ - async getPointRuleConfig(...args: any[]): Promise { - return this.this.CoreMemberConfigService.getPointRuleConfig(this.requestContext.siteId); - } - - /** - * setPointRuleConfig - */ - async setPointRuleConfig(...args: any[]): Promise { - this.this.CoreMemberConfigService.setPointRuleConfig(this.requestContext.siteId, configParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-label-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-label-service-impl.service.ts deleted file mode 100644 index bcf7407c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-label-service-impl.service.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberLabelServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId); - queryWrapper.orderByDesc("label_id"); - if (CommonUtils.isNotEmpty(searchParam.getLabelName())){ - queryWrapper.like("label_name", searchParam.getLabelName()); - } - [MemberLabel[], number] iPage = this.memberLabelRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: MemberLabelListVo[] = []; - for (const item of iPageRecords) { - const vo: MemberLabelListVo = new MemberLabelListVo(); - const labelId: number = item.getLabelId(); - any /* TODO: QueryWrapper */ wrapper = new QueryWrapper(); - wrapper.eq("site_id",siteId); - const canshu: string = String(labelId); - //添加如果是空值判断 - wrapper.apply("JSON_VALID(member_label) = 1 AND JSON_SEARCH(member_label, 'one', {0}) IS NOT NULL",canshu); - const members: Member[] = this.memberRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - Object.assign(vo, item); - vo.setMemberNum(members.length); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: MemberLabel = this.memberLabelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("label_id", id) - .last("limit 1")); - - if (!model) throw new BadRequestException("标签不存在"); - - const vo: MemberLabelInfoVo = new MemberLabelInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: MemberLabel = new MemberLabel(); - model.siteId = siteId; - model.setLabelName(addParam.getLabelName()); - model.setMemo(addParam.getMemo()); - model.setSort(addParam.getSort()); - model.createTime = Date.now( / 1000); - - this.memberLabelRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - UpdateWrapper updateWrapper = new UpdateWrapper(); - updateWrapper.eq("site_id", siteId) - .eq("label_id", id); - - const model: MemberLabel = new MemberLabel(); - model.setLabelName(editParam.getLabelName()); - model.setMemo(editParam.getMemo()); - model.setSort(editParam.getSort()); - model.updateTime = Date.now( / 1000); - - this.memberLabelRepository.save(model, updateWrapper); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", siteId) - .eq("label_id", id); - - this.memberLabelRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * all - */ - async all(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJany /* TODO: QueryWrapper */(); - queryWrapper.select("label_id,label_name").eq("site_id", siteId); - - const labels: MemberLabel[] = this.memberLabelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); // 调用 selectList 方法 - - const list: MemberLabelAllListVo[] = []; - for (const item of labels) { - const vo: MemberLabelAllListVo = new MemberLabelAllListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-level-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-level-service-impl.service.ts deleted file mode 100644 index aef4d9e6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-level-service-impl.service.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberLevelServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId); - queryWrapper.orderByAsc("growth"); - if (CommonUtils.isNotEmpty(searchParam.getLevelName())) queryWrapper.like("level_name", searchParam.getLevelName()); - - [MemberLevel[], number] iPage = this.memberLevelRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: MemberLevelListVo[] = []; - for (const item of iPageRecords) { - const vo: MemberLevelListVo = new MemberLevelListVo(); - Object.assign(vo, item); - vo.setMemberNum(this.memberRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })))); - if (CommonUtils.isNotEmpty(item.getLevelBenefits())) vo.setLevelBenefits(this.coreMemberService.getBenefitsContent(item.siteId, JsonUtils.parseObject(item.getLevelBenefits()), "admin")); - if (CommonUtils.isNotEmpty(item.getLevelGifts())) vo.setLevelGifts(this.coreMemberService.getGiftContent(item.siteId, JsonUtils.parseObject(item.getLevelGifts()), "admin")); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: MemberLevel = this.memberLevelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("level_id", id) - .last("limit 1")); - - if (!model) throw new BadRequestException("等级不存在"); - - const vo: MemberLevelInfoVo = new MemberLevelInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: MemberLevel = new MemberLevel(); - - model.siteId = siteId; - model.setLevelName(addParam.getLevelName()); - model.setGrowth(addParam.getGrowth()); - model.setRemark(addParam.getRemark()); - model.createTime = Date.now( / 1000); - model.setLevelBenefits(addParam.getLevelBenefits().toString()); - model.setLevelGifts(addParam.getLevelGifts().toString()); - - this.memberLevelRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - UpdateWrapper updateWrapper = new UpdateWrapper(); - updateWrapper.eq("site_id", siteId) - .eq("level_id", id); - - const model: MemberLevel = new MemberLevel(); - model.setLevelName(editParam.getLevelName()); - model.setGrowth(editParam.getGrowth()); - model.setRemark(editParam.getRemark()); - model.updateTime = Date.now( / 1000); - model.setLevelBenefits(editParam.getLevelBenefits().toString()); - model.setLevelGifts(editParam.getLevelGifts().toString()); - - this.memberLevelRepository.save(model, updateWrapper); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const memberNum: number = this.memberRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("member_level", id)); - if (memberNum > 0) throw new BadRequestException("该等级下存在会员不允许删除"); - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", siteId) - .eq("level_id", id); - - this.memberLevelRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * all - */ - async all(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJany /* TODO: QueryWrapper */(); - queryWrapper.select("level_id,level_name, growth,site_id,level_benefits,level_gifts").eq("site_id", siteId); - - const labels: MemberLevel[] = this.memberLevelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); // 调用 selectList 方法 - - const list: MemberLevelAllListVo[] = []; - for (const item of labels) { - const vo: MemberLevelAllListVo = new MemberLevelAllListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-service-impl.service.ts deleted file mode 100644 index ba04d2f4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-service-impl.service.ts +++ /dev/null @@ -1,364 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - const siteId: number = this.requestContext.siteId; - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("m").leftJoin("?_member_level ml ON ml.level_id = m.member_level".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("m.*, ml.level_name as member_level_name"); - queryWrapper.eq("m.site_id", siteId); - queryWrapper.orderByDesc("member_id"); - - // 查询条件 - if (CommonUtils.isNotEmpty(searchParam.keyword)) { - queryWrapper.and(i => i.like("member_no", searchParam.keyword).or() - .like("username", searchParam.keyword).or() - .like("nickname", searchParam.keyword).or() - .like("mobile", searchParam.keyword)); - } - - if (ObjectUtil.isNotNull(searchParam.getIsDel()) && CommonUtils.isNotEmpty(searchParam.keyword)) { - queryWrapper.eq("is_del", searchParam.getIsDel()); - } - if (CommonUtils.isNotEmpty(searchParam.getMemberLevel()) && searchParam.getMemberLevel() != 0) { - queryWrapper.eq("member_level", searchParam.getMemberLevel()); - } - if (CommonUtils.isNotEmpty(searchParam.getRegisterChannel())) { - queryWrapper.eq("register_channel", searchParam.getRegisterChannel()); - } - if (CommonUtils.isNotEmpty(searchParam.getMemberLabel()) && searchParam.getMemberLabel() != 0) { - queryWrapper.like("member_label", searchParam.getMemberLabel()); - } - if (CommonUtils.isNotEmpty(searchParam.getRegisterType())) { - queryWrapper.eq("register_type", searchParam.getRegisterType()); - } - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - QueryMapperUtils.buildByTime(queryWrapper, "m.create_time", searchParam.createTime); - } - - [Member[], number] iPage = null; - const memberList: Member[] = []; - if (page > 0 && limit > 0) { - iPage = this.memberRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - memberList = iPageRecords; - } else { - memberList = this.memberRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - const levelMap: Record = Collections.emptyMap(); - const levelIds: number[] = CollStreamUtil.toSet(memberList, Member::getMemberLevel); - if (CommonUtils.isNotEmpty(levelIds)) { - levelMap = memberLevelMapper.selectBatchIds(levelIds).stream().collect(/* Collectors已删除 */.toMap(MemberLevel::getLevelId, e => e)); - } - - const list: MemberListVo[] = []; - for (const item of memberList) { - const vo: MemberListVo = new MemberListVo(); - Object.assign(vo, item); - vo.setSexName(SexEnum.getNameBySex(item.getSex())); - vo.setStatusName(StatusEnum.getNameByStatus(item.status)); - vo.setRegisterChannelName(ChannelEnum.getNameByCode(item.getRegisterChannel())); - vo.setMemberLevelName(levelMap.getOrDefault(item.getMemberLevel(), new MemberLevel()).getLevelName()); - - if (!item.getMemberLabel().isEmpty()) { - const memberLabelArrays: JSONArray = JSONUtil.parseArray(vo.getMemberLabel()); - if (memberLabelArrays != null && memberLabelArrays.length > 0) { - const memberLabelArray: MemberLabelAllListVo[] = []; - const labelList: MemberLabel[] = this.memberLabelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).in("label_id", memberLabelArrays)); - for (const labelItem of labelList) { - const labelVo: MemberLabelAllListVo = new MemberLabelAllListVo(); - Object.assign(labelVo, labelItem); - memberLabelArray.push(labelVo); - } - vo.setMemberLabelArray(memberLabelArray); - } - } - list.push(vo); - } - return PageResult.build(page, limit, iPage == null ? list.length : iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - const model: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .setAlias("m") - .leftJoin("?_member_level ml ON ml.level_id = m.member_level".replace("?_", this.appConfig.tablePrefix)) - .select("m.*, ml.level_name as member_level_name") - .eq("member_id", id) - .eq("m.site_id", siteId) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: MemberInfoVo = new MemberInfoVo(); - Object.assign(vo, model); - if ("0".equals(model.getMemberLevel())){ - vo.setMemberLevel(""); - } - - if (StrUtil.isNotEmpty(model.getMemberLabel()) && ![model.getMemberLabel(]).isEmpty()) { - const memberLabelArrays: JSONArray = JSONUtil.parseArray(vo.getMemberLabel()); - if (memberLabelArrays != null && memberLabelArrays.length > 0) { - const memberLabelArray: MemberLabelAllListVo[] = []; - const labelList: MemberLabel[] = this.memberLabelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).in("label_id", memberLabelArrays)); - for (const item of labelList) { - const labelVo: MemberLabelAllListVo = new MemberLabelAllListVo(); - Object.assign(labelVo, item); - memberLabelArray.push(labelVo); - } - vo.setMemberLabelArray(memberLabelArray); - } - } - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - addParam.setUsername(addParam.getMobile()); - - const mobileIsExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .and(i => i.eq("mobile", addParam.getMobile()).or().eq("username", addParam.getMobile())) - .last("limit 1")); - Assert.isNull(mobileIsExist, "手机号已存在"); - - if (addParam.getNickname().length() == 0 & addParam.getMobile().length() > 0) { - addParam.setNickname(addParam.getMobile().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")); - } - - if (addParam.getMemberNo().isEmpty()) { - addParam.setMemberNo(this.this.CoreMemberService.createMemberNo(siteId)); - } else { - const memberNoIsExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .eq("member_no", addParam.getMemberNo()) - .last("limit 1")); - Assert.isNull(memberNoIsExist, "会员编码已存在"); - } - - const model: Member = new Member(); - model.siteId = siteId; - model.setMobile(addParam.getMobile()); - model.setMemberNo(addParam.getMemberNo()); - model.setUsername(addParam.getUsername()); - model.setNickname(addParam.getNickname()); - model.setHeadimg(addParam.getHeadimg()); - model.setPassword(PasswordEncipher.encode(addParam.getPassword())); - model.setRegisterType(MemberRegisterTypeEnum.MANUAL.type); - model.setRegisterChannel(MemberRegisterChannelEnum.MANUAL.type); - model.createTime = Date.now( / 1000); - model.setMemberLabel("[]"); - this.memberRepository.save(model); - // 会员注册事件 - const registerEvent: MemberRegisterEvent = new MemberRegisterEvent(); - registerEvent.siteId = this.requestContext.siteId; - registerEvent.addAppSign("shop_fenxiao"); - registerEvent.name = "MemberRegisterEvent"; - registerEvent.setMember(model); - EventPublisher.publishEvent(registerEvent); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - UpdateWrapper updateWrapper = new UpdateWrapper(); - updateWrapper.eq("site_id", siteId) - .eq("member_id", id); - - const model: Member = new Member(); - model.setNickname(editParam.getNickname()); - model.setHeadimg(editParam.getHeadimg()); - model.setPassword(editParam.getPassword()); - model.setSex(editParam.getSex()); - model.setBirthday(editParam.getBirthday()); - - this.memberRepository.save(model, updateWrapper); - } - - /** - * modify - */ - async modify(...args: any[]): Promise { - if (editParam == null || editParam.getField() == null || editParam.value == null) { - if(editParam.getField() === "member_label"){ - throw new AdminException("修改参数不能为空"); - } - } - - const siteId: number = this.requestContext.siteId; - const value: string = String(editParam.value).trim(); - - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper(); - updateWrapper.eq(Member::getSiteId, siteId) - .eq(Member::getMemberId, editParam.memberId); - - switch (editParam.getField()) { - case "nickname": - updateWrapper.set(Member::getNickname, value === "" || value === "null" ? "" : value); - break; - case "headimg": - updateWrapper.set(Member::getHeadimg, value === "" || value === "null" ? "" : value); - break; - case "member_label": - updateWrapper.set(Member::getMemberLabel, (!value || value.length === 0) ? "[]" : value); - break; - case "member_level": - updateWrapper.set(Member::getMemberLevel, value === "" || value === "null" ? 0 : number.parseInt(value)); - break; - case "birthday": - updateWrapper.set(Member::getBirthday, value === "" || value === "null" ? "" : value); - break; - case "sex": - updateWrapper.set(Member::getSex, value === "" || value === "null" ? 0 : number.parseInt(value)); - break; - case "id_card": - // if (!IdcardUtil.isValidCard(value) && (value && value.length > 0)){ - // throw new AdminException("请输入正确的身份证号"); - // } - updateWrapper.set(Member::getIdCard, value === "" || value === "null" ? "" : value); - break; - case "remark": - updateWrapper.set(Member::getRemark, value === "" || value === "null" ? "" : value); - break; - case "mobile": - if (!PhoneUtil.isPhone(value) && (value && value.length > 0)){ - throw new AdminException("请输入正确的手机号"); - } - updateWrapper.set(Member::getMobile, value === "" || value === "null" ? "" : value); - break; - } - - this.memberRepository.save(updateWrapper); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", siteId) - .eq("member_id", id) - .last("limit 1"); - - this.memberRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * all - */ - async all(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJany /* TODO: QueryWrapper */(); - queryWrapper.select("member_id,headimg,nickname").eq("site_id", siteId); - if (CommonUtils.isNotEmpty(searchParam.keyword)) - queryWrapper.like("member_no|username|nickname|mobile", searchParam.keyword); - - const members: Member[] = this.memberRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); // 调用 selectList 方法 - - const list: MemberAllListVo[] = []; - for (const item of members) { - const vo: MemberAllListVo = new MemberAllListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } - - /** - * setStatus - */ - async setStatus(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - UpdateWrapper updateWrapper = new UpdateWrapper(); - updateWrapper.in("member_id", param.getMemberIds()); - updateWrapper.eq("site_id", siteId); - - const updateMember: Member = new Member(); - updateMember.status = status; - this.memberRepository.save(updateMember, updateWrapper); - } - - /** - * getMemberNo - */ - async getMemberNo(...args: any[]): Promise { - return this.this.CoreMemberService.createMemberNo(this.requestContext.siteId); - } - - /** - * getMemberGiftsContent - */ - async getMemberGiftsContent(...args: any[]): Promise { - return this.this.CoreMemberService.getGiftContent(this.requestContext.siteId, param.getRecord("gifts"), "admin"); - } - - /** - * getMemberBenefitsContent - */ - async getMemberBenefitsContent(...args: any[]): Promise { - return this.this.CoreMemberService.getBenefitsContent(this.requestContext.siteId, param.getRecord("benefits"), "admin"); - } - - /** - * batchModify - */ - async batchModify(...args: any[]): Promise { - if (CommonUtils.isEmpty(param.value.toString())){ - return; - } - const field: string = param.getField(); - const memberIds: number[] = param.getMemberIds(); - const isAll: number = param.getIsAll(); - if (!"member_label".equals(field) && !"member_level".equals(field)){ - throw new BadRequestException("不支持的字段:" + field); - } - UpdateWrapper uw = new UpdateWrapper(); - if (isAll == 0){ - if (!StringUtils.isEmptyArray(memberIds)){ - uw.in("member_id", memberIds); - } - }else { - if (!StringUtils.isEmptyArray(memberIds)) { - uw.notIn("member_id", memberIds); - } - } - if ("member_label".equals(field)){ - const value: JSONArray = JSONUtil.parseArray(param.value); - uw.set("member_label", JSONUtil.toJsonStr(value)); - }else if ("member_level".equals(field)){ - uw.set("member_level", number.parseInt(param.value.toString())); - } - this.memberRepository.save(uw); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-sign-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-sign-service-impl.service.ts deleted file mode 100644 index 5280af97..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/member/impl/member-sign-service-impl.service.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberSignServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * pages - */ - async pages(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("ms").innerJoin("?_member m ON ms.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("ms.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("ms.site_id", siteId); - queryWrapper.orderByDesc("ms.sign_id"); - - if (CommonUtils.isNotEmpty(searchParam.getKeywords())){ - // queryWrapper.like("m.member_no|m.username|m.nickname|m.mobile", searchParam.getKeywords()); - QueryMapperUtils.addMultiLike(queryWrapper, searchParam.getKeywords(), - "m.member_no", "m.username", "m.nickname", "m.mobile"); - } - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - QueryMapperUtils.buildByTime(queryWrapper, "ms.create_time", searchParam.createTime); - } - - [MemberSign[], number] iPage = this.memberSignRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: MemberSignListVo[] = []; - for (const item of iPageRecords) { - const vo: MemberSignListVo = new MemberSignListVo(); - Object.assign(vo, item); - - if (!item.getDayAward().isEmpty()) { - vo.setDayAward(this.coreMemberService.getGiftContent(item.siteId, JsonUtils.parseObject(item.getDayAward()), "admin")); - } - if (!item.getContinueAward().isEmpty()) { - vo.setContinueAward(this.coreMemberService.getGiftContent(item.siteId, JsonUtils.parseObject(item.getContinueAward()), "admin")); - } - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - - vo.setMember(memberInfoVo); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getSignConfig - */ - async getSignConfig(...args: any[]): Promise { - const config: Record = this.this.CoreConfigService.getConfigValue(this.requestContext.siteId, "SIGN_CONFIG"); - return Object.assign(new SignConfigVo(), config) /* TODO: 检查SignConfigVo构造函数 */; - } - - /** - * setSignConfig - */ - async setSignConfig(...args: any[]): Promise { - this.this.CoreConfigService.setConfig(this.requestContext.siteId, "SIGN_CONFIG", JsonUtils.parseObject(configParam)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/cloud-build-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/cloud-build-service-impl.service.ts deleted file mode 100644 index 63971c1f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/cloud-build-service-impl.service.ts +++ /dev/null @@ -1,153 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class CloudBuildServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getBuildTask - */ - async getBuildTask(...args: any[]): Promise { - if (cached.get("cloud_build_task") == null) return null; - this.buildTask = (Record) cached.get("cloud_build_task"); - if (!this.buildTask.getStr("mode").equals(mode)) return null; - return this.buildTask; - } - - /** - * buildPreCheck - */ - async buildPreCheck(...args: any[]): Promise { - const checkResult: Record = new Record(); - checkResult.put("is_pass", true); - checkResult.put("dir", {}); - return checkResult; - } - - /** - * build - */ - async build(...args: any[]): Promise { - getBuildTask(mode); - - if (this.buildTask != null) throw new BadRequestException("已有正在执行中的编译任务"); - - const taskKey: string = RandomUtil.randomString(10); - - this.buildTask = new Record(); - this.buildTask.set("mode", mode); - this.buildTask.set("task_key", taskKey); - - const tempDir: string = this.appConfig.webRootDownRuntime + "cloud_build/" + taskKey + "/"; - const packageDir: string = tempDir + "package/"; - FileTools.createDirs(packageDir); - - buildPackage(packageDir); - - const zipFile: string = ZipUtil.zip(packageDir, tempDir + "build.zip"); - - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const actionQuery: Record = new const query: Record<>(); - actionQuery.put("data[product_key]", instance.getProductKey()); - const actionToken: Record = this.niucloudService.getActionToken("cloudbuild", actionQuery); - - Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("timestamp", Date.now() / 1000); - query.put("token", actionToken == null ? "" : actionToken.getStr("token")); - - const response: HttpResponse = new NiucloudUtils.Cloud().useThirdBuild().build("cloud/build").query(query) - .func(i => { - i.form("file", zipFile, "build.zip"); - }) - .method(Method.POST).execute(); - - const res: Record = JsonUtils.parseObject(response.body()); - - if (!res.getInt("code", 0).equals(1)) throw new BadRequestException(res.getStr("msg")); - - this.buildTask.set("timestamp", query.get("timestamp")); - cached.put("cloud_build_task", this.buildTask); - - return this.buildTask; - } - - /** - * getBuildLog - */ - async getBuildLog(...args: any[]): Promise { - getBuildTask(mode); - - if (this.buildTask == null) return null; - if (!this.buildTask.getStr("mode").equals(mode)) return null; - - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("timestamp", this.buildTask.getStr("timestamp")); - - const response: HttpResponse = new NiucloudUtils.Cloud().useThirdBuild().build("cloud/get_build_logs").query(query).method(Method.GET).execute(); - if (!JSONUtil.isJson(response.body())) return null; - - const res: Record = JsonUtils.parseObject(response.body()); - - const data: JSONArray = res.getByPath("data.0", JSONArray.class); - if (data.length > 0) { - const last: Record = data.getRecord(data.length - 1); - if (last.getInt("percent", 0).equals(100) && last.getInt("code", 0).equals(1)) { - res = buildSuccess(res); - } - } - return res; - } - - /** - * setLocalCloudCompileConfig - */ - async setLocalCloudCompileConfig(...args: any[]): Promise { - const jsonObject: Record = JsonUtils.parseObject(JSONUtil.toJsonPrettyStr(param)); - this.coreConfigService.setConfig(RequestUtils.defaultSiteId(), "LOCAL_CLOUD_COMPILE_CONFIG", jsonObject); - } - - /** - * connectTest - */ - async connectTest(...args: any[]): Promise { - try { - const stringBuilder: StringBuilder = new StringBuilder(); - stringBuilder.append("http://") - .append(InetAddress.getByName("oss.niucloud.com").getHostAddress()) - .append(":8000/"); - baseUrl = stringBuilder.toString(); - if (checkLocal){ - isConnected =checkLocal(url); - } - return isConnected; - } catch (e) { - throw new AdminException("联通测试失败"); - } - } - - /** - * clearBuildTask - */ - async clearBuildTask(...args: any[]): Promise { - if (this.buildTask == null) return; - const tempDir: string = this.appConfig.webRootDownRuntime + "cloud_build/" + this.buildTask.getStr("task_key"); - try { - if (fs.existsSync(tempDir)) fs.rmSync(tempDir, { recursive: true, force: true }); - } catch (e) { - } - cached.remove("cloud_build_task"); - this.buildTask = null; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/niu-cloud-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/niu-cloud-service-impl.service.ts deleted file mode 100644 index efbd1339..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/niucloud/impl/niu-cloud-service-impl.service.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class NiuCloudServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getFrameworkLastVersion - */ - async getFrameworkLastVersion(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - - const data: Record = NiucloudUtils.Niucloud.get("store/framework/lastversion", query).getRecord("data"); - - const frameWorkVersion: FrameWorkVersion = new FrameWorkVersion(); - if (data != null) { - frameWorkVersion.setLastVersion(data.getStr("last_version", "")); - frameWorkVersion.setLastUpdateTime(data.getStr("last_update_time", "")); - } - - return frameWorkVersion; - } - - /** - * getFrameworkVersionList - */ - async getFrameworkVersionList(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - - const data: JSONArray = NiucloudUtils.Niucloud.get("store/framework/version", query).getJSONArray("data"); - if (data == null) return null; - - const list: FrameworkVersionListVo[] = []; - for (const i of number = 0; i < data.length; i++) { - list.push(Object.assign(new FrameworkVersionListVo(), data.getRecord(i)) /* TODO: 检查FrameworkVersionListVo构造函数 */); - } - return list; - } - - /** - * getAuthinfo - */ - async getAuthinfo(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("code", instance.getCode()); - query.put("secret", instance.getSecret()); - query.put("product_key", instance.getProductKey()); - - const authInfo: Record = NiucloudUtils.Niucloud.get("authinfo", query).getRecord("data"); - if (authInfo == null) return null; - - const vo: AuthInfoVo = new AuthInfoVo(); - AuthInfoVo.const data: AuthInfo = JSONUtil.toBean(authInfo, AuthInfoVo.AuthInfo.class); - vo.data = data; - return vo; - } - - /** - * setAuthorize - */ - async setAuthorize(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("code", param.getAuthCode()); - query.put("secret", param.getAuthSecret()); - query.put("product_key", instance.getProductKey()); - - const authInfo: Record = NiucloudUtils.Niucloud.get("authinfo", query).getRecord("data"); - if (authInfo == null) throw new BadRequestException("未获取到授权信息"); - - this.coreNiucloudConfigService.setNiucloudConfig(param); - NiucloudUtils.Niucloud.clearAccessToken(); - } - - /** - * getModuleList - */ - async getModuleList(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("code", instance.getCode()); - query.put("secret", instance.getSecret()); - query.put("product_key", instance.getProductKey()); - - const addonList: JSONArray = NiucloudUtils.Niucloud.get("member_app_all", query).getJSONArray("data"); - if (addonList == null && addonList.length == 0) return null; - - const list: ModuleListVo[] = []; - for (const i of number = 0; i < addonList.length; i++) { - const item: Record = addonList.getRecord(i); - const vo: ModuleListVo = Object.assign(new ModuleListVo(), item) /* TODO: 检查ModuleListVo构造函数 */; - list.push(vo); - } - return list; - } - - /** - * getActionToken - */ - async getActionToken(...args: any[]): Promise { - return NiucloudUtils.Niucloud.get("member_app_action/" + action, query).getRecord("data"); - } - - /** - * checkKey - */ - async checkKey(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - - return NiucloudUtils.Niucloud.get("store/app_check/" + key, query).get("data", boolean.class); - } - - /** - * getAppVersionList - */ - async getAppVersionList(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - query.put("app_key", param.appKey); - - const data: JSONArray = ObjectUtil.defaultIfNull(NiucloudUtils.Niucloud.get("store/app_version/list", query).get("data", JSONArray.class), new JSONArray()); - - const list: AppVersionListVo[] = []; - - for (const i of number = 0; i < data.length; i++) { - list.push(Object.assign(new AppVersionListVo(), data.getRecord(i)) /* TODO: 检查AppVersionListVo构造函数 */); - } - return list; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-log-service-impl.service.ts deleted file mode 100644 index b2c98fe0..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-log-service-impl.service.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class NoticeLogServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPage - */ - async getPage(...args: any[]): Promise { - return this.coreNoticeLogService.getPage(this.requestContext.siteId, pageParam, noticeLogSearchParam); - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - return this.coreNoticeLogService.getInfo(this.requestContext.siteId, id); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-service-impl.service.ts deleted file mode 100644 index 4079228a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/notice-service-impl.service.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class NoticeServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAddonList - */ - async getAddonList(...args: any[]): Promise { - return this.coreNoticeService.getAddonList(this.requestContext.siteId); - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - // return this.coreNoticeService.getInfo(this.requestContext.siteId, key); - return null; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - this.coreNoticeService.edit(this.requestContext.siteId, key, data); - } - - /** - * editMessageStatus - */ - async editMessageStatus(...args: any[]): Promise { - if (NoticeTypeEnum.getNameByType(param.type).isEmpty()) throw new BadRequestException("消息类型不存在"); - - const jsonModuleLoader: JsonModuleLoader = new JsonModuleLoader(); - const notice: Record = jsonModuleLoader.mergeResultElement("notice/notice.json"); - if (notice.getRecord(param.key) == null) throw new BadRequestException("消息类型不存在"); - - const data: Record = new Record(); - data.put("is_" + param.type, param.status); - this.coreNoticeService.edit(this.requestContext.siteId, param.key, data); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/nui-sms-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/nui-sms-service-impl.service.ts deleted file mode 100644 index 9e71ee74..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/notice/impl/nui-sms-service-impl.service.ts +++ /dev/null @@ -1,698 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class NuiSmsServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * captcha - */ - async captcha(...args: any[]): Promise { - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(SEND_CAPTCHA_URL, {}); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取验证码失败异常信息:{}", e.message); - throw new Error(e); - } - } - - /** - * sendMobileCode - */ - async sendMobileCode(...args: any[]): Promise { - const body: Record = {}; - body.put("mobile", param.getMobile()); - body.put("captcha_key", param.getCaptchaKey()); - body.put("captcha_code", param.getCaptchaCode()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(SEND_CODE_URL, body); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("发送验证码失败异常信息:{}", e.message); - throw new AdminException("发送验证码失败"); - } - } - - /** - * registerAccount - */ - async registerAccount(...args: any[]): Promise { - if (CommonUtils.isNotEmpty(param.getImgUrl())) { - param.setImgUrl(RequestUtils.getReqeustURI(, param.getImgUrl()).toString()); - } - const result: Record = null; - try { - result = NiucloudUtils.Niucloud.post(ACCOUNT_REGISTER_URL, param); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - } catch (e) { - log.error("注册账号失败异常信息:{}", e.message); - throw new AdminException("注册账号失败"); - } - return result; - } - - /** - * loginAccount - */ - async loginAccount(...args: any[]): Promise { - const url: string = String.format(LOGIN_ACCOUNT_URL, param.getUsername()); - const body: Record = {}; - body.put("username", param.getUsername()); - body.put("password", param.getPassword()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(url, body); - const result: Record = jsonObject.getRecord("data"); - if (result == null) { - throw new AdminException("登录失败"); - } - param.setSignature(" "); - param.setDefaultVal(" "); - setConfig(param); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("登录账号失败异常信息:{}", e.message); - throw new AdminException(e.message); - } - } - - /** - * resetPassword - */ - async resetPassword(...args: any[]): Promise { - const result: Record = new Record(); - // 获取用户信息 - const data: Record = accountInfo(param.getUsername()); - - // 拆分手机号并验证 - const mobiles: string = String(data.getOrDefault("mobiles", "")); - const mobileList: string[] = [mobiles.split(","]); - if (!mobileList.includes(param.getMobile())) { - throw new AdminException("手机号错误"); - } - - // 重置密码 - const newPassword: string = null; - try { - const resetPasswordUrl: string = String.format(RESET_PASSWORD_URL, param.getUsername()); - const resetPasswordBody: Record = {}; - resetPasswordBody.put("mobile", param.getMobile()); - resetPasswordBody.put("code", param.getCode()); - resetPasswordBody.put("key", param.key); - const resetPasswordJson: Record = NiucloudUtils.Niucloud.put(resetPasswordUrl, resetPasswordBody); - const resetPasswordDataJson: Record = resetPasswordJson.getRecord("data"); - newPassword = resetPasswordDataJson.getStr("newPassword"); - } catch (e) { - log.error("重置密码失败异常信息:{}", e.message); - throw new AdminException("重置密码失败"); - } - - //修改配置 - const registerAccountParam: RegisterAccountParam = new RegisterAccountParam(); - registerAccountParam.setUsername(param.getUsername()); - registerAccountParam.setPassword(param.getPassword()); - setConfig(registerAccountParam); - - result.put("password", newPassword); - return result; - } - - /** - * accountInfo - */ - async accountInfo(...args: any[]): Promise { - const infoUrl: string = String.format(ACCOUNT_INFO_URL, username); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(infoUrl, {}); - const result: Record = jsonObject.getRecord("data"); - // 获取配置 - const nyConfig: Record = getConfig(false); - if (result != null && nyConfig != null && nyConfig.containsKey("username")) { - if (nyConfig.getStr("username").equals(result.getStr("username"))) { - result.set("signature", nyConfig.getOrDefault("signature", "").toString().trim()); - } - } - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取用户信息失败异常信息:{}", e.message); - throw new AdminException("获取用户信息失败"); - } - } - - /** - * getTemplateList - */ - async getTemplateList(...args: any[]): Promise { - const config: Record = getConfig(false); - const siteId: number = this.requestContext.siteId; - if (CommonUtils.isEmpty(config) || !config.getOrDefault("username", "").equals(username)) { - throw new ApiException("牛云短信账号异常,请重新登录账号"); - } - const list: SysNotice[] = this.sysNoticeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const map: Record = {}; - if (!CollectionUtils.isEmpty(list)) { - map = list.collect(/* Collectors已删除 */.toMap(SysNotice::getKey, item => item)); - } - const notice: TemplateListVo[] = []; - for (Map.Entry noticeMap : NoticeEnum.getNiuyunNotice().entrySet()) { - const noticeInfoVo: TemplateListVo = new TemplateListVo(); - BeanUtil.copyProperties(noticeMap.value, noticeInfoVo); - if (map.containsKey(noticeMap.key)) { - BeanUtil.copyProperties(map.get(noticeMap.key), noticeInfoVo); - } - //针对短信,微信公众号,小程序配置 - if (CommonUtils.isNotEmpty(noticeMap.value.getSupport_type_map())) { - for (Map.Entry> supportTypeMap : noticeMap.value.getSupport_type_map().entrySet()) { - if (supportTypeMap.key === "sms") { - noticeInfoVo.setSms(supportTypeMap.value); - } - if (supportTypeMap.key === "wechat") { - noticeInfoVo.setWechat(supportTypeMap.value); - } - if (supportTypeMap.key === "weapp") { - noticeInfoVo.setWeapp(supportTypeMap.value); - } - } - } - - notice.push(noticeInfoVo); - } - const niuSmsTemplates: NiuSmsTemplate[] = this.niuSmsTemplateRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("username", username) - .eq("site_id", siteId)); - const templateMap: Record = {}; - if (!CollectionUtils.isEmpty(niuSmsTemplates)){ - templateMap = niuSmsTemplates.collect(/* Collectors已删除 */.toMap(NiuSmsTemplate::getTemplateKey, item => item)); - } - const addonList: Addon[] = this.coreSiteService.getSiteAddons(siteId); - const sys: Addon = new Addon(); - sys.key = "system"; - addonList.push(0, sys); - const result: TemplateListVo[] = []; - for (const addon of addonList) { - for (const noticeInfoVo of notice) { - if (addon.key === noticeInfoVo.getAddon()) { - if ("system".equals(noticeInfoVo.getAddon())) { - noticeInfoVo.setAddon("系统"); - } - const auditInfo: Record = new Record(); - auditInfo.set("audit_msg", templateMap.containsKey(noticeInfoVo.key) ? templateMap.get(noticeInfoVo.key).getAuditMsg() : ""); - auditInfo.set("audit_status", templateMap.containsKey(noticeInfoVo.key) ? templateMap.get(noticeInfoVo.key).getAuditStatus() : TemplateAuditStatus.TEMPLATE_NOT_REPORT.getCode()); - auditInfo.set("audit_status_name", TemplateAuditStatus.getByCode(auditInfo.getInt("audit_status")).getDescription()); - const paramsJson: string[] = []; - if (templateMap.containsKey(noticeInfoVo.key)){ - const paramJson: string = templateMap.get(noticeInfoVo.key).getParamJson(); - if (CommonUtils.isNotEmpty(paramJson)){ - const jsonObject: Record = JsonUtils.parseObject(paramJson); - paramsJson.addAll(jsonObject.keySet()); - } - } - Collections.sort(paramsJson); - - const variable: string[] = []; - if (CommonUtils.isNotEmpty(noticeInfoVo.getVariable())) { - variable.addAll(noticeInfoVo.getVariable().keySet()); - } - Collections.sort(variable); - - const errorStatus: string = ""; - // 比较两个键列表 - if (templateMap.containsKey(noticeInfoVo.key) && variable !== paramsJson) { - if ((!paramsJson || paramsJson.length === 0)) { - errorStatus = String(TemplateAuditStatus.TEMPLATE_NEED_PULL.getCode()); - } else { - errorStatus = auditInfo.getInt("audit_status") == TemplateAuditStatus.TEMPLATE_PASS.getCode() - ? String(TemplateAuditStatus.TEMPLATE_STATUS_AGAIN_REPORT.getCode()) - : string.valueOf(TemplateAuditStatus.TEMPLATE_NEED_EDIT.getCode()); - } - } - auditInfo.set("error_status", errorStatus); - if (StringUtil.isNotEmpty(errorStatus)){ - auditInfo.set("error_status_name", TemplateAuditStatus.getByCode(number.parseInt(errorStatus)).getDescription()); - }else { - auditInfo.set("error_status_name", ""); - } - noticeInfoVo.setAuditInfo(auditInfo); - if (templateMap.containsKey(noticeInfoVo.key)){ - const niuSmsTemplate: NiuSmsTemplate = templateMap.get(noticeInfoVo.key); - if (StringUtils.isNotEmpty(niuSmsTemplate.getTemplateType())){ - noticeInfoVo.setTemplateTypeName(TemplateTypeEnum.fromCode(number.parseInt(niuSmsTemplate.getTemplateType())).getDescription()); - }else { - noticeInfoVo.setTemplateTypeName(""); - } - noticeInfoVo.setTemplateId(number.parseInt(niuSmsTemplate.getTemplateId())); - } - result.push(noticeInfoVo); - } - } - } - return result; - } - - /** - * orderList - */ - async orderList(...args: any[]): Promise { - const orderListUrl: string = String.format(ORDER_LIST_URL, username); - const result: Record = null; - try { - const orderListParam: Record = {}; - orderListParam.put("out_trade_no", param.getOutTradeNo()); - orderListParam.put("order_status", param.status); - orderListParam.put("create_time_start", param.getCreateTimeStart()); - orderListParam.put("create_time_end", param.getCreateTimeEnd()); - orderListParam.put("limit", pageParam.limit); - orderListParam.put("page", pageParam.page); - const jsonObject: Record = NiucloudUtils.Niucloud.get(orderListUrl, orderListParam); - result = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - } catch (e) { - log.error("获取订单列表失败异常信息:{}", e.message); - throw new AdminException("获取订单列表失败"); - } - return result; - } - - /** - * accountSendList - */ - async accountSendList(...args: any[]): Promise { - const accountSendUrl: string = String.format(ACCOUNT_SEND_LIST_URL, username); - const accountSendParam: Record = {}; - accountSendParam.put("mobile", param.getMobile()); - accountSendParam.put("content", param.getContent()); - accountSendParam.put("smsStatus", param.getSmsStatus()); - accountSendParam.put("limit", pageParam.limit); - accountSendParam.put("page", pageParam.page); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(accountSendUrl, accountSendParam); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取发送列表失败异常信息:{}", e.message); - throw new AdminException("获取发送列表失败"); - } - } - - /** - * enable - */ - async enable(...args: any[]): Promise { - const registerAccountParam: RegisterAccountParam = new RegisterAccountParam(); - if (isEnable == 1) { - const config: Record = getConfig(true); - if (CommonUtils.isEmpty(config) || - !config.containsKey(NIUYUN) || - (config.getRecord(NIUYUN)).get("username") == null || - (config.getRecord(NIUYUN)).get("username").toString().isEmpty() || - (config.getRecord(NIUYUN)).get("password") == null || - (config.getRecord(NIUYUN)).get("password").toString().isEmpty() || - (config.getRecord(NIUYUN)).get("signature") == null || - (config.getRecord(NIUYUN)).get("signature").toString().isEmpty()) { - throw new AdminException("需登录账号并配置签名后才能启用牛云短信"); - } - registerAccountParam.setDefaultVal(NIUYUN); - setConfig(registerAccountParam); - } else { - registerAccountParam.setDefaultVal(" "); - setConfig(registerAccountParam); - } - } - - /** - * editAccount - */ - async editAccount(...args: any[]): Promise { - const editAccountUrl: string = String.format(ACCOUNT_EDIT_URL, username); - const editAccountBody: Record = {}; - editAccountBody.put("new_mobile", param.getNewMobile()); - editAccountBody.put("mobile", param.getMobile()); - editAccountBody.put("code", param.getCode()); - editAccountBody.put("key", param.key); - editAccountBody.put("signature", param.getSignature()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.put(editAccountUrl, editAccountBody); - const registerAccountParam: RegisterAccountParam = new RegisterAccountParam(); - registerAccountParam.setSignature(param.getSignature()); - setConfig(registerAccountParam); - JacksonUtils.removeNull(jsonObject); - return jsonObject; - } catch (e) { - log.error("修改账号信息失败异常信息:{}", e.message); - throw new AdminException("修改账号信息失败"); - } - } - - /** - * signDelete - */ - async signDelete(...args: any[]): Promise { - const config: Record = getConfig(false); - param.setPassword(config.getStr("password")); - try { - const failList: Object[] = delSign(username, param); - - const configSignature: string = config.getStr("signature"); - const signatures: string[] = param.getSignatures(); - - if (signatures != null && (failList && failList.length > 0) && - signatures.includes(configSignature) && - !failList.includes(configSignature)) { - // 如果满足条件,则清空账户的签名 - const editAccountParam: EditAccountParam = new EditAccountParam(); - editAccountParam.setSignature(""); - editAccount(username, editAccountParam); - } - return failList; - } catch (e) { - log.error("删除签名失败异常信息:{}", e.message); - throw new AdminException("删除签名失败异常"); - } - } - - /** - * signCreate - */ - async signCreate(...args: any[]): Promise { - if (CommonUtils.isNotEmpty(param.getImgUrl())) { - param.setImgUrl(RequestUtils.getReqeustURI(, param.getImgUrl()).toString()); - } - const signCreateUrl: string = String.format(SIGN_ADD_URL, username); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(signCreateUrl, param); - const data: Record = jsonObject.getRecord("data"); - if (data.containsKey("failList") && !data.getJSONArray("failList").isEmpty()) { - const failList: JSONArray = data.getJSONArray("failList"); - throw new ApiException(failList.getRecord(0).getStr("msg")); - } - } catch (e) { - log.error("创建签名失败异常信息:{}", e.message); - throw new AdminException("创建签名失败"); - } - } - - /** - * getSmsPackageList - */ - async getSmsPackageList(...args: any[]): Promise { - const pageListParam: Record = {}; - pageListParam.put("package_name", param.getPackageName()); - pageListParam.put("sms_num", param.getSmsNum()); - pageListParam.put("price_start", param.getPriceStart()); - pageListParam.put("price_end", param.getPriceEnd()); - pageListParam.put("original_price_start", param.getOriginalPriceStart()); - pageListParam.put("original_price_end", param.getOriginalPriceEnd()); - pageListParam.put("time_start", param.getTimeStart()); - pageListParam.put("time_end", param.getTimeEnd()); - pageListParam.put("page", 1); - pageListParam.put("limit", 15); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(PACKAGE_LIST_URL, pageListParam); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取套餐列表失败异常信息:{}", e.message); - throw new AdminException("获取套餐列表失败"); - } - } - - /** - * orderCalculate - */ - async orderCalculate(...args: any[]): Promise { - const orderCalculateUrl: string = String.format(ORDER_CALCULATE_URL, username); - const orderCalculateBody: Record = {}; - orderCalculateBody.put("package_id", param.getPackageId()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(orderCalculateUrl, orderCalculateBody); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("计算订单失败异常信息:{}", e.message); - throw new AdminException("计算订单失败"); - } - } - - /** - * createOrder - */ - async createOrder(...args: any[]): Promise { - const orderCreateUrl: string = String.format(ORDER_CREATE_URL, username); - const orderCreateBody: Record = {}; - orderCreateBody.put("package_id", param.getPackageId()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(orderCreateUrl, orderCreateBody); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("创建订单失败异常信息:{}", e.message); - throw new AdminException("创建订单失败"); - } - } - - /** - * getPayInfo - */ - async getPayInfo(...args: any[]): Promise { - const request: HttpServletRequest = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); - - const protocol: string = request.isSecure() ? "https" : "http"; - const host: string = request.getServerName(); - const port: number = request.getServerPort(); - if (port != 80 && port != 443) { - host += ":" + port; - } - const returnUrl: string = String.format("%s://%s/site/setting/sms/pay", protocol, host); - const payInfoUrl: string = String.format(ORDER_PAY_URL, username); - const payInfoBody: Record = {}; - payInfoBody.put("notify_url", payInfoUrl); - payInfoBody.put("return_url", returnUrl); - payInfoBody.put("out_trade_no", outTradeNo); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(payInfoUrl, payInfoBody); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取支付信息失败异常信息:{}", e.message); - throw new AdminException("获取支付信息失败"); - } - } - - /** - * getOrderInfo - */ - async getOrderInfo(...args: any[]): Promise { - const orderInfoUrl: string = String.format(ORDER_INFO_URL, username, outTradeNo); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(orderInfoUrl, {}); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取订单信息失败异常信息:{}", e.message); - throw new AdminException("获取订单信息失败"); - } - } - - /** - * getOrderStatus - */ - async getOrderStatus(...args: any[]): Promise { - const orderStatusUrl: string = String.format(ORDER_STATUS_URL, username, outTradeNo); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(orderStatusUrl, {}); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - return result; - } catch (e) { - log.error("获取订单状态失败异常信息:{}", e.message); - throw new AdminException("获取订单状态失败"); - } - } - - /** - * templateCreate - */ - async templateCreate(...args: any[]): Promise { - const templateKey: string = param.getTemplateKey(); - const templateList: TemplateListVo[] = getTemplateList(smsType, username); - - // 查找模版信息,如果不存在则抛出异常 - const templateInfo: TemplateListVo = templateList - .filter(item => item.key === templateKey) - .findFirst() - .orElseThrow(() => new AdminException("当前模版未配置短信内容")); - - // 检查模版是否配置了短信内容,如果未配置则抛出异常 - if (CommonUtils.isEmpty(templateInfo.getSms()) || CommonUtils.isEmpty(templateInfo.getSms().get("content"))) { - throw new AdminException("当前模版未配置短信内容"); - } - - // 检查模版是否已经审核通过,如果已通过则抛出异常 - const modelInfo: NiuSmsTemplate[] = this.niuSmsTemplateRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .eq("username", username)); - if (!CollectionUtils.isEmpty(modelInfo) && TemplateAuditStatus.TEMPLATE_PASS.getCode().toString() === modelInfo.get(0.getAuditStatus())) { - throw new AdminException("审核通过的模版不允许修改"); - } - - const config: Record = getConfig(false); - const templateCreateUrl: string = String.format(TEMPLATE_ADD_URL, username); - const templateCreateBody: Record = {}; - templateCreateBody.put("temName", path.basename(templateInfo)); - templateCreateBody.put("temType", param.getTemplateType()); - templateCreateBody.put("temContent", templateInfo.getSms().get("content")); - templateCreateBody.put("paramJson", param.getParamsJson()); - templateCreateBody.put("extend", Map.of("template_key", templateKey)); - templateCreateBody.put("signature", config.getStr("signature")); - templateCreateBody.put("temId", param.getTemplateId()); - - Record result; - try { - const jsonObject: Record = NiucloudUtils.Niucloud.post(templateCreateUrl, templateCreateBody); - result = jsonObject.getRecord("data"); - JacksonUtils.removeNull(result); // 删除null值,防止序列化报错 - } catch (e) { - log.error("创建模版失败异常信息:{},", e.message); - throw new AdminException("创建模版失败"); - } - - // 获取模板ID,如果不存在则设为0 - const temId: number = result.containsKey("temId") ? result.getInt("temId") : 0; - - if (CollectionUtils.isEmpty(modelInfo)) { - const niuSmsTemplate: NiuSmsTemplate = new NiuSmsTemplate(); - niuSmsTemplate.siteId = this.requestContext.siteId; - niuSmsTemplate.setSmsType(smsType); - niuSmsTemplate.setUsername(username); - niuSmsTemplate.setTemplateKey(templateKey); - niuSmsTemplate.setAuditStatus(TemplateAuditStatus.TEMPLATE_WAIT.getCode().toString()); - niuSmsTemplate.setTemplateId(temId.toString()); - niuSmsTemplate.setReportInfo(JSONUtil.toJsonStr(result)); - niuSmsTemplate.createTime = Date.now( / 1000); - niuSmsTemplate.updateTime = Date.now( / 1000); - this.niuSmsTemplateRepository.save(niuSmsTemplate); - } else { - const niuSmsTemplate: NiuSmsTemplate = modelInfo.get(0); - niuSmsTemplate.setAuditStatus(TemplateAuditStatus.TEMPLATE_WAIT.getCode().toString()); - niuSmsTemplate.setTemplateId(temId.toString()); - niuSmsTemplate.setReportInfo(JSONUtil.toJsonStr(result)); - niuSmsTemplate.updateTime = Date.now( / 1000); - niuSmsTemplateMapper.updateById(niuSmsTemplate); - } - - return result != null ? result : new Record(); - } - - /** - * templateDelete - */ - async templateDelete(...args: any[]): Promise { - const config: Record = getConfig(false); - const deleteBody: Record = {}; - const time: number = DateUtil.currentSeconds(); - deleteBody.put("tKey", time); - deleteBody.put("password", DigestUtil.md5Hex(DigestUtil.md5Hex(config.getStr("password")) + time)); - deleteBody.put("username", username); - deleteBody.put("temId", templateId); - try { - sendHttp(TEMPLATE_DELETE, deleteBody); - this.niuSmsTemplateRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } catch (e) { - log.error("删除模版失败异常信息:{},", e.message); - throw new AdminException("删除模版失败"); - } - } - - /** - * templateInfo - */ - async templateInfo(...args: any[]): Promise { - const niuSmsTemplate: NiuSmsTemplate = this.niuSmsTemplateRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(NiuSmsTemplate::getSiteId, this.requestContext.siteId) - .eq(NiuSmsTemplate::getSmsType, smsType) - .eq(NiuSmsTemplate::getUsername, username) - .eq(NiuSmsTemplate::getTemplateKey, templateKey)); - if (CommonUtils.isEmpty(niuSmsTemplate)){ - throw new AdminException("短信模版暂未报备"); - } - const orderCreateUrl: string = String.format(TEMPLATE_INFO_URL, username); - const templateInfoParam: Record = {}; - templateInfoParam.put("tem_id", niuSmsTemplate.getTemplateId()); - try { - const jsonObject: Record = NiucloudUtils.Niucloud.get(orderCreateUrl, templateInfoParam); - const result: Record = jsonObject.getRecord("data"); - //删除null值 防止序列化报错 - JacksonUtils.removeNull(result); - const auditStatus: string = result.containsKey("auditResult") && CommonUtils.isNotEmpty(result.getRecord("auditResult")) - ? result.getStr("auditResult") : niuSmsTemplate.getAuditStatus(); - niuSmsTemplate.setAuditStatus(auditStatus); - niuSmsTemplateMapper.updateById(niuSmsTemplate); - return niuSmsTemplate; - } catch (e) { - log.error("获取模版信息失败异常信息:{}", e.message); - throw new AdminException("获取模版信息失败"); - } - } - - /** - * sendHttp - */ - async sendHttp(...args: any[]): Promise { - const response: HttpResponse = HttpRequest.post(url).body(JSONUtil.toJsonStr(body)).execute(); - if (!response.isOk()) { - throw new AdminException("HTTP请求失败,状态码: " + response.status); - } - - const resJson: Record = JsonUtils.parseObject(response.body()); - if (resJson.getInt("code") != 200) { - throw new AdminException(resJson.getStr("msg")); - } - return resJson; - } - - /** - * setConfig - */ - async setConfig(...args: any[]): Promise { - const config: Record = getConfig(true); - config.put("default", CommonUtils.isNotEmpty(param.getDefaultVal()) ? param.getDefaultVal() : config.getOrDefault("default", "")); - const niuSmsConfig: Record = config.getRecord(NIUYUN); - const newNiuSmsConfig: Record = {}; - newNiuSmsConfig.put("username", CommonUtils.isNotEmpty(param.getUsername()) ? param.getUsername() : niuSmsConfig != null ? niuSmsConfig.getOrDefault("username", "") : ""); - newNiuSmsConfig.put("password", CommonUtils.isNotEmpty(param.getPassword()) ? param.getPassword() : niuSmsConfig != null ? niuSmsConfig.getOrDefault("password", "") : ""); - newNiuSmsConfig.put("signature", CommonUtils.isNotEmpty(param.getSignature()) ? param.getSignature() : niuSmsConfig != null ? niuSmsConfig.getOrDefault("signature", "") : ""); - config.put(NIUYUN, newNiuSmsConfig); - this.coreConfigService.setConfig(this.requestContext.siteId, "SMS", config); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-channel-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-channel-service-impl.service.ts deleted file mode 100644 index 20e2e552..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-channel-service-impl.service.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class PayChannelServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setAll - */ - async setAll(...args: any[]): Promise { - for (const channelKey of param.config.keySet()) { - const channel: Record = param.config.getRecord(channelKey); - const payTypeList: JSONArray = channel.getJSONArray("pay_type"); - for (const i of number = 0; i < payTypeList.length; i++) { - const payType: Record = payTypeList.getRecord(i); - set(channel.getStr("key"), payType.getStr("key"), payType); - } - } - } - - /** - * set - */ - async set(...args: any[]): Promise { - const payChannel: PayChannel = this.payChannelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("channel", channel) - .eq("type", type) - ); - - if (CommonUtils.isNotEmpty(payChannel)) { - const config: Record = JsonUtils.parseObject(payChannel.config); - for (const key of data.getRecord("config").keySet()) { - const value: string = data.getRecord("config").getStr(key, ""); - if (!value.includes("*")) config.set(key, value); - } - payChannel.setConfig(config.toString()); - payChannel.setSort(data.getInt("sort")); - payChannel.status = data.getInt("status"); - payChannelMapper.updateById(payChannel); - } else { - const model: PayChannel = new PayChannel(); - model.siteId = this.requestContext.siteId; - model.setChannel(channel); - model.type = type; - model.setConfig(data.getRecord("config").toString()); - model.setSort(data.getInt("sort")); - model.status = data.getInt("status"); - this.payChannelRepository.save(model); - } - } - - /** - * getListByChannel - */ - async getListByChannel(...args: any[]): Promise { - const payChannel: PayChannel[] = this.payChannelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("channel", channel) - ); - - const list: PayChannelListVo[] = []; - for (const item of payChannel) { - const vo: PayChannelListVo = new PayChannelListVo(); - Object.assign(vo, item); - if (CommonUtils.isNotEmpty(item.config) && "transfer".equals(channel)) { - const config: Record = JsonUtils.parseObject(item.config); - // 定义需要隐藏的配置项列表 - const keysToHide: string[] = { - "mch_secret_key", - "mch_secret_cert", - "mch_public_cert_path", - "wechat_public_cert_path", - "wechat_public_cert_id" - }; - - for (const key of keysToHide) { - const value: string = config.getStr(key); - if (CommonUtils.isNotEmpty(value)) { - try { - config.set(key, StringUtils.hide(value, 0, value.length())); - } catch (e) { - log.error("字段:{},值:{},支付设置脱敏失败{}", key, value, e.message); - } - } - } - vo.setConfig(config.toString()); - } - list.push(vo); - } - - return list; - } - - /** - * setTransfer - */ - async setTransfer(...args: any[]): Promise { - const alipayConfig: Record = param.getRecord("alipay_config"); - const wechatpayConfig: Record = param.getRecord("wechatpay_config"); - - if (wechatpayConfig != null) { - this.set("transfer", "wechatpay", new Record() - .set("config", wechatpayConfig) - .set("status", 1) - .set("sort", 0)); - } - - if (alipayConfig != null) { - this.set("transfer", "alipay", new Record() - .set("config", alipayConfig) - .set("status", 1) - .set("sort", 0)); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-refund-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-refund-service-impl.service.ts deleted file mode 100644 index 88d1f975..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-refund-service-impl.service.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class PayRefundServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.getRefundNo())) queryWrapper.eq("refund_no", searchParam.getRefundNo()); - if (CommonUtils.isNotEmpty(searchParam.status)) queryWrapper.eq("status", searchParam.status); - if (CommonUtils.isNotEmpty(searchParam.createTime)) QueryMapperUtils.buildByTime(queryWrapper, "create_time", searchParam.createTime); - queryWrapper.orderByDesc("id"); - - const payTypeEnum: Record = PayTypeEnum.type; - - [PayRefund[], number] iPage = this.payRefundRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: PayRefundListVo[] = []; - for (const item of iPageRecords) { - const vo: PayRefundListVo = new PayRefundListVo(); - Object.assign(vo, item); - vo.setTypeName(payTypeEnum.getByPath(vo.type + ".name", String.class)); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: PayRefund = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: PayRefundInfoVo = new PayRefundInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * transfer - */ - async transfer(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - this.coreRefundService.refund(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-service-impl.service.ts deleted file mode 100644 index d880b201..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-service-impl.service.ts +++ /dev/null @@ -1,180 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class PayServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [Pay[], number] iPage = this.payRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: PayListVo[] = []; - for (const item of iPageRecords) { - const vo: PayListVo = new PayListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: PayInfoVo = new PayInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: Pay = new Pay(); - model.siteId = addParam.siteId; - model.setMainId(addParam.getMainId()); - model.setOutTradeNo(addParam.getOutTradeNo()); - model.setTradeType(addParam.getTradeType()); - model.setTradeId(addParam.getTradeId()); - model.setTradeNo(addParam.getTradeNo()); - model.setBody(addParam.getBody()); - model.setMoney(addParam.getMoney()); - model.setVoucher(addParam.getVoucher()); - model.status = addParam.status; - model.setJson(addParam.getJson()); - model.createTime = Date.now( / 1000); - model.setPayTime(addParam.getPayTime()); - model.setCancelTime(addParam.getCancelTime()); - model.type = addParam.type; - model.setMchId(addParam.getMchId()); - model.setMainType(addParam.getMainType()); - model.setChannel(addParam.getChannel()); - model.setFailReason(addParam.getFailReason()); - this.payRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.id = id; - model.siteId = editParam.siteId; - model.setMainId(editParam.getMainId()); - model.setOutTradeNo(editParam.getOutTradeNo()); - model.setTradeType(editParam.getTradeType()); - model.setTradeId(editParam.getTradeId()); - model.setTradeNo(editParam.getTradeNo()); - model.setBody(editParam.getBody()); - model.setMoney(editParam.getMoney()); - model.setVoucher(editParam.getVoucher()); - model.status = editParam.status; - model.setJson(editParam.getJson()); - model.setPayTime(editParam.getPayTime()); - model.setCancelTime(editParam.getCancelTime()); - model.type = editParam.type; - model.setMchId(editParam.getMchId()); - model.setMainType(editParam.getMainType()); - model.setChannel(editParam.getChannel()); - model.setFailReason(editParam.getFailReason()); - payMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.payRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * getFriendspayInfoByTrade - */ - async getFriendspayInfoByTrade(...args: any[]): Promise { - const payInfo: GetInfoByTradeVo = this.corePayService.getInfoByTrade(this.requestContext.siteId, param.getTradeType(), param.getTradeId(), param.getChannel(), "friendspay"); - if (CommonUtils.isEmpty(payInfo)) { - return new FriendsPayInfoByTradeVo(); - } - - const vo: FriendsPayInfoByTradeVo = new FriendsPayInfoByTradeVo(); - Object.assign(vo, payInfo); - vo.setConfig(payInfo.config); - vo.createTime = DateUtils.timestampToString(payInfo.createTime); - - if (payInfo.getCancelTime() > 0) { - vo.setCancelTime(DateUtils.timestampToString(payInfo.getCancelTime())); - } - - if (payInfo.getPayTime() > 0) { - vo.setPayTime(DateUtils.timestampToString(payInfo.getPayTime())); - } - - any /* TODO: QueryWrapper */ posterQueryWrapper = new QueryWrapper(); - posterQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("type", "friendspay") - .eq("status", 1) - .eq("is_default", 1); - - const poster: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isNotEmpty(poster)) { - vo.setPosterId(poster.id); - } - - any /* TODO: QueryWrapper */ memberQueryWrapper = new QueryWrapper(); - memberQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("member_id", vo.getMainId()); - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - vo.setMember(member); - - const qrcode: QR = getQrcode(param.getTradeType(), param.getTradeId(), param.getChannel()); - vo.setLink(qrcode.link); - vo.setQrcode(qrcode.qrcode); - return vo; - } - - /** - * getPayTypeList - */ - async getPayTypeList(...args: any[]): Promise { - const payTypeList: PayTypeVo[] = this.corePayService.getPayTypeByTrade(this.requestContext.siteId, "", ChannelEnum.H5); - if (CommonUtils.isEmpty(payTypeList)) { - return Collections.emptyList(); - } - - return payTypeList.filter(o => o.key === "balancepay" || o.key === "friendspay"); - } - - /** - * pay - */ - async pay(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - return this.corePayService.pay(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-transfer-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-transfer-service-impl.service.ts deleted file mode 100644 index 22ecf284..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/pay/impl/pay-transfer-service-impl.service.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class PayTransferServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setSceneId - */ - async setSceneId(...args: any[]): Promise { - const config: Record = this.coreTransferSceneService.getWechatTransferSceneConfig(this.requestContext.siteId); - - const tradeScenelist: Record = TransferSceneEnum.getWechatTransferSceneMap(); - if (!tradeScenelist.containsKey(param.getScene())) { - throw new BadRequestException("不存在的商户转账场景"); - } - - config.put(param.getScene(), param.getSceneId()); - this.coreTransferSceneService.setWechatTransferSceneConfig(this.requestContext.siteId, config); - } - - /** - * setTradeScene - */ - async setTradeScene(...args: any[]): Promise { - this.coreTransferSceneService.setTradeScene(this.requestContext.siteId, param.type, param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-account-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-account-log-service-impl.service.ts deleted file mode 100644 index 54095c47..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-account-log-service-impl.service.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SiteAccountLogServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - //查询条件判断组装 - if (CommonUtils.isNotEmpty(searchParam.getTradeNo())) { - queryWrapper.like("trade_no", searchParam.getTradeNo()); - } - if (CommonUtils.isNotEmpty(searchParam.type)) { - queryWrapper.eq("type", searchParam.type); - } - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - const createTime: string[] = searchParam.createTime; - QueryMapperUtils.buildByTime(queryWrapper, "create_time", createTime); - } - queryWrapper.orderByDesc("create_time"); - [SiteAccountLog[], number] iPage = this.siteAccountLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SiteAccountLogListVo[] = []; - for (const item of iPageRecords) { - const vo: SiteAccountLogListVo = new SiteAccountLogListVo(); - Object.assign(vo, item); - const typeModel: Object = new Object(); - if (item.type === "pay") { - typeModel = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } else if (item.type === "refund") { - typeModel = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } else { - typeModel = this.payTransferRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } - vo.setPayInfo(typeModel); - list.push(vo); - } - - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SiteAccountLog = this.siteAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("id", id) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SiteAccountLogInfoVo = new SiteAccountLogInfoVo(); - Object.assign(vo, model); - const typeModel: Object = new Object(); - if (model.type === "pay") { - typeModel = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } else if (model.type === "refund") { - typeModel = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } else { - typeModel = this.payTransferRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .last("limit 1")); - } - vo.setPayInfo(typeModel); - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-group-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-group-service-impl.service.ts deleted file mode 100644 index 802aa876..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-group-service-impl.service.ts +++ /dev/null @@ -1,221 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class SiteGroupServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (CommonUtils.isNotEmpty(searchParam.getKeywords())) { - queryWrapper.like("group_name", searchParam.getKeywords()); - } - queryWrapper.orderByDesc("group_id"); - - [SiteGroup[], number] iPage = this.siteGroupRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - //获取所有的addon - const addonList: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const list: SiteGroupListVo[] = []; - for (const item of iPageRecords) { - const vo: SiteGroupListVo = new SiteGroupListVo(); - vo.setGroupId(item.getGroupId()); - vo.setGroupName(item.getGroupName()); - vo.setGroupDesc(item.getGroupDesc()); - vo.createTime = item.createTime; - vo.updateTime = item.updateTime; - const addonJson: JSONArray = JSONUtil.parseArray(item.getAddon()); - vo.setAddon(addonJson); - const appJson: JSONArray = JSONUtil.parseArray(item.getApp()); - vo.setApp(appJson); - const addonStr: string[] = []; - const appStr: string[] = []; - const appList: SiteGroupListVo.IconAndTitle[] = []; - const addonListResult: SiteGroupListVo.IconAndTitle[] = []; - for (const addon of addonList) - { - if(addonJson.includes(addon.key)){ - addonStr.push(addon.title); - SiteGroupListVo.const iconAndTitle: IconAndTitle = new SiteGroupListVo.IconAndTitle(); - iconAndTitle.title = addon.title; - try { - iconAndTitle.icon = ImageToBase64ConverterUtil.convertToBase64(addon.icon); - } catch (e) { - iconAndTitle.icon = ""; - } - addonListResult.push(iconAndTitle); - } - if(appJson.includes(addon.key)){ - appStr.push(addon.title); - SiteGroupListVo.const iconAndTitle: IconAndTitle = new SiteGroupListVo.IconAndTitle(); - iconAndTitle.title = addon.title; - try { - iconAndTitle.icon = ImageToBase64ConverterUtil.convertToBase64(addon.icon); - } catch (e) { - iconAndTitle.icon = ""; - } - - appList.push(iconAndTitle); - } - } - vo.setAddonName(addonStr); - vo.setAppName(appStr); - vo.setAddonList(addonListResult); - vo.setAppList(appList); - list.push(vo); - } - return PageResult.build(iPage.getCurrent(), iPage.getSize(), iPageTotal).setData(list); - } - - /** - * getAll - */ - async getAll(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("group_id"); - return this.siteGroupRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SiteGroup = this.siteGroupRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - return model; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const groupRoles: JSONArray = new JSONArray(); - groupRoles.addAll(addParam.getAddon()); - groupRoles.addAll(addParam.getApp()); - /**判断应用是否全部是有效的已安装应用 */ - checkAddon(groupRoles); - const model: SiteGroup = new SiteGroup(); - model.setGroupName(addParam.getGroupName()); - model.setGroupDesc(addParam.getGroupDesc()); - model.setApp(JSONUtil.toJsonStr(addParam.getApp())); - model.setAddon(JSONUtil.toJsonStr(addParam.getAddon())); - model.createTime = DateUtils.currTime(); - model.updateTime = DateUtils.currTime(); - this.siteGroupRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SiteGroup = this.siteGroupRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - const groupRoles: JSONArray = new JSONArray(); - groupRoles.addAll(editParam.getAddon()); - groupRoles.addAll(editParam.getApp()); - /**判断应用是否全部是有效的已安装应用 */ - checkAddon(groupRoles); - - const group: SiteGroup = new SiteGroup(); - group.setGroupId(id); - group.setGroupId(editParam.getGroupId()); - group.setGroupName(editParam.getGroupName()); - group.setGroupDesc(editParam.getGroupDesc()); - group.setApp(JSONUtil.toJsonStr(editParam.getApp())); - group.setAddon(JSONUtil.toJsonStr(editParam.getAddon())); - group.updateTime = DateUtils.currTime(); - siteGroupMapper.updateById(group); - this.cached.remove("site_group_menu_ids" + id); - if (!model.getApp() === group.getApp()) { - // 修改站点应用 - const siteModel: Site = new Site(); - siteModel.setApp(model.getApp()); - this.siteRepository.save(siteModel, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("group_id", id)); - } - - if (!model.getApp() === group.getApp() || !model.getAddon() === group.getAddon()) { - const siteList: Site[] = this.siteRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - if (CommonUtils.isNotEmpty(siteList)) { - for (const site of siteList) { - this.siteService.siteAddonChange(site, model); - this.coreSiteService.clearSiteCache(site.siteId); - } - - } - } - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SiteGroup = this.siteGroupRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - const siteCount: number = this.siteRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })); - if(siteCount>0){ - throw new BadRequestException("当前套餐存在站点,不能删除"); - } - this.siteGroupRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * checkAddon - */ - async checkAddon(...args: any[]): Promise { - const addonListVoMap: Record = this.coreAddonService.getInstallAddonList(); - const keys: string[] = new ArrayList<>(addonListVoMap.keySet()); - const addonString: string[] = JSONUtil.toList(jsonArray, String.class); - keys.retainAll(addonString); - if(keys.length!=addonString.length){ - throw new AdminException("SITE_GROUP_APP_NOT_EXIST"); - } - } - - /** - * getUserSiteGroupAll - */ - async getUserSiteGroupAll(...args: any[]): Promise { - const siteGroupListVoList: SiteGroupListVo[] = []; - const siteGroupList: SiteGroup[] = this.siteGroupRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - - for (const siteGroup of siteGroupList) { - const siteGroupListVo: SiteGroupListVo = new SiteGroupListVo(); - Object.assign(siteGroupListVo, siteGroup); - siteGroupListVo.setSiteNum(getUserSiteGroupSiteNum(uid, siteGroup.getGroupId())); - siteGroupListVoList.push(siteGroupListVo); - } - return siteGroupListVoList; - } - - /** - * getUserSiteGroupSiteNum - */ - async getUserSiteGroupSiteNum(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - userRoleMPJQueryWrapper.setAlias("sur") - .leftJoin("?_site s ON sur.site_id = s.site_id".replace("?_", this.appConfig.tablePrefix)); - userRoleMPJQueryWrapper.eq("sur.uid", uid); - userRoleMPJQueryWrapper.eq("sur.is_admin", 1); - userRoleMPJQueryWrapper.eq("s.group_id", groupId); - const count: number = sysUserRoleMapper.selectJoinCount(userRoleMPJQueryWrapper); - return count; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-service-impl.service.ts deleted file mode 100644 index 1a825cfe..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-service-impl.service.ts +++ /dev/null @@ -1,458 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SiteServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("se") - .selectAll(Site.class) - .select("sg.group_name") - .leftJoin("?_site_group sg on sg.group_id = se.group_id".replace("?_", this.appConfig.tablePrefix)); - - - //查询条件判断组装 - if (CommonUtils.isNotEmpty(searchParam.getKeywords())) { - queryWrapper.like("se.siteName", searchParam.getKeywords()).or().like("se.siteName", searchParam.getKeywords()); - } - - if (CommonUtils.isNotEmpty(searchParam.getApp())) { - queryWrapper.and(wrapper => wrapper - .like("sg.addon", searchParam.getApp()) - .or() - .like("sg.app", searchParam.getApp()) - ); - } - - if (CommonUtils.isNotEmpty(searchParam.status)) { - queryWrapper.eq("se.status", searchParam.status); - } - - if (CommonUtils.isNotEmpty(searchParam.getGroupId())) { - queryWrapper.eq("se.group_id", searchParam.getGroupId()); - } - - if (CommonUtils.isNotEmpty(searchParam.getSiteDomain())) { - queryWrapper.like("se.site_domain", searchParam.getSiteDomain()); - } - queryWrapper.ne("se.app_type", "admin"); - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - - const createTime: string[] = searchParam.createTime; - const startTime: number = (createTime[0] == null) ? 0L : DateUtils.StringToTimestamp(createTime[0]); - const endTime: number = (createTime[1] == null) ? 0L : DateUtils.StringToTimestamp(createTime[1]); - if (startTime > 0L && endTime > 0L) { - queryWrapper.between("se.create_time", startTime, endTime); - } else if (startTime > 0L && endTime == 0L) { - queryWrapper.ge("se.create_time", startTime); - } else if (startTime == 0L && endTime > 0L) { - queryWrapper.le("se.create_time", startTime); - } - } - - if (CommonUtils.isNotEmpty(searchParam.getExpireTime())) { - - const expireTime: string[] = searchParam.getExpireTime(); - const startTime: number = (expireTime[0] == null) ? 0 : DateUtils.StringToTimestamp(expireTime[0]); - const endTime: number = (expireTime[1] == null) ? 0 : DateUtils.StringToTimestamp(expireTime[1]); - if (startTime > 0 && endTime > 0) { - queryWrapper.between("se.expire_time", startTime, endTime); - } else if (startTime > 0 && endTime == 0) { - queryWrapper.ge("se.expire_time", startTime); - } else if (startTime == 0 && endTime > 0) { - queryWrapper.le("se.expire_time", startTime); - } - } - - queryWrapper.orderByDesc("se.create_time"); - - [SiteListVo[], number] iPage = siteMapper.selectJoinPage(new Page<>(page, limit), SiteListVo.class, queryWrapper); - - const list: SiteListVo[] = []; - for (const item of iPageRecords) { - const vo: SiteListVo = new SiteListVo(); - Object.assign(vo, item); - MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - userRoleMPJQueryWrapper.select("nsu.uid, nsu.username, nsu.head_img, nsu.real_name, nsu.last_ip, nsu.last_time, nsu.create_time, nsu.login_count") - .setAlias("nsur") - .leftJoin("?_sys_user nsu ON nsur.uid = nsu.uid".replace("?_", this.appConfig.tablePrefix)); - userRoleMPJQueryWrapper.eq("nsur.is_admin", 1); - userRoleMPJQueryWrapper.eq("nsur.site_id", item.siteId); - vo.setAdmin(sysUserRoleMapper.selectJoinOne(SiteAdminVo.class, userRoleMPJQueryWrapper)); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal, list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - return this.this.CoreSiteService.getSiteCache(id); - } - - /** - * add - */ - async add(...args: any[]): Promise { - const siteGroup: SiteGroup = this.siteGroupService.info(addParam.getGroupId()); - if (ObjectUtil.isNull(siteGroup) || CommonUtils.isEmpty(siteGroup)) { - throw new BadRequestException("SITE_GROUP_NOT_EXIST"); - } - const model: Site = new Site(); - model.setSiteName(addParam.getSiteName()); - model.setGroupId(addParam.getGroupId()); - model.setAppType(AppTypeEnum.path.basename(SITE)); - model.createTime = DateUtils.currTime(); - model.setExpireTime(DateUtils.StringToTimestamp(addParam.getExpireTime())); - model.setApp(siteGroup.getApp()); - model.setAddons(""); - model.setSiteDomain(addParam.getSiteDomain()); - this.siteRepository.save(model); - const siteId: number = model.siteId; - if (ObjectUtil.isNull(addParam.getUid()) || addParam.getUid() == 0) { - //添加用户 - const siteUserParam: SiteUserParam = new SiteUserParam(); - siteUserParam.setUsername(addParam.getUsername()); - siteUserParam.setHeadImg(""); - siteUserParam.status = 1; - siteUserParam.setRealName(addParam.getRealName()); - siteUserParam.setPassword(addParam.getPassword()); - siteUserParam.setIsAdmin(1); - this.sysUserService.addSiteUser(siteUserParam, siteId); - } else { - const sysUserRoleParam: SysUserRoleParam = new SysUserRoleParam(); - sysUserRoleParam.setUid(addParam.getUid()); - sysUserRoleParam.setRoleIds(new JsonArray().toString()); - sysUserRoleParam.setIsAdmin(1); - sysUserRoleParam.siteId = siteId; - this.userRoleService.push(sysUserRoleParam); - } - - const event: SiteAddAfterEvent = new SiteAddAfterEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "SiteAddAfterEvent"; - event.setSite(model); - event.setSiteGroup(siteGroup); - EventAndSubscribeOfPublisher.publishAll(event); - - const param: Record = {}; - param.put("site_id", siteId); - param.put("main_app", siteGroup.getApp()); - param.put("tag", "add"); - this.diyService.loadDiyData(param); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: Site = this.siteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - if (ObjectUtil.isNotNull(editParam.getGroupId()) && CommonUtils.isNotEmpty(editParam.getGroupId()) && !editParam.getGroupId() === model.getGroupId()) { - model.setGroupId(editParam.getGroupId()); - } - if (ObjectUtil.isNotNull(editParam.getSiteName()) && CommonUtils.isNotEmpty(editParam.getSiteName())) { - model.setSiteName(editParam.getSiteName()); - } - - const oldSiteGroup: SiteGroup = this.siteGroupService.info(model.getGroupId()); - - const initallJsonArray: JSONArray = new JSONArray(); - if (ObjectUtil.isNull(model.getInitalledAddon()) || CommonUtils.isEmpty(model.getInitalledAddon())) { - initallJsonArray.addAll(JSONUtil.parseArray(oldSiteGroup.getApp())); - initallJsonArray.addAll(JSONUtil.parseArray(oldSiteGroup.getAddon())); - } - - const siteGroup: SiteGroup = this.siteGroupService.info(editParam.getGroupId()); - if (ObjectUtil.isNull(siteGroup) || CommonUtils.isEmpty(siteGroup)) { - throw new BadRequestException("SITE_GROUP_NOT_EXIST"); - } - initallJsonArray.addAll(JSONUtil.parseArray(siteGroup.getApp())); - initallJsonArray.addAll(JSONUtil.parseArray(siteGroup.getAddon())); - - model.setInitalledAddon(JSONUtil.toJsonStr(initallJsonArray)); - model.setSiteDomain(editParam.getSiteDomain()); - model.setExpireTime(new DateTime(editParam.getExpireTime()).getTime() / 1000); - model.status = model.getExpireTime( > DateUtils.currTime() ? SiteStatusEnum.ON.getCode() : SiteStatusEnum.EXPIRE.getCode()); - siteMapper.updateById(model); - - this.coreSiteService.clearSiteCache(id); - - const event: SiteEditAfterEvent = new SiteEditAfterEvent(); - event.siteId = model.siteId; - event.addAppSign("core"); - event.name = "SiteEditAfterEvent"; - event.setSite(model); - event.setSiteGroup(siteGroup); - EventAndSubscribeOfPublisher.publishAll(event); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const siteUserRoles: SysUserRole[] = null; - const delResult: number = 0; - - try { - const model: Site = siteMapper.selectById(id); - if (!model) throw new BadRequestException("数据不存在!"); - - //获取所有需要处理的Mapper - List>> allModels = new ArrayList<>(this.generateService.getMappers("system")); - this.coreSiteService.getAddonKeysBySiteId(id).forEach(addon => allModels.addAll(this.generateService.getMappers(addon)) - ); - - Class wrapperClass = Class.forName("com.baomidou.mybatisplus.core.conditions.query.QueryWrapper"); - Constructor wrapperConstructor = wrapperClass.getConstructor(Class.class); - const eqMethod: Method = wrapperClass.getMethod("eq", boolean.class, Object.class, Object.class); - const deleteMethod: Method = BaseMapper.class.getMethod("delete", Wrapper.class); - - // 处理所有关联表 - for (Class> mapperClass : allModels) { - BaseMapper mapper = (BaseMapper) SpringContext.getBean(mapperClass); - if (mapper == null) { - continue; - } - - Class entityClass = resolveEntityClass(mapperClass); - if (entityClass == null || !hasSiteIdField(entityClass)) { - continue; - } - - try { - // 创建QueryWrapper并执行删除 - const wrapper: Object = wrapperConstructor.newInstance(entityClass); - eqMethod.invoke(wrapper, true, "site_id", id); - deleteMethod.invoke(mapper, wrapper); - } catch (e) { - log.error("删除表数据失败: {} | 原因: {}", - entityClass.getSimpleName(), - e.getCause() != null ? e.getCause().getMessage() : e.message); - } - } - - // 处理用户角色关系 - any /* TODO: QueryWrapper */ userRoleWrapper = new QueryWrapper(); - userRoleWrapper.eq("site_id", id); - siteUserRoles = this.sysUserRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - delResult = this.sysUserRoleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - - // 删除站点主表 - this.siteRepository.delete(id); - } catch (e) { - log.error("删除站点失败: {}", e.message, e); - throw new BadRequestException("删除失败: " + (e.getCause() != null ? e.getCause().getMessage() : e.message)); - } - - // 清理缓存 - if (delResult > 0 && siteUserRoles != null) { - siteUserRoles.forEach(userRole => { - cached.remove("user_role_" + userRole.getUid() + "_" + id); - cached.remove("user_role_list_" + userRole.getUid()); - }); - } - cached.remove("site_cache_" + id); - } - - /** - * closeSite - */ - async closeSite(...args: any[]): Promise { - const model: Site = new Site(); - model.siteId = siteId; - model.status = SiteStatusEnum.CLOSE.getCode(); - siteMapper.updateById(model); - this.coreSiteService.clearSiteCache(siteId); - } - - /** - * openSite - */ - async openSite(...args: any[]): Promise { - const model: Site = new Site(); - model.siteId = siteId; - model.status = SiteStatusEnum.ON.getCode(); - siteMapper.updateById(model); - this.coreSiteService.clearSiteCache(siteId); - } - - /** - * getSiteCountByCondition - */ - async getSiteCountByCondition(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (CommonUtils.isNotEmpty(siteSearchParam.createTime)) { - - const createTime: string[] = siteSearchParam.createTime; - const startTime: number = (createTime[0] == null) ? 0 : DateUtils.StringToTimestamp(createTime[0]); - const endTime: number = (createTime[1] == null) ? 0 : DateUtils.StringToTimestamp(createTime[1]); - if (startTime > 0 && endTime > 0) { - queryWrapper.between("create_time", startTime, endTime); - } else if (startTime > 0 && endTime == 0) { - queryWrapper.ge("create_time", startTime); - } else if (startTime == 0 && endTime > 0) { - queryWrapper.le("create_time", startTime); - } - } - - if (CommonUtils.isNotEmpty(siteSearchParam.status)) { - queryWrapper.eq("status", siteSearchParam.status); - } - - if (CommonUtils.isNotEmpty(siteSearchParam.getGroupId())) { - queryWrapper.eq("group_id", siteSearchParam.getGroupId()); - } - - if (CommonUtils.isNotEmpty(siteSearchParam.appType)) { - queryWrapper.eq("app_type", siteSearchParam.appType); - } - - if (CommonUtils.isNotEmpty(siteSearchParam.getExpireTime())) { - - const expireTime: string[] = siteSearchParam.getExpireTime(); - const startTime: number = (expireTime[0] == null) ? 0 : DateUtils.StringToTimestamp(expireTime[0]); - const endTime: number = (expireTime[1] == null) ? 0 : DateUtils.StringToTimestamp(expireTime[1]); - if (startTime > 0 && endTime > 0) { - queryWrapper.between("expire_time", startTime, endTime); - } else if (startTime > 0 && endTime == 0) { - queryWrapper.ge("expire_time", startTime); - } else if (startTime == 0 && endTime > 0) { - queryWrapper.le("expire_time", startTime); - } - } - const siteCount: number = this.siteRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - return siteCount.intValue(); - } - - /** - * getSiteAddons - */ - async getSiteAddons(...args: any[]): Promise { - return this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("status", 1) - .in("`key`", this.coreSiteService.getAddonKeysBySiteId(this.requestContext.siteId))); - } - - /** - * siteAddonChange - */ - async siteAddonChange(...args: any[]): Promise { - const event: SiteEditAfterEvent = new SiteEditAfterEvent(); - event.siteId = site.siteId; - event.addAppSign("core"); - event.name = "SiteEditAfterEvent"; - event.setSite(site); - event.setSiteGroup(siteGroup); - this.coreSiteService.clearSiteCache(site.siteId); - EventAndSubscribeOfPublisher.publishAll(event); - } - - /** - * siteInit - */ - async siteInit(...args: any[]): Promise { - const siteInfo: SiteInfoVo = info(siteId); - if (CommonUtils.isEmpty(siteInfo)) { - throw new AdminException("站点不存在"); - } - const tables: string[] = SiteInitEnum.getSiteInitTables(siteId); - return this.coreSiteService.siteInitBySiteId(siteId, tables); - } - - /** - * getSpecialMenuList - */ - async getSpecialMenuList(...args: any[]): Promise { - const authMenuList: JSONArray = this.authService.getAuthMenuTreeList(1, "all"); - - // 将菜单列表转换为Map,便于通过menu_key查找 - const authMenuMap: Record> = {}; - for (const i of number = 0; i < authMenuList.length; i++) { - const menu: Record = authMenuList.getRecord(i); - authMenuMap.put(menu.get("menu_key").toString(), menu); - } - - // 获取"addon"菜单 - const addonMenu: Record = authMenuMap.get("addon"); - if (addonMenu == null) { - return new SpecialMenuListVo("addon", []); - } - - const showList: Record = showCustomer(false); - const addonChildMenus: AddonChildMenuEnum.MenuConfig[] = AddonChildMenuEnum.getAll(); - - const menuList: SpecialMenuListVo.MenuVo[] = []; - - // 遍历插件子菜单,构建菜单列表 - for (AddonChildMenuEnum.MenuConfig item : addonChildMenus) { - const menuKey: string = item.key; - const menuKeyList: string[] = []; - if (showList.containsKey(menuKey) && showList.get(menuKey) instanceof Map) { - const menuItem: Record = (Record) showList.get(menuKey); - if (menuItem.containsKey("list") && menuItem.get("list") instanceof List) { - List> listItems = (List>) menuItem.get("list"); - for (Record listItem : listItems) { - if (listItem.containsKey("key")) { - menuKeyList.push(listItem.get("key").toString()); - } - } - } - } - SpecialMenuListVo.const tempMenu: MenuVo = new SpecialMenuListVo.MenuVo(); - tempMenu.setMenuName(path.basename(item)); - tempMenu.setMenuKey(item.key); - tempMenu.setMenuShortName(item.getShortName()); - tempMenu.setParentKey("addon"); - tempMenu.setMenuType("0"); - tempMenu.icon = "iconfont iconzhuangxiu3"; - tempMenu.setApiUrl(""); - tempMenu.setRouterPath(""); - tempMenu.setViewPath(""); - tempMenu.setMethods(""); - tempMenu.setSort(item.getSort()); - tempMenu.status = "1"; - tempMenu.setIsShow("1"); - - const children: SpecialMenuListVo.MenuVo[] = []; - const authChildren: JSONArray = addonMenu.getJSONArray("children"); - if (authChildren != null) { - for (const j of number = 0; j < authChildren.length; j++) { - const child: Record = authChildren.getRecord(j); - if (menuKeyList.includes(child.get("menu_key").toString())) { - // 转换为MenuVo对象 - SpecialMenuListVo.const childMenu: MenuVo = convertToMenuVo(child); - children.push(childMenu); - } - } - } - - tempMenu.setChildren(children); - menuList.push(tempMenu); - } - const result: SpecialMenuListVo = new SpecialMenuListVo(); - result.setParentKey("addon"); - result.setList(menuList); - - return result; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-user-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-user-service-impl.service.ts deleted file mode 100644 index 49ca81cf..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/site/impl/site-user-service-impl.service.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SiteUserServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - userRoleMPJQueryWrapper.select("nsur.id, nsur.is_admin, nsu.status, nsur.site_id, nsur.role_ids, nsu.uid, nsu.username, nsu.head_img, nsu.real_name, nsu.last_ip, nsu.last_time, nsu.create_time, nsu.login_count") - .setAlias("nsur") - .leftJoin("?_sys_user nsu ON nsur.uid = nsu.uid".replace("?_", this.appConfig.tablePrefix)); - if(ObjectUtil.isNotNull(searchParam.getUsername()) && CommonUtils.isNotEmpty(searchParam.getUsername())){ - userRoleMPJQueryWrapper.like("nsu.username", searchParam.getUsername()); - } - userRoleMPJQueryWrapper.eq("nsur.site_id", this.requestContext.siteId); - userRoleMPJQueryWrapper.isNotNull("nsu.uid"); - userRoleMPJQueryWrapper.orderByDesc("nsur.is_admin"); - userRoleMPJQueryWrapper.orderByDesc("nsur.id"); - [SiteUserVo[], number] iPage = sysUserRoleMapper.selectJoinPage(new Page<>(page, limit), SiteUserVo.class, userRoleMPJQueryWrapper); - for (const siteUserVo of iPageRecords) { - const roleArray: string[] = []; - if(CommonUtils.isNotEmpty(siteUserVo.getRoleIds()) && JSONUtil.parseArray(siteUserVo.getRoleIds()).size()>0){ - any /* TODO: QueryWrapper */ roleQueryWrapper=new QueryWrapper(); - roleQueryWrapper.in("role_id", JSONUtil.parseArray(siteUserVo.getRoleIds())); - const roleList: SysRole[] = this.sysRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - for (const sysRole of roleList) { - roleArray.push(sysRole.getRoleName()); - } - } - siteUserVo.setRoleArray(roleArray); - } - return PageResult.build(page, limit, iPageTotal).setData(iPageRecords); - } - - /** - * add - */ - async add(...args: any[]): Promise { - if (siteUserParam.getUsername().matches(".*[\\u4e00-\\u9fa5].*")){ - throw new AdminException("用户名不能包含中文"); - } - this.sysUserService.addSiteUser(siteUserParam, this.requestContext.siteId); - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - userRoleMPJQueryWrapper.select("nsur.id, nsur.is_admin, nsur.status,nsur.site_id, nsur.role_ids, nsu.uid, nsu.username, nsu.head_img, nsu.real_name, nsu.last_ip, nsu.last_time, nsu.create_time, nsu.login_count") - .setAlias("nsur") - .leftJoin("?_sys_user nsu ON nsur.uid = nsu.uid".replace("?_", this.appConfig.tablePrefix)); - userRoleMPJQueryWrapper.eq("nsur.site_id", this.requestContext.siteId); - userRoleMPJQueryWrapper.eq("nsu.uid", uid); - - const siteUserVo: SiteUserVo = sysUserRoleMapper.selectJoinOne(SiteUserVo.class, userRoleMPJQueryWrapper); - return siteUserVo; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - try{ - const sysUserParam: SysUserParam = new SysUserParam(); - sysUserParam.setHeadImg(siteUserParam.getHeadImg()); - if(CommonUtils.isNotEmpty(siteUserParam.getPassword())){ - sysUserParam.setPassword(siteUserParam.getPassword()); - } - sysUserParam.setUsername(siteUserParam.getUsername()); - sysUserParam.status = siteUserParam.status; - sysUserParam.setRealName(siteUserParam.getRealName()); - this.sysUserService.edit(uid, sysUserParam); - //创建用户站点管理权限 - const roleIds: string[] = siteUserParam.getRoleIds(); - const sysUserRoleParam: SysUserRoleParam = new SysUserRoleParam(); - sysUserRoleParam.siteId = this.requestContext.siteId; - sysUserRoleParam.setRoleIds(JSONUtil.toJsonStr(roleIds)); - sysUserRoleParam.setUid(uid); - sysUserRoleParam.status = siteUserParam.status; - this.sysUserRoleService.edit(sysUserRoleParam); - }catch (e){ - throw new AdminException(e.message); - } - } - - /** - * lock - */ - async lock(...args: any[]): Promise { - const sysUser: SysUser = sysUserMapper.selectById(uid); - sysUser.status = StatusEnum.OFF.status; - sysUserMapper.updateById(sysUser); - } - - /** - * unlock - */ - async unlock(...args: any[]): Promise { - const sysUser: SysUser = sysUserMapper.selectById(uid); - sysUser.status = StatusEnum.ON.status; - sysUserMapper.updateById(sysUser); - } - - /** - * delete - */ - async delete(...args: any[]): Promise { - const sysUserRoleList: SysUserRole[] = this.sysUserRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq(SysUserRole::getUid, uid).eq(SysUserRole::getSiteId, this.requestContext.siteId).last("limit 1")); - if (CollectionUtils.isEmpty(sysUserRoleList)){ - throw new BadRequestException("用户不存在"); - } - const sysUserRole: SysUserRole = sysUserRoleList.get(0); - if (sysUserRole.getIsAdmin() == 1){ - throw new BadRequestException("超级管理员不允许删除"); - } - this.sysUserRepository.delete(uid); - this.loginService.clearToken(uid,null, null); - cached.remove("user_role_list_" + uid); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-hour-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-hour-service-impl.service.ts deleted file mode 100644 index 895569df..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-hour-service-impl.service.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class StatHourServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [StatHour[], number] iPage = this.statHourRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: StatHourListVo[] = []; - for (const item of iPageRecords) { - const vo: StatHourListVo = new StatHourListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: StatHour = this.statHourRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: StatHourInfoVo = new StatHourInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: StatHour = new StatHour(); - model.siteId = addParam.siteId; - model.setAddon(addParam.getAddon()); - model.setField(addParam.getField()); - model.setFieldTotal(addParam.getFieldTotal()); - model.setYear(addParam.getYear()); - model.setMonth(addParam.getMonth()); - model.setDay(addParam.getDay()); - model.setStartTime(Date.now() / 1000); - model.setLastTime(addParam.getLastTime()); - model.setHour0(addParam.getHour0()); - model.setHour1(addParam.getHour1()); - model.setHour2(addParam.getHour2()); - model.setHour3(addParam.getHour3()); - model.setHour4(addParam.getHour4()); - model.setHour5(addParam.getHour5()); - model.setHour6(addParam.getHour6()); - model.setHour7(addParam.getHour7()); - model.setHour8(addParam.getHour8()); - model.setHour9(addParam.getHour9()); - model.setHour10(addParam.getHour10()); - model.setHour11(addParam.getHour11()); - model.setHour12(addParam.getHour12()); - model.setHour13(addParam.getHour13()); - model.setHour14(addParam.getHour14()); - model.setHour15(addParam.getHour15()); - model.setHour16(addParam.getHour16()); - model.setHour17(addParam.getHour17()); - model.setHour18(addParam.getHour18()); - model.setHour19(addParam.getHour19()); - model.setHour20(addParam.getHour20()); - model.setHour21(addParam.getHour21()); - model.setHour22(addParam.getHour22()); - model.setHour23(addParam.getHour23()); - this.statHourRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: StatHour = this.statHourRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.id = id; - model.siteId = editParam.siteId; - model.setAddon(editParam.getAddon()); - model.setField(editParam.getField()); - model.setFieldTotal(editParam.getFieldTotal()); - model.setYear(editParam.getYear()); - model.setMonth(editParam.getMonth()); - model.setDay(editParam.getDay()); - model.setLastTime(editParam.getLastTime()); - model.setHour0(editParam.getHour0()); - model.setHour1(editParam.getHour1()); - model.setHour2(editParam.getHour2()); - model.setHour3(editParam.getHour3()); - model.setHour4(editParam.getHour4()); - model.setHour5(editParam.getHour5()); - model.setHour6(editParam.getHour6()); - model.setHour7(editParam.getHour7()); - model.setHour8(editParam.getHour8()); - model.setHour9(editParam.getHour9()); - model.setHour10(editParam.getHour10()); - model.setHour11(editParam.getHour11()); - model.setHour12(editParam.getHour12()); - model.setHour13(editParam.getHour13()); - model.setHour14(editParam.getHour14()); - model.setHour15(editParam.getHour15()); - model.setHour16(editParam.getHour16()); - model.setHour17(editParam.getHour17()); - model.setHour18(editParam.getHour18()); - model.setHour19(editParam.getHour19()); - model.setHour20(editParam.getHour20()); - model.setHour21(editParam.getHour21()); - model.setHour22(editParam.getHour22()); - model.setHour23(editParam.getHour23()); - statHourMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: StatHour = this.statHourRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.statHourRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-service-impl.service.ts deleted file mode 100644 index d97898b3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/stat/impl/stat-service-impl.service.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class StatServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getIndexData - */ - async getIndexData(...args: any[]): Promise { - const statInfoVo: StatInfoVo = new StatInfoVo(); - const createTimes: string[] = new String[2]; - createTimes[0] = DateUtils.currInitDate(); - createTimes[1] = DateUtils.currDate(); - /** - * 会员统计类 - */ - const statToDayVo: StatToDayVo = new StatToDayVo(); - //总会员数 - const totalMemberCount: number = this.coreMemberService.getMemberCount(new MemberStatSearchParam()); - statToDayVo.setTotalMemberCount(totalMemberCount); - - //今天注册总会员数 - const todayMemberParam: MemberStatSearchParam = new MemberStatSearchParam(); - todayMemberParam.createTime = createTimes; - statToDayVo.setTodayMemberCount(this.coreMemberService.getMemberCount(todayMemberParam)); - //总站点数 - statToDayVo.setTotalSiteCount(this.siteService.getSiteCountByCondition(new SiteSearchParam())); - //今日站点数 - const todaySiteParam: SiteSearchParam = new SiteSearchParam(); - todaySiteParam.createTime = createTimes; - todaySiteParam.setAppType(AppTypeEnum.path.basename(SITE)); - statToDayVo.setTodaySiteCount(this.siteService.getSiteCountByCondition(todaySiteParam)); - //正常站点数 - const normaSiteParam: SiteSearchParam = new SiteSearchParam(); - normaSiteParam.status = 1; - normaSiteParam.setAppType(AppTypeEnum.path.basename(SITE)); - statToDayVo.setNormaSiteCount(this.siteService.getSiteCountByCondition(normaSiteParam)); - //到期站点数 - const expireSiteParam: SiteSearchParam = new SiteSearchParam(); - expireSiteParam.status = 2; - expireSiteParam.setAppType(AppTypeEnum.path.basename(SITE)); - statToDayVo.setExpireSiteCount(this.siteService.getSiteCountByCondition(expireSiteParam)); - //即将到期站点数 - const weekExpireSiteParam: SiteSearchParam = new SiteSearchParam(); - const expireTimes: string[] = new String[2]; - expireTimes[0] = DateUtils.currDate(); - expireTimes[1] = DateUtils.getDateAddDay(7); - weekExpireSiteParam.status = 1; - weekExpireSiteParam.setExpireTime(expireTimes); - weekExpireSiteParam.setAppType(AppTypeEnum.path.basename(SITE)); - statToDayVo.setWeekExpireSiteCount(this.siteService.getSiteCountByCondition(weekExpireSiteParam)); - - /** - * 系统数据类 - */ - const statSystemVo: StatSystemVo = new StatSystemVo(); - statSystemVo = this.systemService.info; - - statInfoVo.setTodayData(statToDayVo); - statInfoVo.setSystem(statSystemVo); - - /** - * 站点、会员数据统计数据 - */ - const memberCountVo: StatDateVo = new StatDateVo(); - const siteCountVo: StatDateVo = new StatDateVo(); - const dates: string[] = []; - const memberValues: number[] = []; - const siteValues: number[] = []; - const statNum: number = 7; - for (const i of number = 0; i <= statNum; i++) { - - const itemDay: string = DateUtils.getDateAddDay(i - statNum); - const startEndDate: string[] = DateUtils.getStartEndByDay(itemDay); - - const itemMemberParam: MemberStatSearchParam = new MemberStatSearchParam(); - itemMemberParam.createTime = startEndDate; - const itemMemberCount: number = this.coreMemberService.getMemberCount(itemMemberParam); - dates.push(startEndDate[0]); - memberValues.push(itemMemberCount); - const itemSiteParam: SiteSearchParam = new SiteSearchParam(); - itemSiteParam.createTime = startEndDate; - const itemSiteCount: number = this.siteService.getSiteCountByCondition(itemSiteParam); - siteValues.push(itemSiteCount); - } - memberCountVo.setDate(dates); - memberCountVo.value = memberValues; - siteCountVo.setDate(dates); - siteCountVo.value = siteValues; - - statInfoVo.setMemberCountStat(memberCountVo); - statInfoVo.setSiteStat(siteCountVo); - - /** - * 会员性别类型统计 - */ - const memberStat: StatTypeVo = new StatTypeVo(); - const sexlist: string[] = []; - sexlist.push(SexEnum.path.basename(MAN)); - sexlist.push(SexEnum.path.basename(WOMAN)); - sexlist.push(SexEnum.path.basename(UNKNOWN)); - - const sexCountList: number[] = []; - const sexMemberParam: MemberStatSearchParam = new MemberStatSearchParam(); - sexMemberParam.setSex(SexEnum.MAN.value); - const manSexCount: number = this.coreMemberService.getMemberCount(sexMemberParam); - sexMemberParam.setSex(SexEnum.WOMAN.value); - const womanSexCount: number = this.coreMemberService.getMemberCount(sexMemberParam); - sexCountList.push(manSexCount); - sexCountList.push(womanSexCount); - sexCountList.push(totalMemberCount - manSexCount - womanSexCount); - memberStat.type = sexlist; - memberStat.value = sexCountList; - statInfoVo.setMemberStat(memberStat); - - /** - * 站点分组 统计 - */ - const siteGroupStat: StatTypeVo = new StatTypeVo(); - const grouplist: string[] = []; - const groupCountList: number[] = []; - - const groupList: SiteGroup[] = this.siteGroupService.getAll(); - for (const siteGroup of groupList) { - grouplist.push(siteGroup.getGroupName()); - const siteGroupParam: SiteSearchParam = new SiteSearchParam(); - siteGroupParam.setGroupId(siteGroup.getGroupId()); - groupCountList.push(this.siteService.getSiteCountByCondition(siteGroupParam)); - } - siteGroupStat.type = grouplist; - siteGroupStat.value = groupCountList; - statInfoVo.setSiteGroupStat(siteGroupStat); - /** - * 所有应用安装统计 - */ - const appVo: StatAppVo = new StatAppVo(); - const totalAddonCount: number = this.coreAddonService.getLocalAddonCount(); - const installAddonCount: number = this.coreAddonService.getAddonCountByCondition(new CoreAddonSearchParam()); - appVo.setAppCount(totalAddonCount); - appVo.setAppInstalledCount(installAddonCount); - appVo.setAppNoInstalledCount(Math.max(totalAddonCount - installAddonCount, 0)); - statInfoVo.setApp(appVo); - return statInfoVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-agreement-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-agreement-service-impl.service.ts deleted file mode 100644 index 780e2643..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-agreement-service-impl.service.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysAgreementServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const typeJson: Record = AgreementEnum.type; - const list: SysAgreementListVo[] = []; - - for (Map.Entry map : typeJson.entrySet()) { - const vo: SysAgreementListVo = new SysAgreementListVo(); - const sysAgreement: SysAgreement = this.coreAgreementService.getAgreement(this.requestContext.siteId, map.key); - Object.assign(vo, sysAgreement); - list.push(vo); - } - - return list; - } - - /** - * getAgreement - */ - async getAgreement(...args: any[]): Promise { - const sysAgreement: SysAgreement = this.coreAgreementService.getAgreement(this.requestContext.siteId, key); - const vo: SysAgreementInfoVo = new SysAgreementInfoVo(); - Object.assign(vo, sysAgreement); - return vo; - } - - /** - * setAgreement - */ - async setAgreement(...args: any[]): Promise { - this.coreAgreementService.setAgreement(this.requestContext.siteId, key, title, content); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-area-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-area-service-impl.service.ts deleted file mode 100644 index 6a097991..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-area-service-impl.service.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysAreaServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getListByPid - */ - async getListByPid(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("pid", pid); - return this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * getAreaTree - */ - async getAreaTree(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.le("level", level); - const list: SysArea[] = this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const jsonArray: JSONArray = JSONUtil.parseArray(JSONUtil.toJsonStr(list)); - return TreeUtils.listToTree(jsonArray, "id", "pid", "child"); - } - - /** - * getAreaId - */ - async getAreaId(...args: any[]): Promise { - const areaInfo: SysArea = this.sysAreaRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("level", level).last("limit 1")); - if (areaInfo != null) { - return areaInfo.id; - } - return null; - } - - /** - * getAreaName - */ - async getAreaName(...args: any[]): Promise { - const areaInfo: SysArea = this.sysAreaRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).last("limit 1")); - if (areaInfo != null) { - return path.basename(areaInfo); - } - return null; - } - - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc(["sort", "id"]); - - [SysArea[], number] iPage = this.sysAreaRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysAreaListVo[] = []; - for (const item of iPageRecords) { - const vo: SysAreaListVo = new SysAreaListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getAddressInfo - */ - async getAddressInfo(...args: any[]): Promise { - const map: SysMapVo = this.coreSysConfigService.getMap(this.requestContext.siteId); - const result: string = HttpUtil.get("https://apis.map.qq.com/ws/geocoder/v1/?location="+ location +"&key=" + map.key); - if (!JSONUtil.isJson(result)) return null; - return JsonUtils.parseObject(result); - } - - /** - * getAddress - */ - async getAddress(...args: any[]): Promise { - const map: SysMapVo = this.coreSysConfigService.getMap(this.requestContext.siteId); - const result: string = HttpUtil.get("https://apis.map.qq.com/ws/geocoder/v1/?address="+ address +"&key=" + map.key); - if (!JSONUtil.isJson(result)) return null; - return JsonUtils.parseObject(result); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-attachment-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-attachment-service-impl.service.ts deleted file mode 100644 index e66395f9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-attachment-service-impl.service.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysAttachmentServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("att_id"); - if (CommonUtils.isNotEmpty(searchParam.getAttType())) queryWrapper.eq("att_type", searchParam.getAttType()); - if (CommonUtils.isNotEmpty(searchParam.getCateId()) && searchParam.getCateId() > 0) queryWrapper.eq("cate_id", searchParam.getCateId()); - if (CommonUtils.isNotEmpty(searchParam.getRealName())) queryWrapper.like("real_name", searchParam.getRealName()); - - [SysAttachment[], number] iPage = this.sysAttachmentRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysAttachmentListVo[] = []; - for (const item of iPageRecords) { - const vo: SysAttachmentListVo = new SysAttachmentListVo(); - Object.assign(vo, item); - vo.setThumb(CommonUtils.thumbImageSmall(item.siteId, item.path)); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * image - */ - async image(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setAttType("image"); - param.setDir("attachment/image/" + param.siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - return this.coreUploadService.upload(param); - } - - /** - * video - */ - async video(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setAttType("video"); - param.setDir("attachment/video/" + param.siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - return this.coreUploadService.upload(param); - } - - /** - * document - */ - async document(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setIsAttachment(0); - param.setAttType("document"); - param.setStorageType("local"); - param.setDir("attachment/document/" + param.getDocumentType() + "/" + param.siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - return this.coreUploadService.upload(param); - } - - /** - * batchMoveCategory - */ - async batchMoveCategory(...args: any[]): Promise { - const model: SysAttachment = new SysAttachment(); - model.setCateId(param.getCateId()); - this.sysAttachmentRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", this.requestContext.siteId) - .in("att_id", param.getAttIds())); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const sysAttachmentList: SysAttachment[] = this.sysAttachmentRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) - .in("att_id", param.getAttIds())); - if ((!sysAttachmentList || sysAttachmentList.length === 0)) { - throw new BadRequestException("请选择要删除的附件"); - } - for (const sysAttachment of sysAttachmentList) { - this.coreUploadService.delete(sysAttachment.siteId, sysAttachment.getStorageType(), sysAttachment.path); - } - this.sysAttachmentRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).in("att_id", param.getAttIds())); - } - - /** - * getCategoryList - */ - async getCategoryList(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJany /* TODO: QueryWrapper */(); - queryWrapper.select("id,name,type").eq("site_id", siteId); - if (CommonUtils.isNotEmpty(path.basename(searchParam))) queryWrapper.like("name", path.basename(searchParam)); - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - - const categorys: SysAttachmentCategory[] = this.sysAttachmentCategoryRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); // 调用 selectList 方法 - - const list: SysAttachmentCategoryListVo[] = []; - for (const item of categorys) { - const vo: SysAttachmentCategoryListVo = new SysAttachmentCategoryListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } - - /** - * addCategory - */ - async addCategory(...args: any[]): Promise { - if (CommonUtils.isEmpty(addParam.type)) throw new BadRequestException("type参数不能为空"); - - const model: SysAttachmentCategory = new SysAttachmentCategory(); - model.siteId = this.requestContext.siteId; - model.type = addParam.type; - model.name = path.basename(addParam); - this.sysAttachmentCategoryRepository.save(model); - } - - /** - * editCategory - */ - async editCategory(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - UpdateWrapper updateWrapper = new UpdateWrapper(); - updateWrapper.eq("site_id", siteId).eq("id", id); - - const model: SysAttachmentCategory = new SysAttachmentCategory(); - model.name = path.basename(editParam); - - this.sysAttachmentCategoryRepository.save(model, updateWrapper); - } - - /** - * delCategory - */ - async delCategory(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("site_id", siteId) - .eq("id", id); - - this.sysAttachmentCategoryRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-backup-records-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-backup-records-service-impl.service.ts deleted file mode 100644 index 8e5dd5a9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-backup-records-service-impl.service.ts +++ /dev/null @@ -1,422 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class SysBackupRecordsServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("create_time"); - - if (searchParam != null) { - if (searchParam.getContent() != null) { - queryWrapper.like("content", searchParam.getContent()); - } - } - - [SysBackupRecords[], number] iPage = this.sysBackupRecordsRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysBackupRecordsListVo[] = []; - for (const item of iPageRecords) { - const vo: SysBackupRecordsListVo = new SysBackupRecordsListVo(); - Object.assign(vo, item); - vo.createTime = DateUtils.timestampToString(item.createTime); - vo.setCompleteTime(DateUtils.timestampToString(item.getCompleteTime())); - vo.setStatusName(BackupRecordStatusEnum.getNameByStatus(vo.status)); - vo.setBackupDir("webroot/runtime/upgrade/"+vo.getBackupKey()+"/backup"); - list.push(vo); - } - - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: SysBackupRecords = new SysBackupRecords(); - Object.assign(model, addParam); - model.createTime = Date.now( / 1000); - this.sysBackupRecordsRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysBackupRecords = this.sysBackupRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - if (!model) throw new BadRequestException("备份记录不存在"); - - Object.assign(model, editParam); - sysBackupRecordsMapper.updateById(model); - } - - /** - * clear - */ - async clear(...args: any[]): Promise { - this.sysBackupRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).in("status", STATUS_READY, STATUS_FAIL)); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */; - - if (delParam.getIds() instanceof ArrayList) { - const intArray: number[] = []; - ((ArrayList) delParam.getIds()).forEach(item => { - if (!item) throw new BadRequestException("id不能为空"); - intArray.push(item); - }); - queryWrapper.in("id", intArray); - } else { - queryWrapper.eq("id", delParam.getIds()); - } - - const backupRecords: SysBackupRecords[] = this.sysBackupRecordsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isNotEmpty(backupRecords)) { - for (const item of backupRecords) { - const file: string = backupDir(item.getBackupKey(), "backup"); - if (fs.existsSync(file)) { - try { - fs.rmSync(file, { recursive: true, force: true }); - } catch (e) { - } - } - } - this.sysBackupRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - } - - /** - * restore - */ - async restore(...args: any[]): Promise { - const record: SysBackupRecords = checkDir(restoreParam); - - const vo: BackupTaskVo = getRestoreTask(); - if (vo == null) { - vo = new BackupTaskVo(); - LinkedHashMap steps = new LinkedHashMap(); - steps.put("startRestore", new BackupTaskVo.Step("startRestore", "开始恢复")); - steps.put("backupCode", new BackupTaskVo.Step("backupCode", "备份源码")); - steps.put("backupSql", new BackupTaskVo.Step("backupSql", "备份数据库")); - steps.put("restoreBackupComplete", new BackupTaskVo.Step("restoreBackupComplete", "备份完成")); - steps.put("restoreCode", new BackupTaskVo.Step("restoreCode", "恢复源码备份")); - steps.put("restoreSql", new BackupTaskVo.Step("restoreSql", "恢复数据库备份")); - steps.put("restoreComplete", new BackupTaskVo.Step("restoreComplete", "恢复完成")); - vo.key = RandomUtil.randomString(10); - vo.setSteps(steps); - vo.setStep("startRestore"); - vo.getExecuted().add("startRestore"); - vo.setContent("开始恢复"); - vo.setTask(""); - - const addParam: SysBackupRecordsParam = new SysBackupRecordsParam(); - addParam.setBackupKey(vo.key); - addParam.status = BackupRecordStatusEnum.STATUS_READY.status; - addParam.setContent("自动备份"); - addParam.version = this.appConfig.version; - add(addParam); - } - vo.setBackupRecord(record); - if (!vo.getTask() === "") return vo; - - const steps: string[] = vo.getSteps().keySet().stream(); - const step: string = steps.indexOf(vo.getStep()) < steps.length - 1 ? steps.get(steps.indexOf(vo.getStep()) + 1) : ""; - - if ((step && step.length > 0)) { - if (!vo.getExecuted().includes(step)) { - vo.getExecuted().add(step); - } - try { - const param: Record = null; - param = (Record) dynamicMethodCall(step, vo); - if (param != null) { - vo.setParams(param); - } else { - vo.setStep(step); - vo.setParams(null); - } - setBackupRestoreTaskCache(vo); - } catch (e) { - vo.setStep(step); - vo.setTask("fail"); - vo.setContent("备份恢复失败,稍后请手动恢复,备份文件路径:webroot/runtime/upgrade/"+ record.getBackupKey() +"/backup,失败原因:" + e.message); - setBackupRestoreTaskCache(vo); - // 删除备份记录 - this.sysBackupRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }))); - console.error(e); - console.log("恢复异常."); - - this.sysUpgradeRecordsService.clearRestoreTaskCache(5); - } - } - return vo; - } - - /** - * backup - */ - async backup(...args: any[]): Promise { - const vo: BackupTaskVo = getBackupTask(); - if (vo == null) { - vo = new BackupTaskVo(); - vo.key = RandomUtil.randomString(10); - vo.setStep("startBackup"); - vo.getExecuted().add("startBackup"); - vo.setContent("开始备份"); - - const addParam: SysBackupRecordsParam = new SysBackupRecordsParam(); - addParam.setBackupKey(vo.key); - addParam.status = BackupRecordStatusEnum.STATUS_READY.status; - addParam.setContent("手动备份"); - addParam.version = this.appConfig.version; - add(addParam); - } - - const steps: string[] = vo.getSteps().keySet().stream(); - const step: string = steps.indexOf(vo.getStep()) < steps.length - 1 ? steps.get(steps.indexOf(vo.getStep()) + 1) : ""; - - if ((step && step.length > 0)) { - if (!vo.getExecuted().includes(step)) { - vo.getExecuted().add(step); - } - try { - const param: Record = null; - param = (Record) dynamicMethodCall(step, vo); - if (param != null) { - vo.setParams(param); - } else { - vo.setStep(step); - vo.setParams(null); - } - setBackupTaskCache(vo); - } catch (e) { - vo.setStep(step); - vo.setTask("fail"); - vo.setContent("备份失败,稍后请重新手动备份,失败原因:" + e.message); - setBackupTaskCache(vo); - // 删除备份记录 - this.sysBackupRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }))); - console.error(e); - console.log("备份异常."); - - this.sysUpgradeRecordsService.clearBackupTaskCache(5); - } - } - return vo; - } - - /** - * backupComplete - */ - async backupComplete(...args: any[]): Promise { - const backupRecord: SysBackupRecords = new SysBackupRecords(); - backupRecord.status = UpgradeRecordStatusEnum.STATUS_COMPLETE.status; - backupRecord.setCompleteTime(Date.now() / 1000); - this.sysBackupRecordsRepository.save(backupRecord, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("backup_key", vo.key)); - - vo.setTask("end"); - - this.sysUpgradeRecordsService.clearBackupTaskCache(5); - } - - /** - * restoreBackupComplete - */ - async restoreBackupComplete(...args: any[]): Promise { - const backupRecord: SysBackupRecords = new SysBackupRecords(); - backupRecord.status = UpgradeRecordStatusEnum.STATUS_COMPLETE.status; - backupRecord.setCompleteTime(Date.now() / 1000); - this.sysBackupRecordsRepository.save(backupRecord, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("backup_key", vo.key)); - } - - /** - * restoreComplete - */ - async restoreComplete(...args: any[]): Promise { - vo.setTask("end"); - this.sysUpgradeRecordsService.clearRestoreTaskCache(5); - } - - /** - * setBackupTaskCache - */ - async setBackupTaskCache(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - cache.put("backup_task", JsonUtils.parseObject(vo).toString(), 1800); - } - - /** - * setBackupRestoreTaskCache - */ - async setBackupRestoreTaskCache(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - cache.put("backup_restore_task", JsonUtils.parseObject(vo).toString(), 1800); - } - - /** - * clearBackupTaskCache - */ - async clearBackupTaskCache(...args: any[]): Promise { - if (delayed > 0) { - try { - Thread.sleep(delayed * 1000); - } catch (e) { - } - } - const cache: Cached = CacheFactory.getCacheOperator(); - cache.remove("backup_task"); - } - - /** - * clearRestoreTaskCache - */ - async clearRestoreTaskCache(...args: any[]): Promise { - if (delayed > 0) { - try { - Thread.sleep(delayed * 1000); - } catch (e) { - } - } - const cache: Cached = CacheFactory.getCacheOperator(); - cache.remove("backup_restore_task"); - } - - /** - * getBackupTask - */ - async getBackupTask(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - const data: Object = cache.get("backup_task"); - if (data == null) return null; - return Object.assign(new BackupTaskVo(), JsonUtils.parseObject(data)) /* TODO: 检查BackupTaskVo构造函数 */; - } - - /** - * getRestoreTask - */ - async getRestoreTask(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - const data: Object = cache.get("backup_restore_task"); - if (data == null) return null; - return Object.assign(new BackupTaskVo(), JsonUtils.parseObject(data)) /* TODO: 检查BackupTaskVo构造函数 */; - } - - /** - * checkDir - */ - async checkDir(...args: any[]): Promise { - const record: SysBackupRecords = sysBackupRecordsMapper.selectById(param.id); - if (!record) throw new BadRequestException("备份记录不存在"); - if (!record.status === BackupRecordStatusEnum.STATUS_COMPLETE.status) throw new Error("备份记录未完成"); - - const code: string = this.appConfig.webRootDownRuntime + "upgrade/"+ record.getBackupKey( + "/backup/code"); - if (!fs.existsSync(code)) throw new Error("未找到备份的源码文件"); - - const sql: string = this.appConfig.webRootDownRuntime + "upgrade/"+ record.getBackupKey( + "/backup/sql"); - if (!fs.existsSync(sql)) throw new Error("未找到备份的数据库文件"); - - return record; - } - - /** - * checkPermission - */ - async checkPermission(...args: any[]): Promise { - const upgradeCheck: boolean = true; - - const checkResult: Record = new Record(); - const rootPath: string = ""; - const runtimePath: string = ""; - const readableDir: JSONArray = new JSONArray(); - const writeDir: JSONArray = new JSONArray(); - - if (this.appConfig.envType === "dev") { - rootPath = this.appConfig.projectRoot + "/"; - runtimePath = rootPath; - - readableDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - readableDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - } else { - rootPath = this.appConfig.webRoot + "/"; - runtimePath = rootPath + "runtime/"; - - readableDir.put(new Record().set("dir", runtimePath).set("status", true)); - writeDir.put(new Record().set("dir", runtimePath).set("status", true)); - } - - readableDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - writeDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - for (const i of number = 0; i < readableDir.length; i++) { - const dir: Record = readableDir.getRecord(i); - dir.set("status", dir.getStr("dir").canRead()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - readableDir.set(i, dir); - if (!dir.getBool("status")) upgradeCheck = false; - } - - for (const i of number = 0; i < writeDir.length; i++) { - const dir: Record = writeDir.getRecord(i); - dir.set("status", dir.getStr("dir").canWrite()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - writeDir.set(i, dir); - if (!dir.getBool("status")) upgradeCheck = false; - } - - checkResult.put("is_pass", upgradeCheck); - checkResult.put("dir", new Record().set("is_readable", readableDir).set("is_write", writeDir)); - return checkResult; - } - - /** - * dynamicMethodCall - */ - async dynamicMethodCall(...args: any[]): Promise { - try { - // 获取当前类的 Class 对象 - Class clazz = this.getClass(); - // 获取方法对象 - java.lang.reflect.const method: Method = clazz.getMethod(methodName, extractParameterTypes(args)); - // 调用方法 - console.log("dynamicMethodCall method:" + methodName); - const result: Object = method.invoke(this, args); - if (method.getReturnType() == void.class) { - return null; - } else { - return result; - } - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - if (e instanceof InvocationTargetException) { - ((InvocationTargetException) e).getCause().printStackTrace(); - throw new BadRequestException(((InvocationTargetException) e).getCause().getMessage()); - } else { - console.error(e); - } - return null; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-config-service-impl.service.ts deleted file mode 100644 index d2146f7f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-config-service-impl.service.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWebSite - */ - async getWebSite(...args: any[]): Promise { - return this.coreSysConfigService.getWebSite(this.requestContext.siteId); - } - - /** - * setWebSite - */ - async setWebSite(...args: any[]): Promise { - this.coreSysConfigService.setWebSite(this.requestContext.siteId, configParam); - } - - /** - * getService - */ - async getService(...args: any[]): Promise { - return this.coreSysConfigService.getService(this.requestContext.siteId); - } - - /** - * getCopyRight - */ - async getCopyRight(...args: any[]): Promise { - return this.coreSysConfigService.getCopyRight(this.requestContext.siteId); - } - - /** - * setCopyRight - */ - async setCopyRight(...args: any[]): Promise { - this.coreSysConfigService.setCopyRight(this.requestContext.siteId, configParam); - } - - /** - * getMap - */ - async getMap(...args: any[]): Promise { - return this.coreSysConfigService.getMap(this.requestContext.siteId); - } - - /** - * setMap - */ - async setMap(...args: any[]): Promise { - this.coreSysConfigService.setMap(this.requestContext.siteId, configParam); - } - - /** - * getDeveloperToken - */ - async getDeveloperToken(...args: any[]): Promise { - return this.coreSysConfigService.getDeveloperToken(); - } - - /** - * setDeveloperToken - */ - async setDeveloperToken(...args: any[]): Promise { - this.coreSysConfigService.setDeveloperToken(configParam); - } - - /** - * getLayout - */ - async getLayout(...args: any[]): Promise { - return this.coreSysConfigService.getLayout(this.requestContext.siteId); - } - - /** - * setLayout - */ - async setLayout(...args: any[]): Promise { - this.coreSysConfigService.setLayout(this.requestContext.siteId, configParam); - } - - /** - * getThemeColor - */ - async getThemeColor(...args: any[]): Promise { - return this.coreSysConfigService.getThemeColor(this.requestContext.siteId); - } - - /** - * setThemeColor - */ - async setThemeColor(...args: any[]): Promise { - this.coreSysConfigService.setThemeColor(this.requestContext.siteId, configParam); - } - - /** - * getLogin - */ - async getLogin(...args: any[]): Promise { - return this.coreSysConfigService.getLogin(this.requestContext.siteId); - } - - /** - * setLogin - */ - async setLogin(...args: any[]): Promise { - this.coreSysConfigService.setLogin(this.requestContext.siteId, configParam); - } - - /** - * getUrl - */ - async getUrl(...args: any[]): Promise { - return this.coreSysConfigService.getSceneDomain(this.requestContext.siteId); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-export-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-export-service-impl.service.ts deleted file mode 100644 index eb39ea2b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-export-service-impl.service.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysExportServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - queryWrapper.like("export_key", searchParam.getExportKey()); - - if (CommonUtils.isNotEmpty(searchParam.getExportKey())) { - queryWrapper.eq("export_status", searchParam.getExportStatus()); - } - - if (CommonUtils.isNotEmpty(searchParam.createTime)) { - const createTime: string[] = searchParam.createTime; - const startTime: number = (createTime[0] == null) ? 0 : DateUtils.StringToTimestamp(createTime[0]); - const endTime: number = (createTime[1] == null) ? 0 : DateUtils.StringToTimestamp(createTime[1]); - if (startTime > 0 && endTime > 0) { - queryWrapper.between("create_time", startTime, endTime); - } else if (startTime > 0 && endTime == 0) { - queryWrapper.ge("create_time", startTime); - } else if (startTime == 0 && endTime > 0) { - queryWrapper.le("create_time", startTime); - } - } - - const results: JSONArray = JsonModuleLoader.build().mergeResultSet("export/ExportType.json"); - - [SysExport[], number] iPage = this.sysExportRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - [SysExportListVo[], number] converted = iPage.convert(export => { - const vo: SysExportListVo = new SysExportListVo(); - Object.assign(vo, export); - vo.createTime = DateUtils.timestampToString(export.createTime); - vo.setExportStatusName(ExportEnum.getNameByCode(export.getExportStatus())); - results - .map(JSONUtil::parseObj) - .filter(o => o.containsKey(export.getExportKey())) - .findFirst() - .map(o => o.getRecord(export.getExportKey())) - .ifPresent(o => vo.setExportKeyName(o.getStr("name"))); - - return vo; - }); - - return PageResult.build(converted); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysExport = this.sysExportRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.sysExportRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * checkExportData - */ - async checkExportData(...args: any[]): Promise { - const pageParam: PageParam = new PageParam(); - pageParam.setPage(number.parseInt(whereMap.getOrDefault("page", 0).toString())); - pageParam.setLimit(number.parseInt(whereMap.getOrDefault("limit", 0).toString())); - const jsonArray: JSONArray = this.coreExportService.getExportData(this.requestContext.siteId, type, JsonUtils.parseObject(whereMap), pageParam); - return (jsonArray && jsonArray.length > 0); - } - - /** - * exportData - */ - async exportData(...args: any[]): Promise { - const siteId: number = this.requestContext.siteId; - const pageParam: PageParam = new PageParam(); - pageParam.setPage(whereMap.getOrDefault("page", 0)); - pageParam.setLimit(whereMap.getOrDefault("limit", 0)); - - const dataColumn: JSONArray = this.coreExportService.getExportDataColumn(type); - const dataArray: JSONArray = this.coreExportService.getExportData(siteId, type, JsonUtils.parseObject(whereMap), pageParam); - - const export: SysExport = new SysExport(); - export.siteId = this.requestContext.siteId; - export.setExportKey(type); - export.setExportNum(CollectionUtil.size(dataArray)); - export.createTime = Date.now( / 1000); - this.coreExportService.push(export); - - this.coreExportService.export(siteId, export.id, type, dataColumn, dataArray); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-menu-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-menu-service-impl.service.ts deleted file mode 100644 index f7e2d68d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-menu-service-impl.service.ts +++ /dev/null @@ -1,318 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysMenuServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysMenu = this.sysMenuRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysMenuInfoVo = new SysMenuInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * get - */ - async get(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper=new QueryWrapper(); - queryWrapper.eq("app_type", appType); - queryWrapper.eq("menu_key", menuKey); - const sysMenu: SysMenu = this.sysMenuRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (!sysMenu) throw new BadRequestException("菜单数据不存在"); - const sysMenuInfoVo: SysMenuInfoVo = new SysMenuInfoVo(); - BeanUtil.copyProperties(sysMenu, sysMenuInfoVo); - return sysMenuInfoVo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const sysMenu: SysMenu = this.find(addParam.getMenuKey(), addParam.appType); - if(ObjectUtil.isNotNull(sysMenu)){ - throw new AdminException("validate_menu.exit_menu_key"); - } - - const model: SysMenu = new SysMenu(); - BeanUtil.copyProperties(addParam, model); - model.createTime = DateUtils.currTime(); - model.setSource(MenuSourceEnum.CREATE.getCode()); - this.sysMenuRepository.save(model); - /** 清理缓存 */ - cached.tag(cacheTagName).clear(); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysMenu = this.sysMenuRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("menu_key", menuKey) - .last("limit 1")); - if (!model) throw new BadRequestException("数据不存在!"); - BeanUtil.copyProperties(editParam, model); - sysMenuMapper.updateById(model); - /** 清理缓存 */ - cached.tag(cacheTagName).clear(); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const keyCount: number = this.sysMenuRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("app_type", appType)); - if(keyCount>0){ - throw new AdminException("MENU_NOT_ALLOW_DELETE"); - } - this.sysMenuRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("menu_key", menuKey)); - /** 清理缓存 */ - cached.tag(cacheTagName).clear(); - } - - /** - * menuTree - */ - async menuTree(...args: any[]): Promise { - return cached.rememberObject(useCache, cacheTagName, ["menuTree"], uniqueKey => { - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("app_type", "site"); - queryWrapper.orderByDesc(["sort", "id"]); - const sysMenuList: SysMenu[] = this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(sysMenuList)); - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - }); - } - - /** - * getMenuListByCondition - */ - async getMenuListByCondition(...args: any[]): Promise { - return cached.remember(useCache, cacheTagName, ["getMenuListByCondition", appType, siteId, status, isButton, menuKeys, addon], uniqueKey => { - const addonList: string[] = this.coreSiteService.getAddonKeysBySiteId(siteId); - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (CommonUtils.isNotEmpty(appType)) { - queryWrapper.eq("app_type", appType); - } - if (addonList.length > 0) { - addonList.push(""); - queryWrapper.in("addon", addonList); - } else { - queryWrapper.in("addon", ""); - } - if (status != 100) { - queryWrapper.eq("status", status); - } - if (menuKeys.length > 0) { - queryWrapper.in("menu_key", menuKeys); - } - if (isButton == 0) { - queryWrapper.ne("menu_type", 2); - } - - //排除菜单 后期处理 - - const menuList: SysMenu[] = this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - return menuList; - }); - } - - /** - * getMenuListByKeys - */ - async getMenuListByKeys(...args: any[]): Promise { - const menuKeysVal: string = String.join("_", menuKeys); - const menuKeysValMD5: string = SecureUtil.md5(menuKeysVal); - const menuCatch: string = "menu" + menuKeysValMD5 + isTree.toString() + addon + siteId; - const outterMenuList: SysMenu[] = cached.cache(useCache, cacheTagName, menuCatch, uniqueKey => { - //通过站点id获取支持的应用插件 - const addonList: string[] = this.coreSiteService.getAddonKeysBySiteId(siteId); - - //组装查询条件 - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (menuKeys.length > 0) { - queryWrapper.in("menu_key", menuKeys); - } - const paichuList: SysMenu[] = null; - if (addon !== "all"){ - queryWrapper.eq("addon",addon); - - const jsonModuleLoader: JsonModuleLoader = new JsonModuleLoader(); - const jsonObject: Record = jsonModuleLoader.getResultElement(addon, "menu/site.json"); - const delJsonInfo: JSONArray = jsonObject.getJSONArray("delete"); - paichuList = JSONUtil.toList(delJsonInfo,SysMenu.class); - }else{ - queryWrapper.in("addon", addonList); - for (const i of number = 0; i = jsonModuleLoader.getResultElement(addonList.get(i), "menu/site.json"); - const delJsonInfo: JSONArray = jsonObject.getJSONArray("delete"); - paichuList = JSONUtil.toList(delJsonInfo,SysMenu.class); - } - } - if (CommonUtils.isNotEmpty(appType)) { - queryWrapper.eq("app_type", appType); - } - - //排除菜单 - if(ObjectUtil.isNotNull(paichuList) && paichuList.length>0){ - const paichuArr: string[] = []; - for (const i of number = 0; i { - //站点id - const siteId: number = this.requestContext.siteId; - - // 缓存Key值计算参数 - const key: string = "menuList_"+appType+"_"+status + siteId.toString(); - - const outterMenuList: SysMenu[] = cached.cache(useCache, cacheTagName, key, uniqueKey => { - const menuList: SysMenu[] = []; - try { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (CommonUtils.isNotEmpty(appType)) { - queryWrapper.eq("app_type", appType); - } - - //站点相关插件 - if (!RequestUtils.defaultSiteId() === siteId) { - const addonList: string[] = this.coreSiteService.getAddonKeysBySiteId(siteId); - - if (addonList.length > 0) { - addonList.push(""); - queryWrapper.in("addon", addonList); - } - } - - if (status != 100) { - queryWrapper.eq("status", status); - } - //排除菜单 - menuList = this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } catch (e) { - throw new BaseException("查询菜单错误"); - } - return menuList; - }); - - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(outterMenuList)); - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - } - - /** - * find - */ - async find(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper= new QueryWrapper(); - if(ObjectUtil.isNotNull(menuKey) && CommonUtils.isNotEmpty(menuKey)){ - queryWrapper.eq("menu_key", menuKey); - } - if(ObjectUtil.isNotNull(appType) && CommonUtils.isNotEmpty(appType)){ - queryWrapper.eq("app_type", appType); - } - const sysMenu: SysMenu = this.sysMenuRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - return sysMenu; - } - - /** - * getMenuByTypeDir - */ - async getMenuByTypeDir(...args: any[]): Promise { - const outterMenuList: SysMenu[] = cached.remember(useCache, cacheTagName, ["getMenuByTypeDir", addon], uniqueKey => { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("app_type", "site"); - queryWrapper.eq("menu_type", "0"); - queryWrapper.eq("addon", addon === "system"? "": addon); - queryWrapper.orderByDesc("sort"); - return this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - }); - - //暂无多语言设计 - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(outterMenuList)); - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - } - - /** - * getAddonMenu - */ - async getAddonMenu(...args: any[]): Promise { - return cached.rememberObject(useCache, cacheTagName, ["getAddonMenu", appKey, status, isTree.toString(], isButton.toString()), uniqueKey => { - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("app_type", "site"); - queryWrapper.eq("addon", appKey); - queryWrapper.orderByDesc(["sort", "id"]); - if (status !== "all") { - queryWrapper.eq("status", status); - } - if (isButton == 0) { - queryWrapper.in("menu_type", new number[]{0, 1}); - } - const sysMenuList: SysMenu[] = this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(sysMenuList)); - if (isTree == 0) { - return jsonArray; - } - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - }); - } - - /** - * getSystemMenu - */ - async getSystemMenu(...args: any[]): Promise { - return cached.rememberObject(useCache, cacheTagName, ["getSystemMenu", status, isTree.toString(], isButton.toString()), uniqueKey => { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("app_type", "site"); - queryWrapper.eq("addon", ""); - queryWrapper.orderByDesc(["sort", "id"]); - if (status !== "all") { - queryWrapper.eq("status", status); - } - if (isButton == 0) { - queryWrapper.in("menu_type", new number[]{0, 1}); - } - const sysMenuList: SysMenu[] = this.sysMenuRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const jsonArray: JSONArray = JSONUtil.parseArray(JacksonUtils.toSnakeCaseJSONString(sysMenuList)); - if (isTree == 0) { - return jsonArray; - } - return TreeUtils.listToTree(jsonArray, "menu_key", "parent_key", "children"); - }); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-log-service-impl.service.ts deleted file mode 100644 index 9fbfce6f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-log-service-impl.service.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysNoticeLogServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.getReceiver())) queryWrapper.eq("receiver", searchParam.getReceiver()); - if (CommonUtils.isNotEmpty(searchParam.key)) queryWrapper.eq("`key`", searchParam.key); - if (CommonUtils.isNotEmpty(searchParam.createTime)) QueryMapperUtils.buildByTime(queryWrapper, "create_time", searchParam.createTime); - queryWrapper.orderByDesc("id"); - - const noticeEnum: Record = NoticeEnum.getNotice(); - - [SysNoticeLog[], number] iPage = this.sysNoticeLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysNoticeLogListVo[] = []; - for (const item of iPageRecords) { - const vo: SysNoticeLogListVo = new SysNoticeLogListVo(); - Object.assign(vo, item); - vo.name = noticeEnum.get(item.key != null ? noticeEnum.get(item.key).getName() : ""); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysNoticeLog = this.sysNoticeLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysNoticeLogInfoVo = new SysNoticeLogInfoVo(); - Object.assign(vo, model); - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-service-impl.service.ts deleted file mode 100644 index c72f830e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-service-impl.service.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class SysNoticeServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [SysNotice[], number] iPage = this.sysNoticeRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysNoticeListVo[] = []; - for (const item of iPageRecords) { - const vo: SysNoticeListVo = new SysNoticeListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysNoticeInfoVo = new SysNoticeInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: SysNotice = new SysNotice(); - model.siteId = addParam.siteId; - model.key = addParam.key; - model.setSmsContent(addParam.getSmsContent()); - model.setIsWechat(addParam.getIsWechat()); - model.setIsWeapp(addParam.getIsWeapp()); - model.setIsSms(addParam.getIsSms()); - model.setWechatTemplateId(addParam.getWechatTemplateId()); - model.setWeappTemplateId(addParam.getWeappTemplateId()); - model.setSmsId(addParam.getSmsId()); - model.createTime = Date.now( / 1000); - model.setWechatFirst(addParam.getWechatFirst()); - model.setWechatRemark(addParam.getWechatRemark()); - this.sysNoticeRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.id = id; - model.siteId = editParam.siteId; - model.key = editParam.key; - model.setSmsContent(editParam.getSmsContent()); - model.setIsWechat(editParam.getIsWechat()); - model.setIsWeapp(editParam.getIsWeapp()); - model.setIsSms(editParam.getIsSms()); - model.setWechatTemplateId(editParam.getWechatTemplateId()); - model.setWeappTemplateId(editParam.getWeappTemplateId()); - model.setSmsId(editParam.getSmsId()); - model.setWechatFirst(editParam.getWechatFirst()); - model.setWechatRemark(editParam.getWechatRemark()); - sysNoticeMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.sysNoticeRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-sms-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-sms-log-service-impl.service.ts deleted file mode 100644 index 6d6907d1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-notice-sms-log-service-impl.service.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysNoticeSmsLogServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - if (CommonUtils.isNotEmpty(searchParam.key)) queryWrapper.eq("`key`", searchParam.key); - if (CommonUtils.isNotEmpty(searchParam.getSmsType())) queryWrapper.eq("sms_type", searchParam.getSmsType()); - if (CommonUtils.isNotEmpty(searchParam.getMobile())) queryWrapper.eq("mobile", searchParam.getMobile()); - if (CommonUtils.isNotEmpty(searchParam.createTime)) QueryMapperUtils.buildByTime(queryWrapper,"create_time" ,searchParam.createTime); - queryWrapper.orderByDesc("id"); - - const smsTypeEnum: Record = SmsTypeEnum.type; - const notice: Record = NoticeEnum.getNotice(); - - [SysNoticeSmsLog[], number] iPage = this.sysNoticeSmsLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysNoticeSmsLogListVo[] = []; - for (const item of iPageRecords) { - const vo: SysNoticeSmsLogListVo = new SysNoticeSmsLogListVo(); - Object.assign(vo, item); - vo.setSmsTypeName(smsTypeEnum.getByPath(item.getSmsType() + ".name", String.class)); - vo.name = ObjectUtil.defaultIfNull(notice.get(item.key.getName(), "")); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysNoticeSmsLog = this.sysNoticeSmsLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .last("limit 1")); - if (model == null) return null; - - const vo: SysNoticeSmsLogInfoVo = new SysNoticeSmsLogInfoVo(); - Object.assign(vo, model); - - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-poster-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-poster-service-impl.service.ts deleted file mode 100644 index bff776c0..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-poster-service-impl.service.ts +++ /dev/null @@ -1,215 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysPosterServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(path.basename(searchParam))) queryWrapper.like("name", path.basename(searchParam)); - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - - [SysPoster[], number] iPage = this.sysPosterRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysPosterListVo[] = []; - for (const item of iPageRecords) { - const vo: SysPosterListVo = new SysPosterListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * list - */ - async list(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(path.basename(searchParam))) queryWrapper.like("name", path.basename(searchParam)); - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - - const records: SysPoster[] = this.sysPosterRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const list: SysPosterListVo[] = []; - for (const item of records) { - const vo: SysPosterListVo = new SysPosterListVo(); - Object.assign(vo, item); - list.push(vo); - } - return list; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("海报不存在"); - - const vo: SysPosterInfoVo = new SysPosterInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - if (addParam.getIsDefault() === 1) { - const update: UpdateWrapper = new UpdateWrapper(); - update.setSql("is_default = 0"); - update.eq("type", addParam.type); - update.eq("is_default", 1); - update.eq("site_id", this.requestContext.siteId); - this.sysPosterRepository.save(null, update); - } - const model: SysPoster = new SysPoster(); - Object.assign(model, addParam); - model.siteId = this.requestContext.siteId; - model.createTime = Date.now( / 1000); - this.sysPosterRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("海报不存在!"); - - if (editParam.getIsDefault() === 1) { - const update: UpdateWrapper = new UpdateWrapper(); - update.setSql("is_default = 0"); - update.eq("type", editParam.type); - update.eq("is_default", 1); - update.eq("site_id", this.requestContext.siteId); - this.sysPosterRepository.save(null, update); - } - - Object.assign(model, editParam); - model.updateTime = Date.now( / 1000); - sysPosterMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("海报不存在!"); - - this.sysPosterRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * init - */ - async init(...args: any[]): Promise { - const vo: SysPosterInitVo = new SysPosterInitVo(); - Object.assign(vo, param); - - if (CommonUtils.isNotEmpty(param.id) && param.id > 0) { - const poster: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", this.requestContext.siteId)); - if (!poster) throw new BadRequestException("海报不存在!"); - Object.assign(vo, poster); - } - - vo.setPosterType(PosterTypeEnum.getType(vo.type)); - if (CommonUtils.isNotEmpty(vo.getPosterType()) && CommonUtils.isEmpty(vo.getAddon())) vo.setAddon(vo.getPosterType().getStr("addon", "")); - - const components: Record = JsonModuleLoader.build().mergeResultElement("poster/components.json"); - - vo.setComponent(new Record()); - for (const key of components.keySet()) { - const item: Record = components.getRecord(key); - if (item.getRecord("list") == null || item.getRecord("list").keySet().size() == 0) { - continue; - } - const support: JSONArray = ObjectUtil.defaultIfNull(item.getJSONArray("support"), new JSONArray()); - if (key !== vo.type && support.length > 0 && !support.includes(vo.type)) { - continue; - } - vo.getComponent().put(key, item); - } - - return vo; - } - - /** - * template - */ - async template(...args: any[]): Promise { - return this.corePosterService.template(param.getAddon(), param.type); - } - - /** - * modifyStatus - */ - async modifyStatus(...args: any[]): Promise { - const model: SysPoster = new SysPoster(); - model.status = status; - this.sysPosterRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("id", id).eq("site_id", this.requestContext.siteId)); - } - - /** - * modifyDefault - */ - async modifyDefault(...args: any[]): Promise { - const model: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("海报不存在!"); - - const update: UpdateWrapper = new UpdateWrapper(); - update.setSql("is_default = 0"); - update.eq("type", model.type); - update.eq("is_default", 1); - update.eq("site_id", this.requestContext.siteId); - this.sysPosterRepository.save(null, update); - - const updateModel: SysPoster = new SysPoster(); - updateModel.setIsDefault(1); - updateModel.id = id; - sysPosterMapper.updateById(updateModel); - } - - /** - * preview - */ - async preview(...args: any[]): Promise { - const getPosterParam: GetPosterParam = new GetPosterParam(); - getPosterParam.id = param.id; - getPosterParam.type = param.type; - getPosterParam.siteId = this.requestContext.siteId; - getPosterParam.setChannel(ObjectUtil.defaultIfNull(param.getChannel(), "h5")); - const posterParam: Record = {}; - posterParam.put("mode", "preview"); - getPosterParam.setParam(posterParam); - getPosterParam.setIsThrowException(true); - return this.corePosterService.get(getPosterParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-service-impl.service.ts deleted file mode 100644 index 565ecf8f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-service-impl.service.ts +++ /dev/null @@ -1,206 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysPrinterServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId) - .orderByDesc("create_time"); - - if (CommonUtils.isNotEmpty(searchParam.getPrinterName())) { - queryWrapper.like("printer_name", searchParam.getPrinterName()); - } - - [SysPrinter[], number] iPage = this.sysPrinterRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysPrinterListVo[] = []; - for (const item of iPageRecords) { - const vo: SysPrinterListVo = new SysPrinterListVo(); - Object.assign(vo, item); - vo.setBrandName(SysPrinterBrandEnum.getNameByBrand(item.getBrand())); - vo.setTrigger(JSONArray.parseArray(item.getTrigger(), String.class)); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getList - */ - async getList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId) - .orderByDesc("create_time") - .select("printer_id, apikey, brand, create_time, open_id, print_width, printer_code, printer_key, printer_name, site_id, status, template_type, 'trigger', update_time, value"); - - if (CommonUtils.isNotEmpty(param.getPrinterName())) { - queryWrapper.like("printer_name", param.getPrinterName()); - } - - const list: SysPrinterListVo[] = []; - for (const item of this.sysPrinterRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) { - const vo: SysPrinterListVo = new SysPrinterListVo(); - Object.assign(vo, item); - vo.setBrandName(SysPrinterBrandEnum.getNameByBrand(item.getBrand())); - vo.value = JSON.parseObject(item.value); - vo.setTrigger(JSONArray.parseArray(item.getTrigger(), String.class)); - list.push(vo); - } - - return list; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("小票打印机不存在"); - - const vo: SysPrinterInfoVo = new SysPrinterInfoVo(); - Object.assign(vo, model); - vo.value = JSON.parseObject(model.value); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: SysPrinter = new SysPrinter(); - Object.assign(model, addParam); - model.siteId = this.requestContext.siteId; - model.value = JSON.toJSONString(addParam.value); - model.setTemplateType(addParam.getTemplateType().get(0)); - model.setTrigger(JSON.toJSONString(addParam.getTrigger())); - model.createTime = Date.now( / 1000); - this.sysPrinterRepository.save(model); - - if (addParam.getBrand() === SysPrinterBrandEnum.YI_LIAN_YUN.getBrand()) { - const addPrinterYlyParam: SysPrinterAddPrinterYlyParam = new SysPrinterAddPrinterYlyParam(); - Object.assign(addPrinterYlyParam, addParam); - this.corePrinterService.addPrinterYly(addPrinterYlyParam); - } - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("小票打印机不存在"); - Object.assign(model, editParam); - model.value = JSON.toJSONString(editParam.value); - model.setTemplateType(editParam.getTemplateType().get(0)); - model.setTrigger(JSON.toJSONString(editParam.getTrigger())); - model.updateTime = Date.now( / 1000); - sysPrinterMapper.updateById(model); - - if (editParam.getBrand() === SysPrinterBrandEnum.YI_LIAN_YUN.getBrand()) { - const addPrinterYlyParam: SysPrinterAddPrinterYlyParam = new SysPrinterAddPrinterYlyParam(); - Object.assign(addPrinterYlyParam, editParam); - this.corePrinterService.addPrinterYly(addPrinterYlyParam); - } - } - - /** - * modifyStatus - */ - async modifyStatus(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", this.requestContext.siteId)); - model.status = param.status; - sysPrinterMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (CommonUtils.isEmpty(model)) { - return; - } - - this.sysPrinterRepository.delete(id); - - if (model.getBrand() === SysPrinterBrandEnum.YI_LIAN_YUN.getBrand()) { - this.corePrinterService.deletePrinterYly(model); - } - } - - /** - * getBrand - */ - async getBrand(...args: any[]): Promise { - const jsonObject: Record = new Record(); - for (const value of SysPrinterBrandEnum.values()) { - if (CommonUtils.isEmpty(value.getBrand())) { - continue; - } - - jsonObject.put(value.getBrand(), path.basename(value)); - } - return jsonObject; - } - - /** - * refreshToken - */ - async refreshToken(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (CommonUtils.isEmpty(model)) { - throw new Error("打印机不存在"); - } - - return this.corePrinterService.refreshToken(model); - } - - /** - * testPrint - */ - async testPrint(...args: any[]): Promise { - const model: SysPrinter = this.sysPrinterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (CommonUtils.isEmpty(model)) { - throw new Error("打印机不存在"); - } - - if (model.getBrand() === SysPrinterBrandEnum.YI_LIAN_YUN.getBrand()) { - testYlyPrint(model); - } - } - - /** - * printTicket - */ - async printTicket(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - return this.corePrinterService.printTicket(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-template-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-template-service-impl.service.ts deleted file mode 100644 index e9263e8c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-printer-template-service-impl.service.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysPrinterTemplateServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId) - .orderByDesc("create_time"); - - if (CommonUtils.isNotEmpty(searchParam.getTemplateId())) { - queryWrapper.eq("template_id", searchParam.getTemplateId()); - } - if (CommonUtils.isNotEmpty(searchParam.getTemplateName())) { - queryWrapper.like("template_name", searchParam.getTemplateName()); - } - if (CommonUtils.isNotEmpty(searchParam.getTemplateType())) { - queryWrapper.eq("template_type", searchParam.getTemplateType()); - } - - [SysPrinterTemplate[], number] iPage = this.sysPrinterTemplateRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysPrinterTemplateListVo[] = []; - for (const item of iPageRecords) { - const vo: SysPrinterTemplateListVo = new SysPrinterTemplateListVo(); - Object.assign(vo, item); - vo.setTemplateTypeName(SysPrinterTypeEnum.getTypeName(item.getTemplateType())); - vo.value = JSON.parseObject(item.value); - vo.createTime = DateUtils.timestampToString(item.createTime); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getList - */ - async getList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - - queryWrapper.eq("site_id", this.requestContext.siteId) - .orderByDesc("create_time"); - - if (CommonUtils.isNotEmpty(searchParam.getTemplateId())) { - queryWrapper.eq("template_id", searchParam.getTemplateId()); - } - if (CommonUtils.isNotEmpty(searchParam.getTemplateName())) { - queryWrapper.like("template_name", searchParam.getTemplateName()); - } - if (CommonUtils.isNotEmpty(searchParam.getTemplateType())) { - queryWrapper.eq("template_type", searchParam.getTemplateType()); - } - - const voList: SysPrinterTemplateListVo[] = []; - for (const item of this.sysPrinterTemplateRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) { - const vo: SysPrinterTemplateListVo = new SysPrinterTemplateListVo(); - Object.assign(vo, item); - vo.setTemplateTypeName(SysPrinterTypeEnum.getTypeName(item.getTemplateType())); - vo.value = JSON.parseObject(item.value); - vo.createTime = DateUtils.timestampToString(item.createTime); - voList.push(vo); - } - return voList; - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysPrinterTemplate = this.sysPrinterTemplateRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("小票打印模板不存在"); - - const vo: SysPrinterTemplateInfoVo = new SysPrinterTemplateInfoVo(); - Object.assign(vo, model); - vo.value = JSON.parseObject(model.value); - vo.createTime = DateUtils.timestampToString(model.createTime); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: SysPrinterTemplate = new SysPrinterTemplate(); - Object.assign(model, addParam); - model.value = JSON.toJSONString(addParam.value); - model.createTime = Date.now( / 1000); - model.siteId = this.requestContext.siteId; - - this.sysPrinterTemplateRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysPrinterTemplate = this.sysPrinterTemplateRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - if (!model) throw new BadRequestException("小票打印模板不存在"); - Object.assign(model, editParam); - sysPrinterTemplateMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const template: SysPrinterTemplate = sysPrinterTemplateMapper.selectById(id); - - Lambdaany /* TODO: QueryWrapper */ printerLambdaQueryWrapper = new LambdaQueryWrapper(); - printerLambdaQueryWrapper.eq(SysPrinter::getSiteId, this.requestContext.siteId) - .like(SysPrinter::getTemplateType, template.getTemplateType()); - const printers: SysPrinter[] = this.sysPrinterRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - - Optional illegalPrinter = printers - .filter(printer => CommonUtils.isNotEmpty(printer.value)) - .filter(printer => JSON.parseArray(printer.value).stream() - .anyMatch(value => JSON.parseArray(value.toString()).stream() - .anyMatch(o => id === JSON.parseObject(o.toString().getInteger("template_id"))))) - .findFirst(); - - if (illegalPrinter.isPresent()) { - throw new Error("该模板已被打印机[" + illegalPrinter.get().getPrinterName() + "]使用,无法删除"); - } - - this.sysPrinterTemplateRepository.delete(id); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-role-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-role-service-impl.service.ts deleted file mode 100644 index 5fbcdbcb..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-role-service-impl.service.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysRoleServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("role_id"); - queryWrapper.eq("site_id", this.requestContext.siteId); - if(ObjectUtil.isNotNull(searchParam.getRoleName()) && CommonUtils.isNotEmpty(searchParam.getRoleName())){ - queryWrapper.like("role_name", searchParam.getRoleName()); - } - [SysRole[], number] iPage = this.sysRoleRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysRoleListVo[] = []; - for (const item of iPageRecords) { - const vo: SysRoleListVo = new SysRoleListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysRole = this.sysRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysRoleInfoVo = new SysRoleInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const isExist: SysRole = this.sysRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("role_name", addParam.getRoleName()) - .eq("site_id", this.requestContext.siteId) - .last("limit 1") - ); - if (isExist != null) throw new AdminException("管理员角色已存在"); - - const model: SysRole = new SysRole(); - model.siteId = this.requestContext.siteId; - model.setRoleName(addParam.getRoleName()); - model.setRules(JSONUtil.toJsonStr(addParam.getRules())); - model.status = addParam.status; - model.createTime = DateUtils.currTime(); - model.updateTime = DateUtils.currTime(); - this.sysRoleRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const isExist: SysRole = this.sysRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("role_name", editParam.getRoleName()) - .eq("site_id", this.requestContext.siteId) - .ne("role_id", roleId) - .last("limit 1") - ); - if (isExist != null) throw new AdminException("管理员角色已存在"); - - const model: SysRole = this.sysRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.siteId = this.requestContext.siteId; - model.setRoleName(editParam.getRoleName()); - model.setRules(JSONUtil.toJsonStr(editParam.getRules())); - model.status = editParam.status; - model.updateTime = DateUtils.currTime(); - sysRoleMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysRole = this.sysRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - const userRoleCount: number = this.sysUserRoleRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })); - if(userRoleCount>0){ - throw new AdminException("USER_ROLE_NOT_ALLOW_DELETE"); - } - this.sysRoleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * getMenuIdsByRoleIds - */ - async getMenuIdsByRoleIds(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */; - queryWrapper.eq("status", RoleStatusEnum.ON.getCode()); - // 判断roleIds不能为空 - if(ObjectUtil.isNotNull(roleIds) && roleIds.length>0){ - queryWrapper.in("role_id", roleIds); - } - const roleList: SysRole[] = this.sysRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const roleMenuJson: JSONArray = new JSONArray(); - for (const sysRole of roleList) { - const ruleJson: JSONArray = JSONUtil.parseArray(sysRole.getRules()); - roleMenuJson.addAll(ruleJson); - } - //去重 - const list: string[] = JSONUtil.toList(roleMenuJson, String.class); - return CollectionUtil.distinct(list); - } - - /** - * getAllRole - */ - async getAllRole(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper=new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.eq("status", 1); - const roleList: SysRole[] = this.sysRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const sysRoleListVoList: SysRoleListVo[] = []; - for (const sysRole of roleList) { - const vo: SysRoleListVo = new SysRoleListVo(); - Object.assign(vo, sysRole); - sysRoleListVoList.push(vo); - } - const sysUserRole: SysUserRole = null; - const isAdmin: boolean = false; - if (this.authService.isSuperAdmin()){ - isAdmin=true; - }else { - sysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq(SysUserRole::getSiteId, this.requestContext.siteId).eq(SysUserRole::getUid, RequestUtils.uid())); - if (CommonUtils.isEmpty(sysUserRole)){ - return List.of(); - } - isAdmin = sysUserRole.getIsAdmin() == 1 ? true : false; - } - if (!isAdmin){ - if (StringUtils.isNotEmpty(sysUserRole.getRoleIds()) && "[]".equals(sysUserRole.getRoleIds())){ - const roleIdsStr: string = sysUserRole.getRoleIds().replaceAll("[\\[\\]\"]", ""); - const menuIdsByRoleIds: string[] = getMenuIdsByRoleIds(this.requestContext.siteId, Arrays.stream(roleIdsStr.split(","))); - for (const sysRoleListVo of sysRoleListVoList) { - const diff: string[] = new ArrayList<>(Collections.singleton(sysRoleListVo.getRules())); - diff.removeAll(menuIdsByRoleIds); - if ((diff && diff.length > 0)){ - sysRoleListVo.setDisabled(true); - } - } - } - - } - sysRoleListVoList.forEach(sysRoleListVo => sysRoleListVo.setRules(null)); - return sysRoleListVoList; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-schedule-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-schedule-service-impl.service.ts deleted file mode 100644 index 7859fbcb..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-schedule-service-impl.service.ts +++ /dev/null @@ -1,320 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysScheduleServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * JobInvokeService - */ - async jobInvokeService(...args: any[]): Promise { - this.applicationContext = applicationContext; - } - - /** - * init - */ - async init(...args: any[]): Promise { - // 通过 ApplicationContext 获取所有 IJobProvider 实现 - const providers: Record = applicationContext.getBeansOfType(IJobProvider.class); - log.info("Loaded job provider count: {}", providers.length); - for (const provider of providers.values()) { - log.info("Loaded job provider: {}", provider.getClass().getName()); - const annotation: JobProvider = provider.getClass().getAnnotation(JobProvider.class); - if (annotation != null) { - // 使用注解的 key 作为 map 的键 - jobProviderMap.put(annotation.key(), provider); - } - } - } - - /** - * getSysEnableList - */ - async getSysEnableList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("status", 1); - queryWrapper.orderByDesc("sort", "id"); - return this.sysScheduleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * list - */ - async list(...args: any[]): Promise { - // 分页参数 - const page: number = pageParam.page; - const limit: number = pageParam.limit; - // 构造查询条件执行查询 - Lambdaany /* TODO: QueryWrapper */ queryWrapper = new LambdaQueryWrapper(); - if (CommonUtils.isNotEmpty(searchParam.status) && !"all".equals(searchParam.status)){ - if ("0".equals(searchParam.status)){ - searchParam.status = "2"; - } - queryWrapper.eq( SysSchedule::getStatus, searchParam.status); - } - queryWrapper.eq(CommonUtils.isNotEmpty(searchParam.key), SysSchedule::getKey, searchParam.key); - queryWrapper.orderByDesc(SysSchedule::getSort, SysSchedule::getId); - [SysSchedule[], number] sysSchedulePage = this.sysScheduleRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - // 返回结果集 - const sysScheduleListVoList: SysScheduleListVo[] = []; - for (const sysSchedule of sysSchedulePageRecords) { - const sysScheduleListVo: SysScheduleListVo = new SysScheduleListVo(); - Object.assign(sysScheduleListVo, sysSchedule); - sysScheduleListVo.setTimeObject(sysSchedule.getTime()); - sysScheduleListVo.setCrontabContent(QuartzJobManager.convertCronContent(sysSchedule.getTime())); - sysScheduleListVoList.push(sysScheduleListVo); - } - return PageResult.build(page, limit, sysSchedulePageTotal).setData(sysScheduleListVoList); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const sysSchedule: SysSchedule = sysScheduleMapper.selectById(id); - const sysScheduleInfoVo: SysScheduleInfoVo = new SysScheduleInfoVo(); - Object.assign(sysScheduleInfoVo, sysSchedule); - return sysScheduleInfoVo; - } - - /** - * modifyStatus - */ - async modifyStatus(...args: any[]): Promise { - const oldSysSchedule: SysSchedule = this.findByIdAndCheck(sysScheduleStatusParam.id); - if (sysScheduleStatusParam.status == 2) { - QuartzJobManager.stopJob(oldSysSchedule); - } else { - QuartzJobManager.stopJob(oldSysSchedule); - QuartzJobManager.startJob(oldSysSchedule); - } - const newSysSchedule: SysSchedule = new SysSchedule(); - newSysSchedule.id = oldSysSchedule.id; - newSysSchedule.status = sysScheduleStatusParam.status; - newSysSchedule.updateTime = DateUtils.currTime(); - sysScheduleMapper.updateById(newSysSchedule); - } - - /** - * add - */ - async add(...args: any[]): Promise { - const jobKey: string = sysScheduleParam.key; - const jobInfo: JobInfo = JobProviderFactory.getJobInfo(jobKey); - if (jobInfo == null) { - throw new Error("任务不存在."); - } - // 校验任务是否存在 - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("`key`", jobKey); - const sysScheduleList: SysSchedule[] = this.sysScheduleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (sysScheduleList != null && sysScheduleList.length > 0) { - throw new Error("任务已经存在."); - } - // 新增一个任务 - const newSysSchedule: SysSchedule = new SysSchedule(); - Object.assign(newSysSchedule, sysScheduleParam); - newSysSchedule.setTime(JSONUtil.toJsonStr(sysScheduleParam.getTime())); - newSysSchedule.createTime = DateUtils.currTime(); - newSysSchedule.updateTime = DateUtils.currTime(); - newSysSchedule.siteId = this.requestContext.siteId; - newSysSchedule.setAddon(jobInfo.getSource()); - const result: number = this.sysScheduleRepository.save(newSysSchedule); - if (result > 0) { - if (newSysSchedule.status == 1) { - // 如果是启动状态,就启动任务 - QuartzJobManager.startJob(newSysSchedule); - } - } - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - // 存在性检查 - this.findByIdAndCheck(id); - // 构建更新对象 - const newSysSchedule: SysSchedule = new SysSchedule(); - Object.assign(newSysSchedule, sysScheduleParam); - newSysSchedule.id = id; - newSysSchedule.siteId = this.requestContext.siteId; - newSysSchedule.updateTime = DateUtils.currTime(); - newSysSchedule.setTime(JSONUtil.toJsonStr(sysScheduleParam.getTime())); - const result: number = sysScheduleMapper.updateById(newSysSchedule); - if (result <= 0) { - log.error("更新系统任务失败:id={}", id); - } - // 根据状态启停任务 - if (sysScheduleParam.status == 2) { - QuartzJobManager.stopJob(newSysSchedule.key); - } else { - QuartzJobManager.stopJob(newSysSchedule.key); - QuartzJobManager.startJob(newSysSchedule); - } - } - - /** - * del - */ - async del(...args: any[]): Promise { - const sysSchedule: SysSchedule = this.findByIdAndCheck(id); - if (sysSchedule.status == 1) { - QuartzJobManager.stopJob(sysSchedule); - } - this.sysScheduleRepository.delete(id); - } - - /** - * template - */ - async template(...args: any[]): Promise { - const sysScheduleTemplateVoList: SysScheduleTemplateVo[] = []; - const jobKeys: string[] = JobProviderFactory.jobKeys(); - for (const jobKey of jobKeys) { - const jobInfo: JobInfo = JobProviderFactory.getJobInfo(jobKey); - const sysScheduleTemplateVo: SysScheduleTemplateVo = new SysScheduleTemplateVo(); - sysScheduleTemplateVo.key = jobKey; - sysScheduleTemplateVo.name = path.basename(jobInfo); - sysScheduleTemplateVo.desc = jobInfo.getDescribe(); - sysScheduleTemplateVo.setClazz(jobInfo.getJobClass()); - sysScheduleTemplateVo.setFunction(jobInfo.getJobClass()); - sysScheduleTemplateVoList.push(sysScheduleTemplateVo); - } - return sysScheduleTemplateVoList; - } - - /** - * deleteScheduleLog - */ - async deleteScheduleLog(...args: any[]): Promise { - const sysScheduleLogs: SysScheduleLog[] = this.sysScheduleLogRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).lt("execute_time", successThreshold)); - if (CollectionUtils.isEmpty(sysScheduleLogs)) { - return; - } - const delIds: number[] = sysScheduleLogs.map(SysScheduleLog::getId).collect(/* Collectors已删除 */.toSet()); - sysScheduleLogMapper.deleteBatchIds(delIds); - } - - /** - * resetSchedule - */ - async resetSchedule(...args: any[]): Promise { - this.coreScheduleService.resetSchedule(); - } - - /** - * logList - */ - async logList(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - Lambdaany /* TODO: QueryWrapper */ qw = new LambdaQueryWrapper(); - qw.eq(CommonUtils.isNotEmpty(searchParam.getScheduleId()), SysScheduleLog::getScheduleId, searchParam.getScheduleId()); - qw.eq(CommonUtils.isNotEmpty(searchParam.key), SysScheduleLog::getKey, searchParam.key); - if (CommonUtils.isNotEmpty(searchParam.status) && !"all".equals(searchParam.status)){ - qw.eq(SysScheduleLog::getStatus, searchParam.status); - } - if (CommonUtils.isNotEmpty(searchParam.getExecuteTime())) { - QueryMapperUtils.buildByTime(qw, SysScheduleLog::getExecuteTime, searchParam.getExecuteTime()); - } - any /* TODO: Page */ sysScheduleLogPage = this.sysScheduleLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), qw); - const result: SysScheduleLogListVo[] = []; - sysScheduleLogPageRecords.forEach(sysScheduleLog => { - const sysScheduleLogListVo: SysScheduleLogListVo = new SysScheduleLogListVo(); - Object.assign(sysScheduleLogListVo, sysScheduleLog); - result.push(sysScheduleLogListVo); - }); - return PageResult.build(page, limit, sysScheduleLogPageTotal).setData(result); - } - - /** - * addLog - */ - async addLog(...args: any[]): Promise { - const sysSchedule: SysSchedule = this.sysScheduleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(SysSchedule::getKey, log.key).eq(SysSchedule::getAddon, log.getAddon())); - if (sysSchedule == null) return; - log.setScheduleId(sysSchedule.id); - log.setExecuteTime(DateUtils.currTime()); - this.sysScheduleLogRepository.save(log); - } - - /** - * doSchedule - */ - async doSchedule(...args: any[]): Promise { - const sysSchedule: SysSchedule = sysScheduleMapper.selectById(id); - if (sysSchedule == null) { - throw new BadRequestException("计划任务不存在"); - } - const basePackage: string = String.format("com.niu.%s.job", sysSchedule.getAddon()); - const classPath: string = QuartzJobManager.getClassPath(basePackage, sysSchedule.key); - const jobKey: string = sysSchedule.key; - try { - // 动态加载任务类 - Class jobClass = Class.forName(classPath); - - // 验证是否为有效的任务类 - if (!IJobProvider.class.isAssignableFrom(jobClass)) { - throw new BadRequestException("无效的任务类: " + classPath); - } - - // 实例化任务 - const job: IJobProvider = (IJobProvider) jobClass.getDeclaredConstructor().newInstance(); - - // 执行任务 - job.exec(null); - - // 构建日志信息 - const result: string = "计划任务:" + path.basename(sysSchedule) + "执行成功"; - addLog(SysScheduleLog.builder() - .key(jobKey) - .name(path.basename(sysSchedule)) - .addon(sysSchedule.getAddon()) - .className(classPath) - .status("success") - .executeResult(result) - .job(classPath) - .build()); - - } catch (e) { - // 获取任务名称(即使在异常情况下也尝试获取) - const errorMsg: string = "计划任务:" + path.basename(sysSchedule) + "发生错误, 错误原因:" + e.message + - " at " + e.getStackTrace()[0].toString(); - addLog(SysScheduleLog.builder() - .key(jobKey) - .name(path.basename(sysSchedule)) - .addon(sysSchedule.getAddon()) - .className(classPath) - .status("error") - .executeResult(errorMsg) - .job(classPath) - .build()); - - throw new BadRequestException("执行计划任务失败", e); - } - } - - /** - * delLog - */ - async delLog(...args: any[]): Promise { - sysScheduleLogMapper.deleteByIds([ids]); - } - - /** - * clearLog - */ - async clearLog(...args: any[]): Promise { - this.sysScheduleLogRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-upgrade-records-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-upgrade-records-service-impl.service.ts deleted file mode 100644 index 3db45009..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-upgrade-records-service-impl.service.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class SysUpgradeRecordsServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("create_time"); - - if (searchParam != null) { - if (path.basename(searchParam) != null) { - queryWrapper.like("name", path.basename(searchParam)); - } - } - - [SysUpgradeRecords[], number] iPage = this.sysUpgradeRecordsRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: SysUpgradeRecordsListVo[] = []; - for (const item of iPageRecords) { - const vo: SysUpgradeRecordsListVo = new SysUpgradeRecordsListVo(); - Object.assign(vo, item); - vo.createTime = DateUtils.timestampToString(item.createTime); - vo.setCompleteTime(DateUtils.timestampToString(item.getCompleteTime())); - vo.setStatusName(UpgradeRecordStatusEnum.getNameByStatus(vo.status)); - //判断为数组或者对象或者字符串 - const value: string = item.getContent(); - if (!StrUtil.isEmpty(value)) { - if (value.startsWith("[")) { - vo.setContent(JSON.parseArray(value)); - } else if (value.startsWith("{")) { - vo.setContent(JSON.parseObject(value)); - } else { - vo.setContent(value); - } - } - list.push(vo); - } - - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - @Override - public void add(SysUpgradeRecordsParam addParam) { - const model: SysUpgradeRecords = new SysUpgradeRecords(); - Object.assign(model, addParam); - model.createTime = Date.now( / 1000); - this.sysUpgradeRecordsRepository.save(model); - } - - @Override - public void edit(String key, SysUpgradeRecordsParam editParam) { - const model: SysUpgradeRecords = new SysUpgradeRecords(); - Object.assign(model, editParam); - this.sysUpgradeRecordsRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("upgrade_key", key)); - } - - @Override - public void clear(long threshold) { - this.sysUpgradeRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).in("status", STATUS_READY, STATUS_FAIL)); - } - - @Override - public void del(SysUpgradeRecordsDelParam delParam) { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */; - - if (delParam.getIds().getClass().getName().startsWith("[")) { - const stringIds: string[] = (String[]) delParam.getIds(); - queryWrapper.in("id", stringIds); - } else { - queryWrapper.eq("id", delParam.getIds()); - } - this.sysUpgradeRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-log-service-impl.service.ts deleted file mode 100644 index fa7049de..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-log-service-impl.service.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysUserLogServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - if(ObjectUtil.isNotNull(searchParam.getUsername()) && CommonUtils.isNotEmpty(searchParam.getUsername())){ - queryWrapper.like("username", searchParam.getUsername()); - } - if(ObjectUtil.isNotNull(searchParam.getIp()) && CommonUtils.isNotEmpty(searchParam.getIp())){ - queryWrapper.like("ip", searchParam.getIp()); - } - - if(ObjectUtil.isNotNull(searchParam.url) && CommonUtils.isNotEmpty(searchParam.url)){ - queryWrapper.like("url", searchParam.url); - } - [SysUserLog[], number] iPage = this.sysUserLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - const list: SysUserLogListVo[] = []; - for (const item of iPageRecords) { - const vo: SysUserLogListVo = new SysUserLogListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysUserLog = this.sysUserLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysUserLogInfoVo = new SysUserLogInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * destroy - */ - async destroy(...args: any[]): Promise { - this.sysUserLogRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }))); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-role-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-role-service-impl.service.ts deleted file mode 100644 index 330ff87b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-role-service-impl.service.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SysUserRoleServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - - //sql语句 - queryWrapper.select("nsu.uid, nsu.username, nsu.head_img, nsu.password, nsu.real_name, nsu.last_ip, nsu.last_time, nsu.create_time, nsu.login_count, nsu.status, nsu.is_del, nsu.delete_time, nsu.update_time, nsur.id, nsur.site_id, nsur.role_ids, nsur.is_admin") - .setAlias("nsur") - .leftJoin("?_sys_user nsu ON nsur.uid = nsu.uid".replace("?_", this.appConfig.tablePrefix)); - - //查询条件判断组装 - if (CommonUtils.isNotEmpty(searchParam.getUid())) { - queryWrapper.eq("nsu.uid", searchParam.getUid()); - } - - //排序 - queryWrapper.orderByDesc("id"); - //分页查询 - [SysUserRoleListVo[], number] iPage = sysUserRoleMapper.selectJoinPage( - new Page<>(page, limit), - SysUserRoleListVo.class, - queryWrapper); - - - return PageResult.build(iPage); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: SysUserRoleInfoVo = new SysUserRoleInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const userRoleCount: number = this.sysUserRoleRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", addParam.siteId) - ); - if (userRoleCount>0){ - throw new BadRequestException("SITE_USER_EXIST"); - } - - const model: SysUserRole = new SysUserRole(); - model.setUid(addParam.getUid()); - model.siteId = addParam.siteId==null? this.requestContext.siteId:addParam.siteId; - model.setRoleIds(addParam.getRoleIds()); - model.createTime = DateUtils.currTime(); - model.setIsAdmin(addParam.getIsAdmin()==null?0:addParam.getIsAdmin()); - model.status = ObjectUtil.isNull(addParam.status? StatusEnum.ON.status : addParam.status); - if(model.status<1){ - model.setRoleIds(addParam.getRoleIds()==null? JSONUtil.toJsonStr(new JsonArray()):addParam.getRoleIds()); - } - this.sysUserRoleRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", editParam.siteId) - .last("limit 1")); - if (!model) throw new BadRequestException("数据不存在!"); - const isAdmin: number = model.getIsAdmin(); - if(isAdmin>0){ - //超级管理员不允许改动权限 - throw new AdminException("ADMIN_NOT_ALLOW_EDIT_ROLE"); - } - model.status = editParam.status; - model.setRoleIds(editParam.getRoleIds()); - sysUserRoleMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.sysUserRoleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * getUserRole - */ - async getUserRole(...args: any[]): Promise { - const model: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", site_id).last(" limit 1")); - const vo: SysUserRoleInfoVo = new SysUserRoleInfoVo(); - if(ObjectUtil.isNotNull(model)){ - Object.assign(vo, model); - return vo; - }else{ - return null; - } - } -} 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 deleted file mode 100644 index ee423a80..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/sys-user-service-impl.service.ts +++ /dev/null @@ -1,403 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class SysUserServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getLoginService - */ - async getLoginService(...args: any[]): Promise { - return (ILoginService) SpringContext.getBean(LoginServiceImpl.class); - } - - /** - * list - */ - async list(...args: any[]): Promise { - this.authService.isSuperAdmin(); - const superAdminUid: number = cached.tag("adminAuth").get("superAdminUid"); - - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("uid"); - - if (ObjectUtil.isNotNull(searchParam.getUsername()) && CommonUtils.isNotEmpty(searchParam.getUsername())) { - queryWrapper.like("username", searchParam.getUsername()).or().like("real_name", searchParam.getUsername()); - } - if (ObjectUtil.isNotNull(searchParam.getLastTime()) && CommonUtils.isNotEmpty(searchParam.getLastTime())) { - const startTime: number = 0; - const endTime: number = 0; - if (ObjectUtil.isNotNull(searchParam.getLastTime()[0])) { - startTime = DateUtils.StringToTimestamp(searchParam.getLastTime()[0]); - } - if (ObjectUtil.isNotNull(searchParam.getLastTime()[1])) { - endTime = DateUtils.StringToTimestamp(searchParam.getLastTime()[1]); - } - if (startTime > 0 && endTime > 0) { - queryWrapper.between("last_time", startTime, endTime); - } else if (startTime > 0) { - queryWrapper.ge("last_time", startTime); - } else if (endTime > 0) { - queryWrapper.le("last_time", endTime); - } - } - - [SysUser[], number] iPage = this.sysUserRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - const list: SysUserListVo[] = []; - for (const item of iPageRecords) { - const vo: SysUserListVo = new SysUserListVo(); - Object.assign(vo, item); - const siteNum: number = this.sysUserRoleRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })).ne("site_id", RequestUtils.defaultSiteId())); - vo.setSiteNum(siteNum.intValue()); - vo.setIsSuperAdmin(superAdminUid == item.getUid()); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - this.authService.isSuperAdmin(); - const superAdminUid: number = cached.tag("adminAuth").get("superAdminUid"); - - const model: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - if (!model) throw new BadRequestException("用户数据不存在"); - - const vo: SysUserDetailVo = new SysUserDetailVo(); - Object.assign(vo, model); - - MPJany /* TODO: QueryWrapper */ userRoleMPJQueryWrapper = new MPJQueryWrapper(); - userRoleMPJQueryWrapper.select("sur.*, s.site_id, s.site_name, s.app_type, s.status as siteStatus, s.expire_time") - .setAlias("sur") - .leftJoin("?_site s ON sur.site_id = s.site_id".replace("?_", this.appConfig.tablePrefix)); - userRoleMPJQueryWrapper.eq("sur.uid", vo.getUid()); - const userSiteRoleVoList: SysUserSiteRoleVo[] = sysUserRoleMapper.selectJoinList(SysUserSiteRoleVo.class, userRoleMPJQueryWrapper); - vo.setIsSuperAdmin(superAdminUid == id); - vo.setRoles(userSiteRoleVoList); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - if (checkUserName(addParam.getUsername())) { - throw new AdminException("该用户名已被占用,请更换"); - } - const sysUser: SysUser = new SysUser(); - Object.assign(sysUser, addParam); - sysUser.createTime = DateUtils.currTime(); - sysUser.updateTime = DateUtils.currTime(); - sysUser.setPassword(PasswordEncipher.encode(addParam.getPassword())); - this.sysUserRepository.save(sysUser); - const uid: number = sysUser.getUid(); - - //添加用户建站限制 - const createSiteLimitParamList: SysCreateSiteLimitParam[] = addParam.getCreateSiteLimit(); - const addList: UserCreateSiteLimit[] = []; - if (ObjectUtil.isNotNull(createSiteLimitParamList) && createSiteLimitParamList.length > 0) { - for (const sysCreateSiteLimitParam of createSiteLimitParamList) { - const userCreateSiteLimit: UserCreateSiteLimit = new UserCreateSiteLimit(); - userCreateSiteLimit.setUid(uid); - userCreateSiteLimit.setGroupId(sysCreateSiteLimitParam.getGroupId()); - userCreateSiteLimit.setMonth(sysCreateSiteLimitParam.getMonth()); - userCreateSiteLimit.setNum(sysCreateSiteLimitParam.getNum()); - addList.push(userCreateSiteLimit); - } - this.userCreateSiteLimitRepository.save(addList); - } - return uid; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - if (!model) throw new BadRequestException("数据不存在!"); - const isOffStatus: boolean = false; - if (ObjectUtil.isNotNull(editParam.status)) { - model.status = editParam.status; - if (editParam.status == StatusEnum.OFF.status) { - isOffStatus = true; - } - } - if (ObjectUtil.isNotNull(editParam.getHeadImg())) { - model.setHeadImg(editParam.getHeadImg()); - } - if (ObjectUtil.isNotNull(editParam.getRealName())) { - model.setRealName(editParam.getRealName()); - } - const isChangePassword: boolean = false; - if (ObjectUtil.isNotNull(editParam.getPassword()) && CommonUtils.isNotEmpty(editParam.getPassword())) { - model.setPassword(PasswordEncipher.encode(editParam.getPassword())); - isChangePassword = true; - } - /** - * 更新用戶信息 - */ - model.updateTime = DateUtils.currTime(); - sysUserMapper.updateById(model); - if (isOffStatus || isChangePassword) { - getLoginService().clearToken(uid, RequestUtils.appType(), ""); - } - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.authService.isSuperAdmin(); - const superAdminUid: number = cached.tag("adminAuth").get("superAdminUid"); - if (superAdminUid === id) { - throw new BadRequestException("超级管理员不允许删除"); - } - const count: number = this.sysUserRoleRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }).ne("site_id", RequestUtils.defaultSiteId())); - if (count > 0) { - throw new BadRequestException("该用户是一些站点的管理员不允许删除"); - } - - const model: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.sysUserRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * getUserInfoByUserName - */ - async getUserInfoByUserName(...args: any[]): Promise { - const model: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).last("limit 1")); - if (!model) throw new BadRequestException("账号或密码错误"); - const vo: SysUserInfoVo = new SysUserInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * editUserLoginInfo - */ - async editUserLoginInfo(...args: any[]): Promise { - const model: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.setLastTime(DateUtils.currTime()); - model.setLastIp(IpUtils.getIpAddr(RequestUtils.handler())); - model.setLoginCount(model.getLoginCount() + 1); - sysUserMapper.updateById(model); - } - - /** - * addSiteUser - */ - async addSiteUser(...args: any[]): Promise { - const uid: number = 0; - try { - if (ObjectUtil.isNotNull(siteUserParam.getUid()) && siteUserParam.getUid() > 0) { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("uid", siteUserParam.getUid()); - const sysUser: SysUser = this.sysUserRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - uid = siteUserParam.getUid(); - if (ObjectUtil.isNull(sysUser)) { - throw new AdminException("USER_NOT_EXIST"); - } - } else { - const sysUserParam: SysUserParam = new SysUserParam(); - sysUserParam.setHeadImg(siteUserParam.getHeadImg()); - sysUserParam.setPassword(siteUserParam.getPassword()); - sysUserParam.setLastIp(""); - sysUserParam.setLoginCount(0); - sysUserParam.setUsername(siteUserParam.getUsername()); - sysUserParam.setIsDel(0); - sysUserParam.setLastTime(DateUtils.currTime()); - sysUserParam.status = siteUserParam.status; - sysUserParam.setRealName(siteUserParam.getRealName()); - //添加用户 - uid = this.push(sysUserParam); - } - const roleIds: string[] = siteUserParam.getRoleIds(); - const isAdmin: number = siteUserParam.getIsAdmin() == null ? 0 : siteUserParam.getIsAdmin(); - /** - * 创建用户站点管理权限 - */ - const sysUserRoleParam: SysUserRoleParam = new SysUserRoleParam(); - sysUserRoleParam.setRoleIds(JSONUtil.toJsonStr(roleIds)); - sysUserRoleParam.siteId = siteId; - sysUserRoleParam.setUid(uid); - sysUserRoleParam.status = siteUserParam.status; - sysUserRoleParam.setIsAdmin(isAdmin); - this.sysUserRoleService.push(sysUserRoleParam); - } catch (e) { - throw new AdminException(e.message); - } - return uid; - } - - /** - * checkUserName - */ - async checkUserName(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("username", userName); - const count: number = this.sysUserRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (count > 0) { - return true; - } - return false; - } - - /** - * getUserAll - */ - async getUserAll(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("uid, username, head_img").orderByDesc("uid"); - return this.sysUserRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * getUserCreateSiteLimit - */ - async getUserCreateSiteLimit(...args: any[]): Promise { - const userCreateSiteLimitList: UserCreateSiteLimit[] = this.userCreateSiteLimitRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const userCreateSiteLimitVoList: SysUserCreateSiteLimitVo[] = []; - for (const item of userCreateSiteLimitList) { - const userCreateSiteLimitVo: SysUserCreateSiteLimitVo = new SysUserCreateSiteLimitVo(); - BeanUtil.copyProperties(item, userCreateSiteLimitVo); - userCreateSiteLimitVoList.push(userCreateSiteLimitVo); - } - return userCreateSiteLimitVoList; - } - - /** - * getUserCreateSiteLimitInfo - */ - async getUserCreateSiteLimitInfo(...args: any[]): Promise { - const userCreateSiteLimit: UserCreateSiteLimit = userCreateSiteLimitMapper.selectById(id); - const sysUserCreateSiteLimitVo: SysUserCreateSiteLimitVo = new SysUserCreateSiteLimitVo(); - if (ObjectUtil.isNotNull(userCreateSiteLimit)) { - BeanUtil.copyProperties(userCreateSiteLimit, sysUserCreateSiteLimitVo); - } - return sysUserCreateSiteLimitVo; - } - - /** - * addUserCreateSiteLimit - */ - async addUserCreateSiteLimit(...args: any[]): Promise { - this.userCreateSiteLimitRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("group_id", userCreateSiteLimitAddParam.getGroupId())); - const userCreateSiteLimit: UserCreateSiteLimit = new UserCreateSiteLimit(); - userCreateSiteLimit.setNum(userCreateSiteLimitAddParam.getNum()); - userCreateSiteLimit.setUid(userCreateSiteLimitAddParam.getUid()); - userCreateSiteLimit.setMonth(userCreateSiteLimitAddParam.getMonth()); - userCreateSiteLimit.setGroupId(userCreateSiteLimitAddParam.getGroupId()); - this.userCreateSiteLimitRepository.save(userCreateSiteLimit); - } - - /** - * editUserCreateSiteLimit - */ - async editUserCreateSiteLimit(...args: any[]): Promise { - const userCreateSiteLimit: UserCreateSiteLimit = userCreateSiteLimitMapper.selectById(userCreateSiteLimitEditParam.id); - userCreateSiteLimit.setNum(userCreateSiteLimitEditParam.getNum()); - userCreateSiteLimit.setMonth(userCreateSiteLimitEditParam.getMonth()); - userCreateSiteLimitMapper.updateById(userCreateSiteLimit); - } - - /** - * delUserCreateSiteLimit - */ - async delUserCreateSiteLimit(...args: any[]): Promise { - this.userCreateSiteLimitRepository.delete(id); - } - - /** - * find - */ - async find(...args: any[]): Promise { - const sysuser: SysUser = sysUserMapper.selectById(uid); - if (!sysuser) throw new BadRequestException("用户数据不存在!"); - return sysuser; - } - - /** - * getUserSelect - */ - async getUserSelect(...args: any[]): Promise { - // 1. 构建查询条件 - MPJany /* TODO: QueryWrapper */ qw = new MPJQueryWrapper(); - qw.setAlias("u") - .leftJoin("?_sys_user_role ur on u.uid = ur.uid".replace("?_", this.appConfig.tablePrefix)) - .select("u.uid, u.username, u.head_img") - .and(wrapper => wrapper.eq("ur.is_admin", 1)) - .or() - .eq("ur.site_id", 0); - - // 2. 获取并过滤用户 - const userAll: SysUser[] = StringUtils.isNotEmpty(username) - ? getUserAll().stream() - .filter(item => item.getUsername() === username) - - : getUserAll(); - - if (CollectionUtils.isEmpty(userAll)) { - return List.of(); - } - - // 3. 获取有角色的用户ID集合 - const allRoleUserIds: number[] = this.sysUserRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).orderByDesc("id")) - .stream() - .map(SysUserRole::getUid) - .collect(/* Collectors已删除 */.toSet()); - - // 4. 查询管理员用户 - qw.orderByDesc("uid"); - const adminUsers: SysUser[] = this.sysUserRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - - // 5. 查询无角色用户 - const noRoleUsers: SysUser[] = []; - const noRoleUserIds: number[] = userAll - .map(SysUser::getUid) - .filter(uid => !allRoleUserIds.includes(uid)) - ; - - if (!CollectionUtils.isEmpty(noRoleUserIds)) { - noRoleUsers = this.sysUserRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .in("uid", noRoleUserIds) - .orderByDesc("uid")); - } - - // 6. 合并结果并去重 - const resultMap: Record = new LinkedHashMap(); - - adminUsers.forEach(user => { - const vo: SysUserInfoVo = new SysUserInfoVo(); - Object.assign(vo, user); - resultMap.put(user.getUid(), vo); - }); - noRoleUsers.forEach(user => { - const vo: SysUserInfoVo = new SysUserInfoVo(); - Object.assign(vo, user); - resultMap.put(user.getUid(), vo); - }); - - return new ArrayList<>(resultMap.values()); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/system-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/system-service-impl.service.ts deleted file mode 100644 index a9efe1f8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/sys/impl/system-service-impl.service.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class SystemServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - const statSystemVo: StatSystemVo = new StatSystemVo(); - statSystemVo.setOs(System.getProperty("os.name", "Linux")); - statSystemVo.setEnvironment(System.getProperty("catalina.home")); - statSystemVo.setPhpV(System.getProperty("java.version")); - - const statVersionVo: StatVersionVo = new StatVersionVo(); - statVersionVo.version = "202406150001"; - statVersionVo.setCode("0.4.0"); - - statSystemVo.version = statVersionVo; - return statSystemVo; - } - - /** - * clearCache - */ - async clearCache(...args: any[]): Promise { - cached.getAllKeys().stream().forEach(key => cached.remove(key)); - } - - /** - * getSpreadQrcode - */ - async getSpreadQrcode(...args: any[]): Promise { - const vo: SpreadQrcodeVo = new SpreadQrcodeVo(); - - try { - const data: Record = {}; - for (SpreadQrcodeParam.Param qrcodeParam : param.getParams()) { - const jsonArray: JSONArray = JSONUtil.parseArray(qrcodeParam); - const jsonObject: Record = JsonUtils.parseObject(jsonArray); - data.put(jsonObject.getStr("name"), qrcodeParam.getColumnValue()); - } - const dir: string = "upload/qrcode/" + this.requestContext.siteId + "/" + param.getFolder(); - vo.setWeappPath(QrcodeUtils.qrcodeToFile(this.requestContext.siteId, "weapp", "", param.page, data, dir)); - } catch (e) { - - } - return vo; - } - - /** - * getDatabaseVersion - */ - async getDatabaseVersion(...args: any[]): Promise { - try (const connection: Connection = dataSource.getConnection()) { - const metaData: DatabaseMetaData = connection.getMetaData(); - return metaData.getDatabaseProductVersion(); - }catch (e) { - return "未知"; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upgrade/impl/upgrade-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upgrade/impl/upgrade-service-impl.service.ts deleted file mode 100644 index 3a60735d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upgrade/impl/upgrade-service-impl.service.ts +++ /dev/null @@ -1,516 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class UpgradeServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setUpgradeService - */ - async setUpgradeService(...args: any[]): Promise { - this.upgradeService = upgradeService; - } - - /** - * upgradeCheck - */ - async upgradeCheck(...args: any[]): Promise { - if (this.appConfig.runActive === "dev") throw new BadRequestException("开发环境下请先关闭服务启动webroot/jar下的web-app-boot-exec进行升级"); - - const upgradeCheck: boolean = true; - - const checkResult: Record = new Record(); - const rootPath: string = ""; - const runtimePath: string = ""; - const readableDir: JSONArray = new JSONArray(); - const writeDir: JSONArray = new JSONArray(); - - if (this.appConfig.envType === "dev") { - rootPath = this.appConfig.projectRoot + "/"; - runtimePath = rootPath; - - readableDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - readableDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - } else { - rootPath = this.appConfig.webRoot + "/"; - runtimePath = rootPath + "runtime/"; - - readableDir.put(new Record().set("dir", runtimePath).set("status", true)); - writeDir.put(new Record().set("dir", runtimePath).set("status", true)); - } - - readableDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - writeDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - for (const i of number = 0; i < readableDir.length; i++) { - const dir: Record = readableDir.getRecord(i); - dir.set("status", dir.getStr("dir").canRead()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - readableDir.set(i, dir); - if (!dir.getBool("status")) upgradeCheck = false; - } - - for (const i of number = 0; i < writeDir.length; i++) { - const dir: Record = writeDir.getRecord(i); - dir.set("status", dir.getStr("dir").canWrite()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - writeDir.set(i, dir); - if (!dir.getBool("status")) upgradeCheck = false; - } - - checkResult.put("is_pass", upgradeCheck); - checkResult.put("dir", new Record().set("is_readable", readableDir).set("is_write", writeDir)); - return checkResult; - } - - /** - * getUpgradeContent - */ - async getUpgradeContent(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - const vo: UpgradeContentVo = new UpgradeContentVo(); - - const apps: Map[] = []; - - if ((!addon || addon.length === 0)) { - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - query.put("app_key", this.appConfig.appKey); - query.put("version", this.appConfig.version); - apps.push(query); - } else { - for (const key of addon.split(",")) { - const addonModel: Addon = this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).select("version,type")); - const query: Record = {}; - query.put("product_key", instance.getProductKey()); - query.put("app_key", key); - query.put("version", addonModel.version); - if (addonModel.type === AddonTypeEnum.APP.type) { - apps.addFirst(query); - } else { - apps.push(query); - } - } - } - - for (Record item: apps) { - const content: Record = NiucloudUtils.Niucloud.get("member_app_upgrade/content", item).getRecord("data"); - if (content != null) { - UpgradeContentVo.const contentVo: Content = JSONUtil.toBean(content, UpgradeContentVo.Content.class); - vo.getContent().add(contentVo); - vo.getUpgradeApps().add(contentVo.getApp().getAppKey()); - } - } - - vo.setLastBackup(this.sysBackupRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .orderByDesc("complete_time") - .last("limit 1") - )); - - return vo; - } - - /** - * upgrade - */ - async upgrade(...args: any[]): Promise { - if (this.appConfig.runActive === "dev") throw new BadRequestException("开发环境下请先关闭服务启动webroot/jar下的web-app-boot-exec进行升级"); - if (getUpgradeTask() != null) throw new BadRequestException("已经有正在升级中的任务"); - - const upgradeContent: UpgradeContentVo = getUpgradeContent(upgradeParam.getAddon()); - upgradeContent.setContent(upgradeContent.getContent().stream().filter(c => c.getVersionList().size() > 0)); - upgradeContent.setUpgradeApps(upgradeContent.getContent().stream().map(c => c.getApp().getAppKey())); - if (upgradeContent.getContent().size() == 0) throw new BadRequestException("没有获取到可以升级的内容"); - - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - // 获取下载token - const actionQuery: Record = new const query: Record<>(); - actionQuery.put("data[product_key]", instance.getProductKey()); - actionQuery.put("data[framework_version]", this.appConfig.version); - actionQuery.put("data[app_key]", upgradeContent.getContent().get(0).getApp().getAppKey()); - actionQuery.put("data[version]", upgradeContent.getContent().get(0).getVersion()); - - const actionToken: Record = this.niucloudService.getActionToken("upgrade", actionQuery); - - Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("token", actionToken == null ? "" : actionToken.getStr("token")); - const response: HttpResponse = new NiucloudUtils.Cloud().build("cloud/upgrade").query(query).method(Method.GET).execute(); - - if (response.status != 200) throw new BadRequestException("升级请求失败"); - - const body: Record = JsonUtils.parseObject(response.body()); - if (body.getInt("code").equals(0)) throw new Error(body.getStr("msg")); - - const vo: UpgradeTaskVo = new UpgradeTaskVo(); - vo.setEnvType(this.appConfig.envType); - vo.setUpgradeTime(DateUtil.now()); - vo.setAddon(actionQuery.get("data[app_key]")); - vo.key = RandomUtil.randomString(10); - vo.setUpgrade(actionQuery); - vo.setStep("requestUpgrade"); - vo.getExecuted().add("requestUpgrade"); - vo.getLog().add(vo.getSteps().get("requestUpgrade").getTitle()); - vo.setParams(query); - vo.setUpgradeContent(upgradeContent); - - if (!upgradeParam.getIsNeedBackup()) { - vo.getSteps().remove("backupCode"); - vo.getSteps().remove("backupSql"); - } - if (!upgradeParam.getIsNeedCloudbuild()) { - vo.getSteps().remove("cloudBuild"); - vo.getSteps().remove("gteCloudBuildLog"); - } - - // 添加升级记录 - const content: JSONArray = new JSONArray(); - upgradeContent.getContent().stream().forEach(i => { - const item: Record = new Record(); - item.set("app_key", i.getApp().getAppKey()); - item.putByPath("app.name", i.getApp().getAppName()); - item.set("version", i.version); - item.set("upgrade_version", i.getUpgradeVersion()); - content.put(item); - }); - const record: SysUpgradeRecordsParam = new SysUpgradeRecordsParam(); - record.setUpgradeKey(vo.key); - record.status = UpgradeRecordStatusEnum.STATUS_READY.status; - record.setContent(content.toString()); - this.sysUpgradeRecordsService.push(record); - - setUpgradeTaskCache(vo); - return vo; - } - - /** - * getUpgradeTask - */ - async getUpgradeTask(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - const data: Object = cache.get("upgrade"); - if (data == null) return null; - return Object.assign(new UpgradeTaskVo(), JsonUtils.parseObject(data)) /* TODO: 检查UpgradeTaskVo构造函数 */; - } - - /** - * setUpgradeTaskCache - */ - async setUpgradeTaskCache(...args: any[]): Promise { - const cache: Cached = CacheFactory.getCacheOperator(); - cache.put("upgrade", JsonUtils.parseObject(vo).toString()); - } - - /** - * clearUpgradeTask - */ - async clearUpgradeTask(...args: any[]): Promise { - if (delayed > 0) { - try { - Thread.sleep(delayed * 1000); - } catch (e) { - } - } - const cache: Cached = CacheFactory.getCacheOperator(); - cache.remove("upgrade"); - } - - /** - * execute - */ - async execute(...args: any[]): Promise { - const vo: UpgradeTaskVo = this.getUpgradeTask(); - if (vo == null) return; - - if (CommonUtils.isNotEmpty(vo.status) && vo.status === "restarting") return; - - const steps: string[] = vo.getSteps().keySet().stream(); - const step: string = steps.indexOf(vo.getStep()) < steps.length - 1 ? steps.get(steps.indexOf(vo.getStep()) + 1) : ""; - - if ((step && step.length > 0)) { - if (!vo.getExecuted().includes(step)) { - vo.getExecuted().add(step); - vo.getLog().add(vo.getSteps().get(step).getTitle()); - } - try { - const param: Record = null; - param = (Record) dynamicMethodCall(step, vo); - if (param != null) { - vo.setParams(param); - } else { - vo.setStep(step); - vo.setParams(null); - vo.setAddon(vo.getUpgradeApps().get(0)); - } - setUpgradeTaskCache(vo); - } catch (e) { - if (e.message.includes("队列")) { - throw e; - } else { - vo.setStep(step); - vo.getError().add(e.message); - setUpgradeTaskCache(vo); - this.upgradeErrorHandle(vo); - console.error(e); - console.log("升级异常."); - } - } - } - } - - /** - * coverCode - */ - async coverCode(...args: any[]): Promise { - if (this.appConfig.envType === "dev") { - vo.getUpgradeContent().getContent().forEach(item => { - const appKey: string = item.getApp().getAppKey(); - const codeDir: string = upgradeDir(vo + "/download/" + appKey); - - // 判断目录存在并且不为空 - if (fs.existsSync(codeDir) && fs.readdirSync(codeDir).length > 0) { - item.getVersionList().stream().collect(/* Collectors已删除 */.collectingAndThen( - , - l => { - Collections.reverse(l); - return l; - })).forEach(version => { - // 如果是框架 - const rootDir: string = null; - if (appKey === this.appConfig.appKey) { - rootDir = this.appConfig.projectRoot; - } else { - rootDir = this.appConfig.webRootDownAddon, appKey; - } - - // 处理文件变更记录 - const changeRecord: string = codeDir, version.getVersionNo( + ".txt"); - if (fs.existsSync(changeRecord)) { - // 移除新版本删除的文件 - const change: string[] = null; - try { - change = [fs.readFileSync(changeRecord, "UTF-8"].split("\n")); - } catch (e) { - throw new Error(e); - } - if (CommonUtils.isNotEmpty(change)) { - for (const line of change) { - const content: string[] = line.split(" "); - if (content[0].equals("-")) { - (rootDir, content[2]).deleteOnExit(); - } - } - } - } - - const changeDir: string = codeDir, version.getVersionNo(); - if (fs.existsSync(changeDir)) { - try { - FileUtils.copyDirectory(changeDir, rootDir); - } catch (e) { - throw new Error(e); - } - } - }); - - const projectDir: string = this.appConfig.projectNiucloudAddon, appKey; - if (fs.existsSync(projectDir)) { - try { - FileUtils.copyDirectory(this.appConfig.webRootDownAddon + appKey + "/java", projectDir); - } catch (e) { - throw new Error(e); - } - } - - // 合并resource - try { - FileUtils.copyDirectory(this.appConfig.webRootDownAddon + appKey + "/resource", this.appConfig.webRootDownResource, appKey); - } catch (e) { - } - } - }); - - vo.status = "restarting"; - setUpgradeTaskCache(vo); - } else { - vo.setStep("coverCode"); - vo.status = "restarting"; - setUpgradeTaskCache(vo); - fs.writeFileSync(upgradeDir(vo, "upgrade.json"), JsonUtils.parseObject(vo.getUpgradeContent()).toString(), "UTF-8"); - PipeNameUtils.noticeBootRestartByUpgrade(this.appConfig.applicationName, vo.key, vo.getUpgradeContent().getLastBackup().getBackupKey()); - Thread.sleep(3000); - } - } - - /** - * handleVue - */ - async handleVue(...args: any[]): Promise { - const envs: WebAppEnvs = this.appConfig; - - for (const key of vo.getUpgradeApps()) { - if (key !== this.appConfig.appKey) { - const sourceDir: string = envs.webRootDownAddon + key; - if (fs.existsSync(sourceDir)) { - addonInstallTools.installVue(key); - } - } - } - - const addons: string[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .select("`key`") - .eq("status", AddonStatusEnum.ON.getCode())) - .stream().map(i => i.key) - ; - - // 处理pages.json - if (fs.existsSync(envs.webRoot + "uni-app/")) addonInstallTools.handlePagesJson(envs.webRoot + "/uni-app/", addons); - if (fs.existsSync(envs.webRootDownRuntime + "uni-app/")) addonInstallTools.handlePagesJson(envs.webRootDownRuntime + "/uni-app/", addons); - - // 处理组件 - if (fs.existsSync(envs.webRoot + "uni-app/")) addonInstallTools.handleUniappComponent(envs.webRoot + "/uni-app/", addons); - if (fs.existsSync(envs.webRootDownRuntime + "uni-app/")) addonInstallTools.handleUniappComponent(envs.webRootDownRuntime + "/uni-app/", addons); - - // 处理语言包 - for (const addon of addons) { - addonInstallTools.setAddon(addon); - if (fs.existsSync(envs.webRoot + "uni-app/")) addonInstallTools.mergeUniappLocale(envs.webRoot + "/uni-app/", "install"); - if (fs.existsSync(envs.webRootDownRuntime + "uni-app/")) addonInstallTools.mergeUniappLocale(envs.webRootDownRuntime + "/uni-app/", "install"); - - addonInstallTools.installDepend(addon); - } - } - - /** - * cloudBuild - */ - async cloudBuild(...args: any[]): Promise { - this.cloudBuildService.build("build"); - } - - /** - * upgradeComplete - */ - async upgradeComplete(...args: any[]): Promise { - vo.status = "success"; - - for (const key of vo.getUpgradeApps()) { - if (key !== this.appConfig.appKey) { - const addon: Addon = Object.assign(new Addon(), this.coreAddonService.getAddonConfig(key)) /* TODO: 检查Addon构造函数 */; - this.coreAddonService.set(addon); - } - } - - const backupDir: string = upgradeDir(vo); - FileUtil.writeUtf8String(JSONUtil.toJsonPrettyStr(JsonUtils.parseObject(vo)), backupDir, DateUtil.now( + ".log")); - - // 变更升级记录 - const editParam: SysUpgradeRecordsParam = new SysUpgradeRecordsParam(); - editParam.status = UpgradeRecordStatusEnum.STATUS_COMPLETE.status; - editParam.setCompleteTime(Date.now() / 1000); - this.sysUpgradeRecordsService.edit(vo.key, editParam); - - this.upgradeService.clearUpgradeTask(5); - - this.cloudBuildService.clearBuildTask(); - } - - /** - * upgradeErrorHandle - */ - async upgradeErrorHandle(...args: any[]): Promise { - LinkedHashMap steps = new LinkedHashMap(); - steps.put("rollback", new UpgradeTaskVo.Step("rollback", "升级失败开始回滚")); - - if (vo.getExecuted().includes("coverCode")) { - steps.put("restoreCover", new UpgradeTaskVo.Step("restoreCover", "恢复变更文件")); - } - if (vo.getExecuted().includes("handleUpgrade")) { - steps.put("restoreDatabase", new UpgradeTaskVo.Step("restoreDatabase", "恢复数据库")); - } - steps.put("restoreComplete", new UpgradeTaskVo.Step("restoreComplete", "回滚完成")); - - vo.setSteps(steps); - vo.setStep("rollback"); - vo.getLog().add(steps.get("rollback").getTitle()); - vo.getExecuted().add("rollback"); - - setUpgradeTaskCache(vo); - - // 变更升级记录 - const editParam: SysUpgradeRecordsParam = new SysUpgradeRecordsParam(); - editParam.status = UpgradeRecordStatusEnum.STATUS_FAIL.status; - editParam.setFailReason(JSONUtil.toJsonPrettyStr(vo.getError())); - this.sysUpgradeRecordsService.edit(vo.key, editParam); - } - - /** - * operate - */ - async operate(...args: any[]): Promise { - const vo: UpgradeTaskVo = this.getUpgradeTask(); - if (vo == null) return; - - switch (operate) { - case "local": - vo.setStep("gteCloudBuildLog"); - setUpgradeTaskCache(vo); - break; - case "rollback": - vo.getError().add("失败原因:一键云编译队列任务过多"); - upgradeErrorHandle(vo); - break; - } - } - - /** - * restoreComplete - */ - async restoreComplete(...args: any[]): Promise { - vo.status = "rollback"; - this.upgradeService.clearUpgradeTask(5); - } - - /** - * dynamicMethodCall - */ - async dynamicMethodCall(...args: any[]): Promise { - try { - // 获取当前类的 Class 对象 - Class clazz = this.getClass(); - // 获取方法对象 - java.lang.reflect.const method: Method = clazz.getMethod(methodName, extractParameterTypes(args)); - // 调用方法 - console.log("dynamicMethodCall method:" + methodName); - const result: Object = method.invoke(this, args); - if (method.getReturnType() == void.class) { - return null; - } else { - return result; - } - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - if (e instanceof InvocationTargetException) { - ((InvocationTargetException) e).getCause().printStackTrace(); - throw new BadRequestException(((InvocationTargetException) e).getCause().getMessage()); - } else { - console.error(e); - } - return null; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upload/impl/storage-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upload/impl/storage-config-service-impl.service.ts deleted file mode 100644 index a5c59c8d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/upload/impl/storage-config-service-impl.service.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class StorageConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getStorageList - */ - async getStorageList(...args: any[]): Promise { - return this.coreStorageService.getStorageList(this.requestContext.siteId); - } - - /** - * getStorageConfig - */ - async getStorageConfig(...args: any[]): Promise { - const storageTypeList: Record = UploadLoader.type; - if (ObjectUtil.isNull(storageTypeList.get(storageType))) { - throw new AdminException("OSS_TYPE_NOT_EXIST"); - } - /** - * 获取配置 - */ - const storageConfig: Record = this.coreStorageService.getStorageConfig(this.requestContext.siteId); - - const storageValues: Record = JsonUtils.parseObject(storageTypeList.get(storageType)); - const coreStorAgeConfigVo: CoreStorAgeConfigVo = new CoreStorAgeConfigVo(); - coreStorAgeConfigVo.setStorageType(storageType); - coreStorAgeConfigVo.setIsUse(storageType === storageConfig.get("default") ? StorageEnum.ON.getCode() : StorageEnum.OFF.getCode()); - coreStorAgeConfigVo.name = storageValues.get("name".toString()); - coreStorAgeConfigVo.setComponent(storageValues.get("component").toString()); - - const encryptParams: JSONArray = ObjectUtil.defaultIfNull(storageValues.getJSONArray("encrypt_params"), new JSONArray()); - - const params: Record = new Record(); - if (ObjectUtil.isNotNull(storageValues.get("params"))) { - const valuesParams: Record = JsonUtils.parseObject(storageValues.get("params")); - const configParams: Record = new Record(); - if (ObjectUtil.isNotNull(storageConfig.get(storageType))) { - configParams = JsonUtils.parseObject(storageConfig.get(storageType)); - } - for (const paramsKey of valuesParams.keySet()) { - const itemParam: Record = new Record(); - const paramsValues: string = valuesParams.get(paramsKey).toString(); - itemParam.set("name", paramsValues); - const value: string = configParams.getStr(paramsKey); - if (encryptParams.includes(paramsKey) && CommonUtils.isNotEmpty(value)) { - value = StringUtils.hide(value, 0, value.length()); - } - itemParam.set("value", value); - params.set(paramsKey, itemParam); - } - } - coreStorAgeConfigVo.setParams(params); - return coreStorAgeConfigVo; - } - - /** - * setStorageConfig - */ - async setStorageConfig(...args: any[]): Promise { - const storageTypeList: Record = UploadLoader.type; - if (ObjectUtil.isNull(storageTypeList.get(storageType))) { - throw new AdminException("云存储类型不存在"); - } - if (storageType !== FileEnum.LOCAL.getCode()) { - const domain: string = storageData.getStr("domain"); - if (domain.indexOf("http://") < 0 && domain.indexOf("https://") < 0) { - throw new AdminException("空间域名请补全http://或https://"); - } - } - /** - * 获取配置 - */ - const storageConfig: Record = this.coreStorageService.getStorageConfig(this.requestContext.siteId); - - const storageValues: Record = JsonUtils.parseObject(storageTypeList.get(storageType)); - if (storageData.getInt("is_use") == 1) { - storageConfig.set("default", storageType); - } else { - if (storageData.getStr("storage_type").equals(storageConfig.get("default"))) { - storageConfig.set("default", ""); - } - } - - const configParams: Record = new Record(); - if (ObjectUtil.isNotNull(storageConfig.get(storageType))) { - configParams = JsonUtils.parseObject(storageConfig.get(storageType)); - } - - if (ObjectUtil.isNotNull(storageValues.get("params"))) { - const valuesParams: Record = JsonUtils.parseObject(storageValues.get("params")); - for (const paramsKey of valuesParams.keySet()) { - const value: string = storageData.getStr(paramsKey); - if (!value.includes("*")) { - configParams.set(paramsKey, value); - } - } - } - - storageConfig.set(storageType, configParams); - - this.coreConfigService.setConfig(this.requestContext.siteId, "STORAGE", storageConfig); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verifier-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verifier-service-impl.service.ts deleted file mode 100644 index 473fa22e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verifier-service-impl.service.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class VerifierServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("v").innerJoin("?_member m ON v.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("v.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("v.site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - [VerifierVo[], number] iPage = verifierMapper.selectJoinPage(new Page<>(page, limit), VerifierVo.class, queryWrapper); - const list: VerifierListVo[] = []; - for (const item of iPageRecords) { - const vo: VerifierListVo = new VerifierListVo(); - Object.assign(vo, item); - - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - vo.setMember(memberInfoVo); - - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * all - */ - async all(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("v").innerJoin("?_member m ON v.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("v.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("v.site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - const verifierList: VerifierVo[] = verifierMapper.selectJoinList(VerifierVo.class, queryWrapper); - - const list: VerifierListVo[] = []; - for (const item of verifierList) { - const vo: VerifierListVo = new VerifierListVo(); - Object.assign(vo, item); - - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - vo.setMember(memberInfoVo); - - list.push(vo); - } - return list; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_id", addParam.memberId).eq("site_id", this.requestContext.siteId)); - if (!member) throw new BadRequestException("会员不存在"); - - const verifier: Verifier = this.verifierRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_id", addParam.memberId).eq("site_id", this.requestContext.siteId)); - if (CommonUtils.isNotEmpty(verifier)) return; - - const model: Verifier = new Verifier(); - model.siteId = this.requestContext.siteId; - model.memberId = addParam.memberId; - model.createTime = Date.now( / 1000); - model.setVerifyType(JSONUtil.parseArray(addParam.getVerifyType()).toString()); - - this.verifierRepository.save(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.verifierRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verify-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verify-service-impl.service.ts deleted file mode 100644 index ed506e05..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/verify/impl/verify-service-impl.service.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class VerifyServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("v").innerJoin("?_member m ON v.verifier_member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("v.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("v.site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(searchParam.getCode())) queryWrapper.eq("code", searchParam.getCode()); - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - if (CommonUtils.isNotEmpty(searchParam.getVerifierMemberId())) queryWrapper.eq("verifier_member_id", searchParam.getVerifierMemberId()); - if (CommonUtils.isNotEmpty(searchParam.createTime)) QueryMapperUtils.buildByTime(queryWrapper, "v.create_time", searchParam.createTime); - if (CommonUtils.isNotEmpty(searchParam.getOrderId())){ - queryWrapper.like("data", searchParam.getOrderId()); - } - - [VerifyVo[], number] iPage = verifyMapper.selectJoinPage(new Page<>(page, limit), VerifyVo.class, queryWrapper); - const list: VerifyListVo[] = []; - for (const item of iPageRecords) { - const vo: VerifyListVo = new VerifyListVo(); - Object.assign(vo, item); - - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, item); - vo.setMember(memberInfoVo); - - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * detail - */ - async detail(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("v").innerJoin("?_member m ON v.verifier_member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("v.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg"); - queryWrapper.eq("v.site_id", this.requestContext.siteId); - queryWrapper.eq("v.code", code); - - const model: VerifyVo = verifyMapper.selectJoinOne(VerifyVo.class, queryWrapper); - if (!model) throw new BadRequestException("数据不存在"); - - const vo: VerifyInfoVo = new VerifyInfoVo(); - Object.assign(vo, model); - - const memberInfoVo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(memberInfoVo, model); - vo.setMember(memberInfoVo); - - VerifyInfoEventDefiner.const event: VerifyInfoEvent = new VerifyInfoEventDefiner.VerifyInfoEvent(); - event.data = vo; - const list: VerifyInfoEventDefiner.VerifyInfoEventResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - if (!CollectionUtils.isEmpty(list)){ - for (VerifyInfoEventDefiner.VerifyInfoEventResult verifyInfoEventResult : list) { - if (verifyInfoEventResult != null && verifyInfoEventResult.getDataMap() != null && !verifyInfoEventResult.getDataMap().isEmpty()){ - vo.setVerifyInfo(verifyInfoEventResult.getDataMap()); - break; - } - } - } - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-config-service-impl.service.ts deleted file mode 100644 index 8d654634..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-config-service-impl.service.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WeappConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWeappConfig - */ - async getWeappConfig(...args: any[]): Promise { - const weappConfigVo: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(this.requestContext.siteId); - weappConfigVo = staticInfo(weappConfigVo); - - if (weappConfigVo.getIsAuthorization() === 1) { - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(this.requestContext.siteId); - const domainResult: WxOpenMaDomainResult = this.wxOpenMaService.getDomain(); - if (domainResult.getErrcode() === "0") { - WeappConfigVo.const domain: Domain = new WeappConfigVo.Domain(); - domain.setRequestdomain(String.join(";", domainResult.getRequestDomain())); - domain.setWsrequestdomain(String.join(";", domainResult.getWsRequestDomain())); - domain.setUploaddomain(String.join(";", domainResult.getUploadDomain())); - domain.setDownloaddomain(String.join(";", domainResult.getDownloadDomain())); - weappConfigVo.setDomain(domain); - } - } catch (e) { - } - } - - return weappConfigVo; - } - - /** - * setWeappConfig - */ - async setWeappConfig(...args: any[]): Promise { - this.coreWeappConfigService.setWeappConfig(this.requestContext.siteId, weappConfigParam); - } - - /** - * setDomain - */ - async setDomain(...args: any[]): Promise { - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(this.requestContext.siteId); - this.wxOpenMaService.modifyDomain( - "set", - CommonUtils.isNotEmpty(param.getRequestdomain()) ? [param.getRequestdomain(].split(";")) : [], - CommonUtils.isNotEmpty(param.getWsrequestdomain())? [param.getWsrequestdomain(].split(";")) : [], - CommonUtils.isNotEmpty(param.getUploaddomain())? [param.getUploaddomain(].split(";")) : [], - CommonUtils.isNotEmpty(param.getDownloaddomain())? [param.getDownloaddomain(].split(";")) : [], - CommonUtils.isNotEmpty(param.getTcpdomain())? [param.getTcpdomain(].split(";")) : [], - CommonUtils.isNotEmpty(param.getUdpdomain())? [param.getUdpdomain(].split(";")) : [] - ); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * getPrivacySetting - */ - async getPrivacySetting(...args: any[]): Promise { - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(this.requestContext.siteId); - return this.wxOpenMaService.getPrivacyService().getPrivacySetting(2); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * setPrivacySetting - */ - async setPrivacySetting(...args: any[]): Promise { - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(this.requestContext.siteId); - const setPrivacySetting: SetPrivacySetting = Object.assign(new SetPrivacySetting(), privacySetting) /* TODO: 检查SetPrivacySetting构造函数 */; - setPrivacySetting.setPrivacyVer(2); - this.wxOpenMaService.getPrivacyService().setPrivacySetting(setPrivacySetting); - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-template-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-template-service-impl.service.ts deleted file mode 100644 index 8ec5d7ed..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-template-service-impl.service.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WeappTemplateServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const addonNoticeList: AddonNoticeListVo[] = this.coreNoticeService.getAddonList(this.requestContext.siteId); - - for (const item of addonNoticeList) { - const filter: NoticeInfoVo[] = []; - for (const noticeItem of item.getNotice()) { - if (noticeItem.getSupport_type().indexOf("weapp") != -1) { - filter.push(noticeItem); - } - } - item.setNotice(filter); - } - return addonNoticeList; - } - - /** - * sync - */ - async sync(...args: any[]): Promise { - const list: Record = this.coreNoticeService.getList(this.requestContext.siteId, param.getKeys()); - const keys: string[] = [param.getKeys(]); - - for (const item of list.values()) { - if (item.getWeapp() != null && (keys.length == 0 || keys.includes(item.key))) { - if (item.getWeappTemplateId().length() > 0) { - deleteTemplate(item.getWeappTemplateId()); - } - const templateId: string = addTemplate(item.getWeapp().get("tid").toString(), item.getWeapp().getJSONArray("kid_list").toList(number.class), item.getWeapp().get("scene_desc").toString()); - this.coreNoticeService.edit(this.requestContext.siteId, item.key, new Record().set("weapp_template_id", templateId)); - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-version-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-version-service-impl.service.ts deleted file mode 100644 index 8a4a5d6a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/weapp/impl/weapp-version-service-impl.service.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class WeappVersionServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - [WeappVersion[], number] iPage = this.weappVersionRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - - const list: WeappVersionListVo[] = []; - for (const item of iPageRecords) { - const vo: WeappVersionListVo = new WeappVersionListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page,limit, iPageTotal).setData(list); - } - - /** - * add - */ - async add(...args: any[]): Promise { - if (!RequestUtils.handler().getScheme() === "https") throw new BadRequestException("微信小程序请求地址只支持https请先配置ssl"); - - const weappConfig: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(this.requestContext.siteId); - if (weappConfig.getAppId().isEmpty()) throw new BadRequestException("还没有配置微信小程序"); - if (weappConfig.getUploadPrivateKey().isEmpty()) throw new BadRequestException("还没有配置微信小程序代码上传秘钥"); - - const uploading: WeappVersion = this.weappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId).eq("status", WeappVersionStatusEnum.APPLET_UPLOADING)); - if (uploading != null) throw new BadRequestException("小程序有正在上传的版本,请等待上一版本上传完毕后再进行操作"); - - const lastVersion: WeappVersion = this.weappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId).orderByDesc("version_no").last("limit 1")); - const versionNo: number = lastVersion == null ? 1 : lastVersion.getVersionNo() + 1; - - const addons: string[] = this.coreSiteService.getAddonKeysBySiteId(this.requestContext.siteId); - - const uploadParam: WeappUploadParam = new WeappUploadParam(); - uploadParam.setBaseUrl(RequestUtils.getDomain(true)); - uploadParam.setAppId(weappConfig.getAppId()); - uploadParam.setUploadPrivateKey(weappConfig.getUploadPrivateKey()); - uploadParam.siteId = this.requestContext.siteId; - uploadParam.version = "1.0." + versionNo; - uploadParam.desc = param.desc; - uploadParam.setAddon(addons); - const taskKey: string = this.coreWeappCloudService.uploadWeapp(uploadParam); - - const model: WeappVersion = new WeappVersion(); - model.siteId = this.requestContext.siteId; - model.version = uploadParam.version; - model.setVersionNo(versionNo); - model.desc = param.desc; - model.setTaskKey(taskKey); - model.createTime = Date.now( / 1000); - - this.weappVersionRepository.save(model); - } - - /** - * getWeappCompileLog - */ - async getWeappCompileLog(...args: any[]): Promise { - const log: Record = this.coreWeappCloudService.getWeappCompileLog(key); - if (log != null) { - const data: JSONArray = ObjectUtil.defaultIfNull(log.getByPath("data.0", JSONArray.class), new JSONArray()); - if (data.length > 0) { - const last: Record = data.getRecord(data.length - 1); - if (last.getInt("code", -1).equals(0)) { - const model: WeappVersion = new WeappVersion(); - model.status = WeappVersionStatusEnum.APPLET_UPLOAD_FAIL.status; - model.setFailReason(last.getStr("msg", "")); - model.updateTime = Date.now( / 1000); - - this.weappVersionRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("task_key", key)); - return log; - } - if (last.getInt("percent", 0).equals(100)) { - const model: WeappVersion = new WeappVersion(); - model.status = WeappVersionStatusEnum.APPLET_UPLOAD_SUCCESS.status; - model.updateTime = Date.now( / 1000); - - this.weappVersionRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("task_key", key)); - } - } - } - return log; - } - - /** - * getWeappPreviewImage - */ - async getWeappPreviewImage(...args: any[]): Promise { - const status: number[] = new number[] { WeappVersionStatusEnum.APPLET_AUDITING.status, WeappVersionStatusEnum.APPLET_UPLOAD_SUCCESS.status }; - const version: WeappVersion = this.weappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .in("status", status) - .orderByDesc("id") - .last("limit 1") - ); - if (version == null) return ""; - - if (version.getFromType() === "cloud_build") { - return this.coreWeappCloudService.getWeappPreviewImage(); - } else { - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(this.requestContext.siteId); - const qrcode: string = this.wxOpenMaService.getTestQrcode("", {}); - if (fs.existsSync(qrcode)) { - return "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(FileUtils.readFileToByteArray(qrcode)); - } - return ""; - } catch (e) { - return ""; - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-config-service-impl.service.ts deleted file mode 100644 index 45f4075a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-config-service-impl.service.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WechatConfigServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWechatConfig - */ - async getWechatConfig(...args: any[]): Promise { - return this.coreWechatConfigService.getWechatConfig(this.requestContext.siteId); - } - - /** - * setWechatConfig - */ - async setWechatConfig(...args: any[]): Promise { - this.coreWechatConfigService.setWechatConfig(this.requestContext.siteId, wechatConfigParam); - } - - /** - * staticInfo - */ - async staticInfo(...args: any[]): Promise { - const sysUrl: SceneDomainVo = this.sysConfigService.url; - const request: HttpServletRequest = RequestUtils.handler(); - - const vo: WechatStaticInfoVo = new WechatStaticInfoVo(); - vo.setServeUrl(request.getScheme() + "://" + request.getServerName() + "/api/wechat/serve/" + this.requestContext.siteId); - vo.setBusinessDomain(sysUrl.getWapDomain()); - vo.setJsSecureDomain(sysUrl.getWapDomain()); - vo.setWebAuthDomain(sysUrl.getWapDomain()); - vo.setEncryptionType(WechatEncryptionTypeEnum.getMap()); - - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-media-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-media-service-impl.service.ts deleted file mode 100644 index 0c2b54cb..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-media-service-impl.service.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WechatMediaServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc("id"); - - if (CommonUtils.isNotEmpty(searchParam.type)) queryWrapper.eq("type", searchParam.type); - - [WechatMedia[], number] iPage = this.wechatMediaRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: WechatMediaListVo[] = []; - for (const item of iPageRecords) { - const vo: WechatMediaListVo = new WechatMediaListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * image - */ - async image(...args: any[]): Promise { - const param: AttachmentUploadParam = new AttachmentUploadParam(); - param.siteId = this.requestContext.siteId; - param.setStorageType("local"); - param.setFile(file); - param.setAttType("image"); - param.setDir("attachment/image/" + param.siteId + "/" + (new SimpleDateFormat("yyyyMM/dd").format(new Date())) + "/"); - const uploadRes: AttachmentUploadVo = this.coreUploadService.upload(param); - - const wxMaterial: WxMpMaterial = new WxMpMaterial(); - wxMaterial.setFile(this.appConfig.webRootDownResource + uploadRes.url); - wxMaterial.name = param.getNewFilename(); - - try { - const res: WxMpMaterialUploadResult = WechatUtils.mp(this.requestContext.siteId).getMaterialService().materialFileUpload(WechatMediaTypeEnum.IMAGE.type, wxMaterial); - - const model: WechatMedia = new WechatMedia(); - model.siteId = this.requestContext.siteId; - model.type = WechatMediaTypeEnum.IMAGE.type; - model.value = uploadRes.url; - model.setMediaId(res.getMediaId()); - model.createTime = Date.now( / 1000); - this.wechatMediaRepository.save(model); - - const vo: WechatMediaInfoVo = new WechatMediaInfoVo(); - Object.assign(vo, model); - return vo; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * video - */ - async video(...args: any[]): Promise { - const param: AttachmentUploadParam = new AttachmentUploadParam(); - param.siteId = this.requestContext.siteId; - param.setStorageType("local"); - param.setFile(file); - param.setAttType("video"); - param.setDir("attachment/video/" + param.siteId + "/" + (new SimpleDateFormat("yyyyMM/dd").format(new Date())) + "/"); - const uploadRes: AttachmentUploadVo = this.coreUploadService.upload(param); - - const wxMaterial: WxMpMaterial = new WxMpMaterial(); - wxMaterial.setFile(this.appConfig.webRootDownResource + uploadRes.url); - wxMaterial.name = param.getNewFilename(); - wxMaterial.setVideoIntroduction((new SimpleDateFormat("yyyyMM/dd").format(new Date())) + "上传"); - wxMaterial.setVideoTitle(param.getNewFilename()); - - try { - const res: WxMpMaterialUploadResult = WechatUtils.mp(this.requestContext.siteId).getMaterialService().materialFileUpload(WechatMediaTypeEnum.VIDEO.type, wxMaterial); - - const model: WechatMedia = new WechatMedia(); - model.siteId = this.requestContext.siteId; - model.type = WechatMediaTypeEnum.VIDEO.type; - model.value = uploadRes.url; - model.setMediaId(res.getMediaId()); - model.createTime = Date.now( / 1000); - this.wechatMediaRepository.save(model); - - const vo: WechatMediaInfoVo = new WechatMediaInfoVo(); - Object.assign(vo, model); - return vo; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * syncNews - */ - async syncNews(...args: any[]): Promise { - try { - const count: number = 20; - - const result: WxMpMaterialNewsBatchGetResult = WechatUtils.mp(this.requestContext.siteId).getMaterialService().materialNewsBatchGet(offset, count); - if (result.getItemCount() > 0) { - for (WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem item: result.getItems()) { - const media: WechatMedia = this.wechatMediaRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("media_id", item.getMediaId())); - - if (CommonUtils.isNotEmpty(media)) { - media.value = JSONUtil.toJsonStr(item.getContent()); - media.updateTime = Date.now( / 1000); - wechatMediaMapper.updateById(media); - } else { - const model: WechatMedia = new WechatMedia(); - model.siteId = this.requestContext.siteId; - model.type = WechatMediaTypeEnum.VIDEO.type; - model.value = JSONUtil.toJsonStr(item.getContent()); - model.setMediaId(item.getMediaId()); - model.createTime = Date.now( / 1000); - this.wechatMediaRepository.save(model); - } - } - } - if (offset < Math.ceil(result.getTotalCount() / count)) { - offset++; - this.syncNews(offset); - } - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-menu-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-menu-service-impl.service.ts deleted file mode 100644 index cd9e925f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-menu-service-impl.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WechatMenuServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * info - */ - async info(...args: any[]): Promise { - return this.coreConfigService.getConfigArrayValue(this.requestContext.siteId, "WECHAT_MENU"); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - try{ - const params: Record = {}; - params.put("button", data); - WechatUtils.mp(this.requestContext.siteId).getMenuService().menuCreate(JsonUtils.parseObject(params).toString()) ; - this.coreConfigService.setConfig(this.requestContext.siteId, "WECHAT_MENU", data); - }catch (e){ - throw new AdminException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-reply-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-reply-service-impl.service.ts deleted file mode 100644 index 0a4af084..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-reply-service-impl.service.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class WechatReplyServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getKeywordList - */ - async getKeywordList(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("reply_type", WechatReplyTypeEnum.REPLY_KEYWORD.type); - queryWrapper.eq("site_id", this.requestContext.siteId); - queryWrapper.orderByDesc(["sort", "id"]); - - if (CommonUtils.isNotEmpty(searchParam.keyword)) queryWrapper.like("keyword", searchParam.keyword); - if (CommonUtils.isNotEmpty(path.basename(searchParam))) queryWrapper.like("name", path.basename(searchParam)); - - [WechatReply[], number] iPage = this.wechatReplyRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: WechatReplyListVo[] = []; - for (const item of iPageRecords) { - const vo: WechatReplyListVo = new WechatReplyListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * getKeywordInfo - */ - async getKeywordInfo(...args: any[]): Promise { - const model: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .eq("reply_type", WechatReplyTypeEnum.REPLY_KEYWORD.type)); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: WechatReplyInfoVo = new WechatReplyInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * addKeyword - */ - async addKeyword(...args: any[]): Promise { - const model: WechatReply = new WechatReply(); - model.name = path.basename(addParam); - model.siteId = this.requestContext.siteId; - model.setKeyword(addParam.keyword); - model.setReplyType(WechatReplyTypeEnum.REPLY_KEYWORD.type); - model.setMatchingType(addParam.getMatchingType()); - model.setContent(addParam.getContent().toString()); - model.setSort(addParam.getSort()); - model.createTime = Date.now( / 1000); - model.setReplyMethod(addParam.getReplyMethod()); - this.wechatReplyRepository.save(model); - } - - /** - * editKeyword - */ - async editKeyword(...args: any[]): Promise { - const model: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId) - .eq("reply_type", WechatReplyTypeEnum.REPLY_KEYWORD.type)); - - if (!model) throw new BadRequestException("数据不存在!"); - - model.name = path.basename(editParam); - model.setKeyword(editParam.keyword); - model.setMatchingType(editParam.getMatchingType()); - model.setContent(editParam.getContent().toString()); - model.setSort(editParam.getSort()); - model.updateTime = Date.now( / 1000); - model.setReplyMethod(editParam.getReplyMethod()); - wechatReplyMapper.updateById(model); - } - - /** - * getDefault - */ - async getDefault(...args: any[]): Promise { - return this.coreWechatReplyService.getDefault(this.requestContext.siteId); - } - - /** - * editDefault - */ - async editDefault(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("reply_type", WechatReplyTypeEnum.REPLY_DEFAULT.type) - .eq("site_id", this.requestContext.siteId); - - const reply: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (CommonUtils.isEmpty(reply)) { - const model: WechatReply = new WechatReply(); - model.setContent(param.getContent().toString()); - model.siteId = this.requestContext.siteId; - model.setReplyType(WechatReplyTypeEnum.REPLY_DEFAULT.type); - this.wechatReplyRepository.save(model); - } else { - const model: WechatReply = new WechatReply(); - model.setContent(param.getContent().toString()); - this.wechatReplyRepository.save(model, queryWrapper); - } - } - - /** - * getSubscribe - */ - async getSubscribe(...args: any[]): Promise { - return this.coreWechatReplyService.getSubscribe(this.requestContext.siteId); - } - - /** - * editSubscribe - */ - async editSubscribe(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("reply_type", WechatReplyTypeEnum.REPLY_SUBSCRIBE.type) - .eq("site_id", this.requestContext.siteId); - - const reply: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (CommonUtils.isEmpty(reply)) { - const model: WechatReply = new WechatReply(); - model.setContent(param.getContent().toString()); - model.siteId = this.requestContext.siteId; - model.setReplyType(WechatReplyTypeEnum.REPLY_DEFAULT.type); - this.wechatReplyRepository.save(model); - } else { - const model: WechatReply = new WechatReply(); - model.setContent(param.getContent().toString()); - this.wechatReplyRepository.save(model, queryWrapper); - } - } - - /** - * delKeyword - */ - async delKeyword(...args: any[]): Promise { - this.wechatReplyRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("id", id) - .eq("site_id", this.requestContext.siteId)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-template-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-template-service-impl.service.ts deleted file mode 100644 index 0ca1e10a..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wechat/impl/wechat-template-service-impl.service.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WechatTemplateServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const addonNoticeList: AddonNoticeListVo[] = this.coreNoticeService.getAddonList(this.requestContext.siteId); - - for (const item of addonNoticeList) { - const filter: NoticeInfoVo[] = []; - for (const noticeItem of item.getNotice()) { - if (noticeItem.getSupport_type().indexOf("wechat") != -1) { - filter.push(noticeItem); - } - } - item.setNotice(filter); - } - return addonNoticeList; - } - - /** - * sync - */ - async sync(...args: any[]): Promise { - const list: Record = this.coreNoticeService.getList(this.requestContext.siteId, param.getKeys()); - const keys: string[] = [param.getKeys(]); - - for (const item of list.values()) { - if (item.getWechat() != null && (keys.length == 0 || keys.includes(item.key))) { - if (item.getWeappTemplateId().length() > 0) { - deleteTemplate(item.getWeappTemplateId()); - } - const templateId: string = addTemplate(item.getWechat().get("temp_key").toString(), item.getWechat().getJSONArray("keyword_name_list").toList(String.class)); - this.coreNoticeService.edit(this.requestContext.siteId, item.key, new Record().set("wechat_template_id", templateId)); - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-config-service-impl.service.ts deleted file mode 100644 index ce8b8152..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-config-service-impl.service.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class OplatformConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getOplatformStaticInfo - */ - async getOplatformStaticInfo(...args: any[]): Promise { - return this.coreOplatformConfigService.getOplatformStaticInfo(); - } - - /** - * getWxOplatformConfig - */ - async getWxOplatformConfig(...args: any[]): Promise { - const jsonObject: Record = this.coreConfigService.getConfigValue(RequestUtils.defaultSiteId(), ConfigKeyEnum.path.basename(WXOPLATFORM)); - const configJsonObject: Record = new Record(); - configJsonObject.set("app_id", jsonObject.getStr("app_id", "")); - configJsonObject.set("app_secret", jsonObject.getStr("app_secret", "")); - configJsonObject.set("token", jsonObject.getStr("token", "")); - configJsonObject.set("aes_key", jsonObject.getStr("aes_key", "")); - configJsonObject.set("develop_app_id", jsonObject.getStr("develop_app_id", "")); - configJsonObject.set("develop_upload_private_key", jsonObject.getStr("develop_upload_private_key", "")); - return configJsonObject; - } - - /** - * setWxOplatformConfig - */ - async setWxOplatformConfig(...args: any[]): Promise { - this.coreOplatformConfigService.setOplatformConfig(oplatformConfigParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-server-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-server-service-impl.service.ts deleted file mode 100644 index 18023ecd..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-server-service-impl.service.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils } from '@wwjBoot'; - -@Injectable() -export class OplatformServerServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * server - */ - async server(...args: any[]): Promise { - if (!StringUtils.toLowerCase() === "aes", param.getEncryptType(.toLowerCase()) - || !WechatUtils.WxOpen().getWxOpenComponentService().checkSignature(param.getTimestamp(), param.getNonce(), param.getSignature())) { - throw new IllegalArgumentException("非法请求"); - } - - const inMessage: WxOpenXmlMessage = WxOpenXmlMessage.fromEncryptedXml(param.getRequestBody(), WechatUtils.WxOpen().getWxOpenConfigStorage(), param.getTimestamp(), param.getNonce(), param.getMsgSignature()); - log.info("开放平台授权事件推送消息:{}", inMessage); - - try { - WechatUtils.WxOpen().getWxOpenComponentService().route(inMessage); - - // 授权取消 - if (inMessage.getInfoType() === "unauthorized") { - this.oplatformService.clearAuthorization(inMessage.getAuthorizerAppid()); - } - // 更新授权 - if (inMessage.getInfoType() === "updateauthorized") { - const siteId: number = this.coreOplatformService.getSiteIdByAuthorizerAppid(inMessage.getAuthorizerAppid()); - RequestUtils.siteId = siteId; - - const authorizationParam: AuthorizationParam = new AuthorizationParam(); - authorizationParam.setAuthCode(inMessage.getAuthorizationCode()); - this.oplatformService.authorization(authorizationParam); - } - } catch (e) { - log.error("处理开放平台授权事件消息异常", e); - } - } - - /** - * message - */ - async message(...args: any[]): Promise { - if (!StringUtils.toLowerCase() === "aes", param.getEncryptType(.toLowerCase()) - || !WechatUtils.WxOpen().getWxOpenComponentService().checkSignature(param.getTimestamp(), param.getNonce(), param.getSignature())) { - throw new IllegalArgumentException("非法请求"); - } - - const inMessage: WxMpXmlMessage = WxOpenXmlMessage.fromEncryptedMpXml(param.getRequestBody(), WechatUtils.WxOpen().getWxOpenConfigStorage(), param.getTimestamp(), param.getNonce(), param.getMsgSignature()); - log.info("开放平台消息与事件推送消息:{}", inMessage); - - if (inMessage.getMsgType() === WxConsts.XmlMsgType.EVENT) { - // 小程序审核成功 - if (inMessage.getEvent() === WxConsts.EventType.WEAPP_AUDIT_SUCCESS) { - weappAuditSuccess(inMessage); - } - // 小程序审核失败 - if (inMessage.getEvent() === WxConsts.EventType.WEAPP_AUDIT_FAIL) { - weappAuditFail(inMessage); - } - } - - const wxOpenMessageRouter: WxOpenMessageRouter = new WxOpenMessageRouter(WechatUtils.WxOpen()); - - const outMessage: WxMpXmlOutMessage = wxOpenMessageRouter.route(inMessage, appid); - if(outMessage != null){ - return WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, WechatUtils.WxOpen().getWxOpenConfigStorage()); - } - return "success"; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-service-impl.service.ts deleted file mode 100644 index bfa0687d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/oplatform-service-impl.service.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class OplatformServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * createPreAuthorizationUrl - */ - async createPreAuthorizationUrl(...args: any[]): Promise { - try { - const url: string = RequestUtils.getDomain(true) + "/site/wxoplatform/callback"; - return WechatUtils.WxOpen().getWxOpenComponentService().getPreAuthUrl(url); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * authorization - */ - async authorization(...args: any[]): Promise { - try { - const queryAuth: WxOpenQueryAuthResult = WechatUtils.WxOpen().getWxOpenComponentService().getQueryAuth(param.getAuthCode()); - - // 授权账号信息 授权信息 - const result: WxOpenAuthorizerInfoResult = WechatUtils.WxOpen().getWxOpenComponentService().getAuthorizerInfo(queryAuth.getAuthorizationInfo().getAuthorizerAppid()); - - const authorizerInfo: WxOpenAuthorizerInfo = result.getAuthorizerInfo(); - const authorization: WxOpenAuthorizationInfo = result.getAuthorizationInfo(); - - // 小程序 - if (CommonUtils.isNotEmpty(authorizerInfo.getMiniProgramInfo())) { - this.weappCheck(authorizerInfo, authorization); - - const weappConfig: WeappConfigParam = new WeappConfigParam(); - weappConfig.setAppId(authorization.getAuthorizerAppid()); - weappConfig.setWeappName(authorizerInfo.getNickName()); - weappConfig.setWeappOriginal(authorizerInfo.getUserName()); - weappConfig.setIsAuthorization(1); - weappConfig.setQrCode(this.coreFetchService.image(authorizerInfo.getQrcodeUrl(), this.requestContext.siteId)); - this.coreWeappConfigService.setWeappConfig(this.requestContext.siteId, weappConfig); - - this.coreWeappConfigService.setWeappAuthorizationInfo(this.requestContext.siteId, result); - } else { // 公众号 - this.wechatCheck(authorizerInfo, authorization); - - const wechatConfig: WechatConfigParam = new WechatConfigParam(); - wechatConfig.setAppId(authorization.getAuthorizerAppid()); - wechatConfig.setWechatName(authorizerInfo.getNickName()); - wechatConfig.setWechatOriginal(authorizerInfo.getUserName()); - wechatConfig.setIsAuthorization(1); - wechatConfig.setQrcode(this.coreFetchService.image(authorizerInfo.getQrcodeUrl(), this.requestContext.siteId)); - this.coreWechatConfigService.setWechatConfig(this.requestContext.siteId, wechatConfig); - - this.coreWechatConfigService.setWechatAuthorizationInfo(this.requestContext.siteId, result); - } - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * clearAuthorization - */ - async clearAuthorization(...args: any[]): Promise { - const configKey: string[] = new String[]{ ConfigKeyEnum.path.basename(WECHAT), ConfigKeyEnum.path.basename(WEAPP), ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO), ConfigKeyEnum.path.basename(WECHAT_AUTHORIZATION_INFO)}; - this.sysConfigRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).in("config_key", configKey)); - this.coreConfigService.cacheClear(); - } - - /** - * getAuthRecord - */ - async getAuthRecord(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); - wrapper.select(SysConfig::getCreateTime,SysConfig::getAddon,SysConfig::getStatus,SysConfig::getConfigKey, SysConfig::getValue, SysConfig::getSiteId, SysConfig::getUpdateTime); - wrapper.leftJoin(Site.class, "siteinfo",Site::getSiteId, SysConfig::getSiteId).select("site_name"); - wrapper.in(SysConfig::getConfigKey, ConfigKeyEnum.path.basename(WECHAT_AUTHORIZATION_INFO), ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO)); - wrapper.eq(SysConfig::getSiteId, this.requestContext.siteId); - wrapper.orderByDesc(SysConfig::getUpdateTime); - any /* TODO: Page */ pageObj = new Page<>(page, limit); - [SysConfig[], number] iPage = this.sysConfigRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }); - const listInfo: OplatformRecordVo[] = []; - for (const item of iPageRecords) { - const vo: OplatformRecordVo = new OplatformRecordVo(); - Object.assign(vo, item); - vo.value = JsonUtils.parseObject(item.value); - const siteInfo: Site = new Site(); - siteInfo.setSiteName(item.getSiteName()); - vo.setSite(siteInfo); - listInfo.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(listInfo); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/weapp-version-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/weapp-version-service-impl.service.ts deleted file mode 100644 index e7760e6f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/admin/wxoplatform/impl/weapp-version-service-impl.service.ts +++ /dev/null @@ -1,349 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class WeappVersionServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setWeappVersionService - */ - async setWeappVersionService(...args: any[]): Promise { - this.weappVersionService = weappVersionService; - } - - /** - * getLastCommitRecord - */ - async getLastCommitRecord(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper=new QueryWrapper(); - queryWrapper.orderByDesc("id") - .last("limit 1"); - const wxOplatfromWeappVersion: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (wxOplatfromWeappVersion==null) return null; - const wxOplatfromWeappVersionVo: WxOplatfromWeappVersionVo = new WxOplatfromWeappVersionVo(); - Object.assign(wxOplatfromWeappVersionVo, wxOplatfromWeappVersion); - return wxOplatfromWeappVersionVo; - } - - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper=new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - MPJany /* TODO: QueryWrapper */ wxOplatfromMPJQueryWrapper = new MPJQueryWrapper(); - wxOplatfromMPJQueryWrapper.select("wowv.id, wowv.site_group_id, wowv.template_id, wowv.user_version, wowv.user_desc, wowv.task_key, wowv.status, wowv.fail_reason, wowv.version_no, wowv.create_time, wowv.update_time, nsg.group_name as site_group_name") - .setAlias("wowv") - .leftJoin("?_site_group nsg ON nsg.group_id = wowv.site_group_id".replace("?_", this.appConfig.tablePrefix)); - wxOplatfromMPJQueryWrapper.orderByDesc("wowv.id"); - - [WxOplatfromWeappVersionVo[], number] iPage = wxOplatfromWeappVersionMapper.selectJoinPage(new Page<>(page, limit), WxOplatfromWeappVersionVo.class, wxOplatfromMPJQueryWrapper); - return PageResult.build(page, limit, iPageTotal).setData(iPageRecords); - } - - /** - * add - */ - async add(...args: any[]): Promise { - const siteGroupList: SiteGroup[] = this.siteGroupRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).orderByAsc("create_time")); - if (CommonUtils.isEmpty(siteGroupList)) throw new BadRequestException("请先添加站点套餐"); - - const siteGroup: SiteGroup = siteGroupId == null || siteGroupId == 0 ? siteGroupList.get(0) : siteGroupMapper.selectById(siteGroupId); - - const uploading: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("status", 0) - .last("limit 1") - ); - if (uploading != null) throw new BadRequestException("小程序有正在上传的版本,请等待上一版本上传完毕后再进行操作"); - - const lastVersion: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_group_id", siteGroup.getGroupId()) - .orderByDesc("id") - .last("limit 1") - ); - - const config: OplatformConfigVo = this.coreOplatformConfigService.getWxOplatformConfig(); - - const addon: string[] = CollUtil.newArrayList(); - if (!siteGroup.getApp().isEmpty()) CollUtil.addAll(addon, JSONUtil.parseArray(siteGroup.getApp())); - if (!siteGroup.getAddon().isEmpty()) CollUtil.addAll(addon, JSONUtil.parseArray(siteGroup.getAddon())); - - const weappUploadParam: WeappUploadParam = new WeappUploadParam(); - weappUploadParam.setAppId(config.getDevelopAppId()); - weappUploadParam.setBaseUrl(RequestUtils.getDomain(true)); - weappUploadParam.siteId = 0; - weappUploadParam.version = "1." + siteGroup.getGroupId( + "." + (lastVersion == null ? 1 : lastVersion.getVersionNo() + 1)); - weappUploadParam.setUploadPrivateKey(config.getDevelopUploadPrivateKey()); - weappUploadParam.setAddon(addon); - const taskKey: string = this.coreWeappCloudService.uploadWeapp(weappUploadParam); - - const model: WxOplatfromWeappVersion = new WxOplatfromWeappVersion(); - model.setSiteGroupId(siteGroup.getGroupId()); - model.setUserVersion(weappUploadParam.version); - model.setVersionNo(lastVersion == null ? 1 : lastVersion.getVersionNo() + 1); - model.createTime = Date.now( / 1000); - model.setTaskKey(taskKey); - this.wxOplatfromWeappVersionRepository.save(model); - - this.weappVersionService.getVersionUploadResult(taskKey, isAll); - } - - /** - * getVersionUploadResult - */ - async getVersionUploadResult(...args: any[]): Promise { - if (scheduler == null || scheduler.isShutdown() || scheduler.isTerminated()) { - scheduler = Executors.newScheduledThreadPool(1); - } - scheduler.schedule(() => checkVersionUploadResult(taskKey, isAll), 10, TimeUnit.SECONDS); - } - - /** - * uploadSuccess - */ - async uploadSuccess(...args: any[]): Promise { - const version: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - - const wxOpenService: WxOpenComponentService = WechatUtils.WxOpen().getWxOpenComponentService(); - - try { - const draftList: WxOpenMaCodeTemplate[] = this.wxOpenService.getTemplateDraftList(); - if (CommonUtils.isNotEmpty(draftList)) { - for (const item of draftList) { - if (item.getUserVersion() === version.getUserVersion()) { - // 添加模板 - this.wxOpenService.addToTemplate(item.getDraftId()); - - const templateList: WxOpenMaCodeTemplate[] = this.wxOpenService.getTemplateList(); - for (const template of templateList) { - if (template.getUserVersion() === version.getUserVersion()) { - version.setTemplateId(template.getTemplateId().toString()); - wxOplatfromWeappVersionMapper.updateById(version); - - // 删除之前的模板 - const prev: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_group_id", version.getSiteGroupId()) - .lt("id", version.id) - .orderByDesc("id") - .last("limit 1") - ); - if (prev!= null) { - this.wxOpenService.deleteTemplate(number.valueOf(prev.getTemplateId())); - } - break; - } - } - } - } - } - } catch (e) { - console.log("小程序模板上传成功获取模板id异常"); - console.error(e); - } - - if (isAll) { - const siteGroup: SiteGroup = this.siteGroupRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .gt("group_id", version.getSiteGroupId()) - .orderByDesc("group_id") - .last("limit 1") - ); - if (siteGroup != null) { - this.weappVersionService.push(siteGroup.getGroupId(), true); - } - } - } - - /** - * weappCommit - */ - async weappCommit(...args: any[]): Promise { - if (version == null) { - version = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .ne("template_id", "") - .orderByDesc("id") - .last("limit 1")); - if (version == null) throw new BadRequestException("平台尚未上传小程序到模板库"); - } - - const uploading: WeappVersion = this.weappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).eq("status", WeappVersionStatusEnum.APPLET_AUDITING.status).last("limit 1")); - if (uploading!= null) throw new BadRequestException("小程序有正在上传的版本,请等待上一版本上传完毕后再进行操作"); - - const weappCofig: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(siteId); - - try { - const extJson: Record = new Record(); - extJson.set("extAppid", weappCofig.getAppId()); - extJson.set("entryPagePath", "app/pages/index/index"); - extJson.set("directCommit", true); - extJson.putByPath("ext.site_id", siteId); - - const commitResult: WxOpenResult = WechatUtils.WxOpen().getWxOpenComponentService() - .getWxMaServiceByAppid(weappCofig.getAppId()) - .codeCommit(number.valueOf(version.getTemplateId()), version.getUserVersion(), version.getUserDesc(), extJson); - - if (!commitResult.getErrcode() === "0") throw new BadRequestException(commitResult.getErrmsg()); - - const model: WeappVersion = new WeappVersion(); - model.siteId = siteId; - model.version = version.getUserVersion(); - model.setVersionNo(version.getVersionNo()); - model.desc = version.getUserDesc(); - model.status = WeappVersionStatusEnum.APPLET_AUDITING.status; - model.createTime = Date.now( / 1000); - model.setFromType("open_platform"); - this.weappVersionRepository.save(model); - - // 提交审核 - this.weappVersionService.submitAudit(siteId, model.id); - } catch (e) { - console.log("小程序提交代码异常"); - console.error(e); - throw new BadRequestException(e.message); - } - } - - /** - * submitAudit - */ - async submitAudit(...args: any[]): Promise { - const version: WeappVersion = weappVersionMapper.selectById(versionId); - - try { - const wxOpenMaService: WxOpenMaService = (WxOpenMaService) WechatUtils.miniapp(siteId); - - const privacyInfo: WxOpenMaGetCodePrivacyInfoResult = this.wxOpenMaService.getCodePrivacyInfo(); - if (!privacyInfo.getErrcode() === "0") { - version.status = WeappVersionStatusEnum.APPLET_AUDIT_FAIL.status; - version.setFailReason(privacyInfo.getErrmsg()); - version.updateTime = Date.now( / 1000); - weappVersionMapper.updateById(version); - return; - } - - const submitAuditMessage: WxOpenMaSubmitAuditMessage = new WxOpenMaSubmitAuditMessage(); - const submitResult: WxOpenMaSubmitAuditResult = this.wxOpenMaService.submitAudit(submitAuditMessage); - - version.status = submitResult.getErrcode( === "0" ? WeappVersionStatusEnum.APPLET_AUDITING.status : WeappVersionStatusEnum.APPLET_AUDIT_FAIL.status); - version.setFailReason(submitResult.getErrmsg()); - version.updateTime = Date.now( / 1000); - version.setAuditid(ObjectUtil.isNotNull(submitResult.getAuditId()) ? submitResult.getAuditId().toString() : ""); - - weappVersionMapper.updateById(version); - - if (scheduler != null && !scheduler.isShutdown()) { - scheduler.shutdown(); - } - } catch (e) { - // 如果检测任务结束未结束 - if (e.getError().getErrorCode() == 61039) { - if (scheduler == null || scheduler.isShutdown() || scheduler.isTerminated()) { - scheduler = Executors.newScheduledThreadPool(1); - } - scheduler.schedule(() => submitAudit(siteId, versionId), 30, TimeUnit.SECONDS); - } else { - version.status = WeappVersionStatusEnum.APPLET_AUDIT_FAIL.status; - version.setFailReason(e.getError().getErrorMsg()); - version.updateTime = Date.now( / 1000); - weappVersionMapper.updateById(version); - - if (scheduler != null && !scheduler.isShutdown()) { - scheduler.shutdown(); - } - - console.log("小程序提交审核异常"); - console.error(e); - throw new BadRequestException(e.message); - } - } - } - - /** - * siteWeappCommit - */ - async siteWeappCommit(...args: any[]): Promise { - const site: SiteInfoVo = this.coreSiteService.getSiteCache(this.requestContext.siteId); - this.weappCommit(site.siteId, site.getGroupId(), null); - } - - /** - * getSiteGroupCommitRecord - */ - async getSiteGroupCommitRecord(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - [SiteGroup[], number] iPage = this.siteGroupRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.select("group_id,group_name")); - const list: SiteGroupWeappVersionVo[] = []; - - for (const item of iPageRecords) { - const vo: SiteGroupWeappVersionVo = new SiteGroupWeappVersionVo(); - Object.assign(vo, item); - - const lastVersion: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).orderByDesc("id").last("limit 1")); - if (lastVersion != null) { - const versionVo: WxOplatfromWeappVersionVo = new WxOplatfromWeappVersionVo(); - Object.assign(versionVo, lastVersion); - vo.setCommitRecord(versionVo); - } - list.push(vo); - } - - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * undoAudit - */ - async undoAudit(...args: any[]): Promise { - const version: WeappVersion = this.weappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (!version) throw new BadRequestException("未获取到小程序版本提交记录"); - if (!version.status === WeappVersionStatusEnum.APPLET_AUDITING.status) throw new BadRequestException("只有审核中的才可以撤回"); - - const weappCofig: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(this.requestContext.siteId); - - try { - const commitResult: WxOpenResult = WechatUtils.WxOpen().getWxOpenComponentService() - .getWxMaServiceByAppid(weappCofig.getAppId()).undoCodeAudit(); - } catch (e) { - throw new BadRequestException(e.message); - } - - version.status = WeappVersionStatusEnum.APPLET_AUDIT_UNDO.status; - version.updateTime = Date.now( / 1000); - weappVersionMapper.updateById(version); - } - - /** - * syncSiteGroupAuthWeapp - */ - async syncSiteGroupAuthWeapp(...args: any[]): Promise { - const version: WxOplatfromWeappVersion = this.wxOplatfromWeappVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .ne("template_id", "") - .orderByDesc("id") - .last("limit 1") - ); - if (!version) throw new BadRequestException("平台尚未上传小程序到模板库"); - - const siteIds: number[] = this.siteRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("group_id", param.getSiteGroupId())).stream().map(Site::getSiteId); - if (CommonUtils.isNotEmpty(siteIds)) { - const authSite: SysConfig[] = this.sysConfigRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("config_key", ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO))); - if (CommonUtils.isNotEmpty(authSite)) { - authSite.forEach(item => { - weappCommit(item.siteId, param.getSiteGroupId(), version); - }); - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/agreement/impl/agreement-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/agreement/impl/agreement-service-impl.service.ts deleted file mode 100644 index 338d2244..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/agreement/impl/agreement-service-impl.service.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class AgreementServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * info - */ - async info(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("site_id, agreement_key, title, content, create_time, update_time"); - queryWrapper.eq("agreement_key", param.key); - queryWrapper.eq("site_id", param.siteId()); - const sysAgreement: SysAgreement = this.sysAgreementRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (sysAgreement == null) { - return null; - } - const agreementInfoVo: AgreementInfoVo = new AgreementInfoVo(); - Object.assign(agreementInfoVo, sysAgreement); - return agreementInfoVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/channel/impl/app-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/channel/impl/app-service-impl.service.ts deleted file mode 100644 index 6a5bfe91..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/channel/impl/app-service-impl.service.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class AppServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * wechatLogin - */ - async wechatLogin(...args: any[]): Promise { - try { - const app: WxMpService = WechatUtils.app(this.requestContext.siteId); - - const wxOAuth2AccessToken: WxOAuth2AccessToken = app.getOAuth2Service().getAccessToken(param.getCode()); - const wxUser: WxOAuth2UserInfo = app.getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null); - - return this.login( - ObjectUtil.defaultIfNull(wxUser.getOpenid(), ""), - ObjectUtil.defaultIfNull(wxUser.getUnionId(), ""), - ObjectUtil.defaultIfNull(wxUser.getNickname(), ""), - ObjectUtil.defaultIfNull(wxUser.getHeadImgUrl(), ""), - param.getPid() - ); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * getNewVersion - */ - async getNewVersion(...args: any[]): Promise { - const appVersion: AppVersion = this.appVersionRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("platform", param.getPlatform()) - .gt("version_code", param.getVersionCode()) - .eq("status", AppDict.StatusEnum.STATUS_PUBLISHED.value) - .orderByDesc("version_code")); - - if (appVersion == null) { - return null; - } - - const newVersionVo: NewVersionVo = new NewVersionVo(); - BeanUtil.copyProperties(appVersion, newVersionVo); - - return newVersionVo; - } - - /** - * register - */ - async register(...args: any[]): Promise { - switch (param.getRegisterType()) { - case "wechat": - return wechatRegister(param); - default: - return null; - } - } - - /** - * getAppConfig - */ - async getAppConfig(...args: any[]): Promise { - const vo: ApiAppConfigVo = new ApiAppConfigVo(); - const config: AppConfigVo = this.coreAppService.getConfig(this.requestContext.siteId); - BeanUtil.copyProperties(config, vo); - - const weappConfig: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(this.requestContext.siteId); - vo.setWeappOriginal(weappConfig.getWeappOriginal()); - return vo; - } - - /** - * wechatRegister - */ - async wechatRegister(...args: any[]): Promise { - if (param.getOpenid().isEmpty()) throw new BadRequestException("openid不能为空"); - try { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) throw new BadRequestException("账号已存在"); - - if (!param.getUnionid().isEmpty()) { - const unionidMember: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(unionidMember)) throw new BadRequestException("账号已存在"); - } - - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - if (config.getIsBindMobile() == 1) { - if (param.getMobile().isEmpty()) throw new BadRequestException("手机号不能为空"); - this.registerService.checkMobileCode(param.getMobile(), param.getMobileKey(), param.getMobileCode()); - } - - const registerMember: Member = new Member(); - registerMember.setWxappOpenid(param.getOpenid()); - registerMember.setMobile(param.getMobile()); - registerMember.setWxUnionid(param.getUnionid()); - registerMember.setPid(param.getPid()); - return this.registerService.register(registerMember); - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-form-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-form-service-impl.service.ts deleted file mode 100644 index 8873750f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-form-service-impl.service.ts +++ /dev/null @@ -1,270 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class DiyFormServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - // 查询 DiyFormWriteConfig - any /* TODO: QueryWrapper */ writeConfigWrapper = new QueryWrapper(); - writeConfigWrapper.eq("form_id", formId) - .eq("site_id", this.requestContext.siteId); - const writeConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - // 查询表单信息 - any /* TODO: QueryWrapper */ formWrapper = new QueryWrapper(); - formWrapper.eq("form_id", formId) - .eq("status", 1) - .eq("site_id", this.requestContext.siteId); - const formInfo: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - List> error = []; - const info: DiyFormInfoVo = new DiyFormInfoVo(); - if (formInfo != null) { - BeanUtil.copyProperties(formInfo, info); - // 过滤隐藏的组件 - const valueObj: Record = JsonUtils.parseObject(formInfo.value); - if (valueObj.containsKey("value")) { - const valueArray: JSONArray = valueObj.getJSONArray("value"); - if (valueArray != null) { - const newArray: JSONArray = new JSONArray(); - for (const obj of valueArray) { - const item: Record = (Record) obj; - if (!item.getBool("isHidden", false)) { - newArray.push(item); - } - } - valueObj.put("value", newArray); - info.value = valueObj.toString(); - } - } - - - // 检查会员相关限制 - const memberId: number = this.requestContext.memberId; - if (writeConfig != null && memberId != null) { - Record errorMsg; - errorMsg = checkMemberCanJoinOrNot(memberId, writeConfig); - if (CommonUtils.isNotEmpty(errorMsg)) { - error.push(errorMsg); - } - errorMsg = checkFormWriteTime(writeConfig); - if (CommonUtils.isNotEmpty(errorMsg)) { - error.push(errorMsg); - } - errorMsg = checkFormWriteLimitNum(formId, writeConfig); - if (CommonUtils.isNotEmpty(errorMsg)) { - error.push(errorMsg); - } - errorMsg = checkMemberWriteLimitNum(memberId, formId, writeConfig); - if (CommonUtils.isNotEmpty(errorMsg)) { - error.push(errorMsg); - } - } - } else { - const errorMap: Record = {}; - errorMap.put("title", "当前表单无法查看"); - errorMap.put("type", "表单状态"); - errorMap.put("desc", "该表单已关闭"); - error.push(errorMap); - } - info.error = error; - return info; - } - - /** - * addRecord - */ - async addRecord(...args: any[]): Promise { - diyFormRecordsParam.siteId = this.requestContext.siteId; - diyFormRecordsParam.memberId = this.requestContext.memberId; - - // 检查表单是否存在且已开启 - any /* TODO: QueryWrapper */ formQueryWrapper = new QueryWrapper(); - formQueryWrapper.eq("form_id", diyFormRecordsParam.formId) - .eq("site_id", this.requestContext.siteId); - const formInfo: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (formInfo == null) { - throw new ApiException("表单不存在"); - } - if (formInfo.status == 0) { - throw new ApiException("该表单已关闭"); - } - - // 查询表单填写配置 - any /* TODO: QueryWrapper */ writeConfigQueryWrapper = new QueryWrapper(); - writeConfigQueryWrapper.eq("form_id", diyFormRecordsParam.formId) - .eq("site_id", this.requestContext.siteId); - const writeConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (writeConfig != null) { - // 检查会员是否可以参与 - const canJoinError: Record = checkMemberCanJoinOrNot(this.requestContext.memberId, writeConfig); - if ((canJoinError && canJoinError.length > 0)) { - throw new ApiException(canJoinError.get("desc")); - } - - // 检查表单填写时间 - const timeError: Record = checkFormWriteTime(writeConfig); - if ((timeError && timeError.length > 0)) { - throw new ApiException(timeError.get("desc")); - } - - // 检查表单总填写次数限制 - const formLimitError: Record = checkFormWriteLimitNum(diyFormRecordsParam.formId, writeConfig); - if ((formLimitError && formLimitError.length > 0)) { - throw new ApiException(formLimitError.get("desc")); - } - - // 检查会员填写次数限制 - const memberLimitError: Record = checkMemberWriteLimitNum(this.requestContext.memberId, diyFormRecordsParam.formId, writeConfig); - if ((memberLimitError && memberLimitError.length > 0)) { - throw new ApiException(memberLimitError.get("desc")); - } - } - - // 调用核心服务添加记录 - return this.coreDiyFormRecordsService.push(diyFormRecordsParam); - } - - /** - * getResult - */ - async getResult(...args: any[]): Promise { - const diyFormRecords: DiyFormRecords = this.diyFormRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId).eq("member_id", this.requestContext.memberId)); - if (CommonUtils.isEmpty(diyFormRecords)) throw new ApiException("表单记录不存在"); - const vo: DiyFormRecordsInfoVo = new DiyFormRecordsInfoVo(); - BeanUtil.copyProperties(diyFormRecords, vo); - const diyFormSubmitConfig: DiyFormSubmitConfig = this.diyFormSubmitConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }))); - const configInfoVo: DiyFormSubmitConfigInfoVo = new DiyFormSubmitConfigInfoVo(); - if (CommonUtils.isNotEmpty(diyFormSubmitConfig)) { - BeanUtil.copyProperties(diyFormSubmitConfig, configInfoVo); - } - vo.setDiyFormSubmitConfig(configInfoVo); - return vo; - } - - /** - * getFormRecordInfo - */ - async getFormRecordInfo(...args: any[]): Promise { - const diyFormRecords: DiyFormRecords = this.diyFormRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", this.requestContext.siteId).eq("member_id", this.requestContext.memberId)); - const vo: DiyFormRecordsDetailVo = new DiyFormRecordsDetailVo(); - if (CommonUtils.isEmpty(diyFormRecords)) { - return vo; - } - BeanUtil.copyProperties(diyFormRecords, vo); - const list: DiyFormRecordsFields[] = this.diyFormRecordsFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - if (CommonUtils.isNotEmpty(list)) { - const volist: DiyFormRecordsFieldsListVo[] = []; - for (const item of list) { - const diyFormRecordsFieldsListVo: DiyFormRecordsFieldsListVo = new DiyFormRecordsFieldsListVo(); - Object.assign(diyFormRecordsFieldsListVo, item); - volist.push(diyFormRecordsFieldsListVo); - } - vo.setRecordsFieldList(volist); - } - return vo; - } - - /** - * getMemberInfoRecord - */ - async getMemberInfoRecord(...args: any[]): Promise { - const memberConfig: MemberConfigVo = this.coreMemberConfigService.getMemberConfig(this.requestContext.siteId); - if (CommonUtils.isEmpty(memberConfig.formId)) { - return List.of(); - } - const formId: number = memberConfig.formId; - MPJany /* TODO: QueryWrapper */ mpjqw = new MPJQueryWrapper(); - mpjqw.setAlias("fr").leftJoin("?_diy_form_records_fields frf on frf.record_id = fr.record_id".replace("?_", this.appConfig.tablePrefix)); - mpjqw.select("frf.form_id, frf.form_field_id, frf.field_key, frf.field_type, frf.field_name, frf.field_value, frf.field_required, frf.field_unique, frf.privacy_protection"); - mpjqw.eq("fr.member_id", this.requestContext.memberId) - .eq("fr.form_id", formId) - .orderByDesc("fr.create_time"); - const diyFormRecordsFields: DiyFormRecordsFields[] = diyFormRecordsMapper.selectJoinList(DiyFormRecordsFields.class, mpjqw); - - MPJany /* TODO: QueryWrapper */ diyFormMpjqw = new MPJQueryWrapper(); - diyFormMpjqw.setAlias("df") - .leftJoin("?_diy_form_fields dfi on dfi.form_id = df.form_id".replace("?_", this.appConfig.tablePrefix)); - diyFormMpjqw.select("df.form_id,df.type, dfi.field_id, dfi.field_key, dfi.field_type, dfi.field_name, dfi.field_required, dfi.field_hidden, dfi.field_unique, dfi.privacy_protection"); - diyFormMpjqw.eq("df.form_id", formId).eq("df.status", 1); - const diyFormFields: DiyFormFields[] = diyFormMapper.selectJoinList(DiyFormFields.class, diyFormMpjqw); - - - if (CommonUtils.isEmpty(diyFormFields)) { - return List.of(); - } - if (CommonUtils.isEmpty(diyFormRecordsFields)) { - return setResult(diyFormFields); - } - - const result: DiyMemberRecordVo = setResult(diyFormFields); - const fieldMap: Record = diyFormRecordsFields.collect(/* Collectors已删除 */.toMap(DiyFormRecordsFields::getFieldKey, field => field)); - for (const field of result.getFormField()) { - if (fieldMap.containsKey(field.getFieldKey())) { - field.setFieldValue(fieldMap.get(field.getFieldKey()).getFieldValue() == null ? "" : fieldMap.get(field.getFieldKey()).getFieldValue()); - } - } - return result; - } - - /** - * editRecord - */ - async editRecord(...args: any[]): Promise { - const diyFormRecords: DiyFormRecords = diyFormRecordsMapper.selectById(param.getRecordId()); - if (CommonUtils.isEmpty(diyFormRecords)) { - throw new ApiException("表单记录不存在"); - } - const diyForm: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq(DiyForm::getFormId, param.formId)); - if (CommonUtils.isEmpty(diyForm)) { - throw new ApiException("表单不存在"); - } - if (diyForm.status == 0) { - throw new ApiException("该表单已关闭"); - } - // 查询表单填写配置 - any /* TODO: QueryWrapper */ writeConfigQueryWrapper = new QueryWrapper(); - writeConfigQueryWrapper.eq("form_id", param.formId) - .eq("site_id", this.requestContext.siteId); - const writeConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (writeConfig != null) { - // 检查会员是否可以参与 - const canJoinError: Record = checkMemberCanJoinOrNot(this.requestContext.memberId, writeConfig); - if ((canJoinError && canJoinError.length > 0)) { - throw new ApiException(canJoinError.get("desc")); - } - - // 检查表单填写时间 - const timeError: Record = checkFormWriteTime(writeConfig); - if ((timeError && timeError.length > 0)) { - throw new ApiException(timeError.get("desc")); - } - - // 检查表单总填写次数限制 - const formLimitError: Record = checkFormWriteLimitNum(param.formId, writeConfig); - if ((formLimitError && formLimitError.length > 0)) { - throw new ApiException(formLimitError.get("desc")); - } - - // 检查会员填写次数限制 - const memberLimitError: Record = checkMemberWriteLimitNum(this.requestContext.memberId, param.formId, writeConfig); - if ((memberLimitError && memberLimitError.length > 0)) { - throw new ApiException(memberLimitError.get("desc")); - } - } - this.coreDiyFormRecordsService.edit(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-service-impl.service.ts deleted file mode 100644 index d532f766..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/diy/impl/diy-service-impl.service.ts +++ /dev/null @@ -1,163 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class DiyServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * info - */ - async info(...args: any[]): Promise { - const id: number = ObjectUtil.defaultIfNull(param.id, 0); - const name: string = ObjectUtil.defaultIfNull(path.basename(param), ""); - - log.info("id: {}, name: {}", id, name); - - const startUpPage: StartUpPageConfigVo = null; - const template: Record = null; - - if (!StrUtil.isEmpty(name)) { - // 查询启动页 - startUpPage = this.coreDiyConfigService.getStartUpPageConfig(param.siteId(), name); - log.info("startUpPage: {}", JSONUtil.toJsonStr(startUpPage)); - - const templateParam: TemplateParam = new TemplateParam(); - const key: string[] = { name }; - templateParam.key = key; - template = TemplateEnum.getTemplate(templateParam).getRecord(name); - } - - if (id == 0 && startUpPage != null && template != null && !startUpPage.page === template.getStr("page")) { - log.info("enter if, template: {}", template.toString()); - return startUpPage; - } else { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", param.siteId()); - log.info("site_id: {}",param.siteId() ); - - const info: DiyPage = null; - - log.info("id: {}, name: {}", id, name); - if (id > 0) { - queryWrapper.eq("id", id); - info = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - } else if ((name && name.length > 0)) { - queryWrapper.eq("name", name); - queryWrapper.eq("is_default", 1); - queryWrapper.orderByDesc("create_time"); - queryWrapper.last("limit 1"); - info = this.diyPageRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - log.info("info: {}", JSONUtil.toJsonStr(info)); - - if (info == null) { - if ((name && name.length > 0)) { - const pageData: Record = getFirstPageData(name, ""); - if (pageData != null) { - info = new DiyPage(); - info.id = param.siteId(); - info.title = pageData.getStr("title"); - info.name = pageData.getStr("type"); - info.type = pageData.getStr("type"); - info.setTemplate(pageData.getStr("template")); - info.setMode(pageData.getStr("mode")); - info.value = pageData.getRecord("data".toString()); - info.setIsDefault(1); - } - } - } - - log.info("info: {}", JSONUtil.toJsonStr(info)); - if (info == null) return null; - - const vo: DiyInfoVo = new DiyInfoVo(); - Object.assign(vo, info); - log.info("vo: {}", JSONUtil.toJsonStr(vo)); - return vo; - } - } - - /** - * getFirstPageData - */ - async getFirstPageData(...args: any[]): Promise { - const pages: Record = PagesEnum.getPagesByAddon(type, addon); - if (pages == null || pages.keySet().size() == 0) return null; - - const template: string = pages.keySet().iterator().next(); - const data: Record = pages.getRecord(template); - data.set("type", type); - data.set("template", template); - - return data; - } - - /** - * tabbar - */ - async tabbar(...args: any[]): Promise { - const diyTabbarVo: DiyTabbarVo = null; - return diyTabbarVo; - } - - /** - * tabbarList - */ - async tabbarList(...args: any[]): Promise { - const list: BottomConfigVo[] = this.coreDiyConfigService.getBottomList(); - const site: SiteInfoVo = this.coreSiteService.getSiteCache(param.siteId()); - - const tabbarList: BottomConfigVo[] = []; - for (const item of list) { - if (item.key === "app" && list.length > 1 && site.getApps().size() == 1) continue; - const config: BottomConfigVo = this.coreDiyConfigService.getBottomConfig(param.siteId(), item.key); - tabbarList.push(config); - } - - return tabbarList; - } - - /** - * share - */ - async share(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id,title,name,page,share,is_share"); - queryWrapper.eq("page", param.getRoute()); - queryWrapper.eq("site_id", param.siteId()); - - const diyRoute: DiyRoute = this.diyRouteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (diyRoute == null || diyRoute.getShare().isEmpty()) return new Record(); - - const share: Record = JsonUtils.parseObject(diyRoute.getShare()); - share.set("route", diyRoute.page); - share.set("query", ""); - - const query: Record = new Record(); - - if (param.getParams() != null && !param.getParams().isEmpty()) { - query = JsonUtils.parseObject(param.getParams()); - } - - if (param.memberId() != null && param.memberId() > 0) { - query.set("mid", param.memberId()); - } - - const queryStr: string = ""; - if (query.keySet().size() > 0) { - for (const key of query.keySet()) { - queryStr += (!queryStr || queryStr.length === 0) ? key + "=" + query.getStr(key) : "&" + key + "=" + query.getStr(key); - } - } - share.set("url", share.getStr("route") + ((!queryStr || queryStr.length === 0) ? "" : "?" + queryStr)); - - return share; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/auth-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/auth-service-impl.service.ts deleted file mode 100644 index baf19252..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/auth-service-impl.service.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Injectable, UnauthorizedException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class AuthServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * checkSite - */ - async checkSite(...args: any[]): Promise { - const siteId: number = RequestUtils.apiSiteId(); - - if (siteId == 0) { - const site: Site = this.siteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_domain", RequestUtils.getRequestDomain())); - if (site == null) throw new UnauthorizedException("站点不存在", 403); - siteId = site.siteId; - } - - const siteInfoVo: SiteInfoVo = this.coreSiteService.getSiteCache(siteId); - if(CommonUtils.isEmpty(siteInfoVo)){ - throw new UnauthorizedException("站点不存在", 403); - } - const rule: string = RequestUtils.getReqeustURI(); - if (rule !== "site"){ - if(siteInfoVo.status == SiteStatusEnum.CLOSE.getCode() || siteInfoVo.getExpireTime() < DateUtils.currTime()){ - throw new UnauthorizedException("站点已停止", 402); - } - } - RequestUtils.siteId = siteId; - } - - /** - * checkSiteAuth - */ - async checkSiteAuth(...args: any[]): Promise { - if(ObjectUtil.isNotNull(this.requestContext.memberId) && this.requestContext.memberId>0){ - const memberInfoParam: MemberInfoParam = new MemberInfoParam(); - memberInfoParam.memberId = this.requestContext.memberId; - memberInfoParam.siteId = this.requestContext.siteId; - const memberInfoVo: MemberInfoVo = this.memberService.info(memberInfoParam); - if(ObjectUtil.isNull(memberInfoVo) || CommonUtils.isEmpty(memberInfoVo)){ - // 退出登录 - StpUtil.logout(RequestUtils.apiToken()); - throw new UnauthorizedException("MEMBER_NOT_EXIST", 401); - } - } - } - - /** - * checkChannel - */ - async checkChannel(...args: any[]): Promise { - const channel: string = RequestUtils.channel(); - const siteId: number = this.requestContext.siteId; - if (channel != null){ - if (channel === ChannelEnum.H5.getCode()){ - const h5ConfigVo: H5ConfigVo = this.coreH5Service.getH5(siteId); - const isOpen: number = h5ConfigVo.getIsOpen(); - if(isOpen==0){ - throw new UnauthorizedException("站点已停止", 402); - } - }else if (channel === ChannelEnum.PC.getCode()){ - const pcConfigVo: PcConfigVo = this.corePcService.getPc(siteId); - const isOpen: number = pcConfigVo.getIsOpen(); - if(isOpen==0){ - throw new UnauthorizedException("站点已停止", 402); - } - } - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/login-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/login-service-impl.service.ts deleted file mode 100644 index 6ad20292..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/login-service-impl.service.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class LoginServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setRegisterService - */ - async setRegisterService(...args: any[]): Promise { - this.registerService = registerService; - } - - /** - * account - */ - async account(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).and(i => i.eq("username", param.getUsername()).or().eq("mobile", param.getUsername()))); - - if (ObjectUtil.isNull(member)) throw new BadRequestException("账号不存在"); - if (!PasswordEncipher.matche(param.getPassword(), member.getPassword())) throw new BadRequestException("账号或密码错误"); - member.setLoginType(MemberLoginTypeEnum.USERNAME.type); - - return this.login(member); - } - - /** - * mobile - */ - async mobile(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - - if (member != null) { - member.setLoginType(MemberLoginTypeEnum.MOBILE.type); - return this.login(member); - } else { - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - // 开启强制绑定手机号 登录会自动注册 - if (config.getIsBindMobile() == 1) { - const registerParam: MobileRegisterParam = new MobileRegisterParam(); - Object.assign(registerParam, param); - return this.registerService.mobile(registerParam); - } - } - throw new BadRequestException("账号不存在"); - } - - /** - * login - */ - async login(...args: any[]): Promise { - member = memberMapper.selectById(member.memberId); - if (StatusEnum.OFF === member.status) throw new BadRequestException("账号被锁定"); - - member.setLoginTime(Date.now() / 1000); - member.setLoginIp(RequestUtils.ip()); - member.setLoginCount(member.getLoginCount() + 1); - member.setLoginChannel(RequestUtils.channel()); - if (member.getLoginType() != null) member.setLoginType(member.getLoginType()); - member.setLastVisitTime(Date.now() / 1000); - this.memberMapper.updateById(member); - - const loginModel: SaLoginModel = SaLoginModel.create(); - loginModel.setDevice(RequestUtils.handler().getHeader("User-Agent")); - loginModel.setExtra("memberId", member.memberId); - loginModel.setExtra("username", member.getUsername()); - loginModel.setExtra("siteId", member.siteId); - // 执行登录 - StpUtil.login("member-" + member.memberId, loginModel); - // 获取返回内容 - const saTokenInfo: SaTokenInfo = StpUtil.getTokenInfo(); - - const vo: LoginVo = new LoginVo(); - vo.setToken(saTokenInfo.getTokenValue()); - vo.setExpiresTime(DateUtils.currTime()+saTokenInfo.getTokenTimeout()); - vo.setMobile(member.getMobile()); - - // 会员登录事件 - const loginEvent: MemberLoginEvent = new MemberLoginEvent(); - loginEvent.siteId = this.requestContext.siteId; - loginEvent.addAppSign("core"); - loginEvent.name = "MemberLoginEvent"; - loginEvent.setMember(member); - EventPublisher.publishEvent(loginEvent); - - return vo; - } - - /** - * resetPassword - */ - async resetPassword(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", param.getMobile()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNull(member)) throw new BadRequestException("当前填写的手机号不存在账号"); - - member.setPassword(PasswordEncipher.encode(param.getPassword())); - this.memberMapper.updateById(member); - } - - /** - * getLoginConfig - */ - async getLoginConfig(...args: any[]): Promise { - return this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - } - - /** - * sendMobileCode - */ - async sendMobileCode(...args: any[]): Promise { - const key: string = RandomUtil.randomString(30); - - const cache: MobileCodeCacheVo = new MobileCodeCacheVo(); - cache.setMobile(param.getMobile()); - cache.setCode(String.format("%0" + 4 + "d", RandomUtil.randomInt(1, 9999))); - cache.type = param.type; - - const data: Record = {}; - data.put("mobile", param.getMobile()); - data.put("code", cache.getCode()); - - this.coreNoticeService.send(param.siteId(), "member_verify_code", data); - - this.cached.put(key, cache, 600); - - const vo: SendMobileCodeVo = new SendMobileCodeVo(); - vo.key = key; - return vo; - } - - /** - * logout - */ - async logout(...args: any[]): Promise { - StpUtil.logout(); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/register-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/register-service-impl.service.ts deleted file mode 100644 index e42334ee..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/login/impl/register-service-impl.service.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class RegisterServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * checkLoginConfig - */ - async checkLoginConfig(...args: any[]): Promise { - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - if (MemberLoginTypeEnum.USERNAME.type === type && config.getIsUsername() != 1) throw new BadRequestException("未开启账号登录注册"); - if (MemberLoginTypeEnum.MOBILE.type === type && config.getIsMobile() != 1) throw new BadRequestException("未开启手机验证码登录注册"); - } - - /** - * account - */ - async account(...args: any[]): Promise { - const memberExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("username", param.getUsername()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(memberExist)) throw new BadRequestException("账号已存在"); - - if (!param.getMobile().isEmpty()) { - const mobileExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", param.getMobile()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(mobileExist)) throw new BadRequestException("当前手机号已绑定账号"); - this.checkMobileCode(param.getMobile(), param.getMobileKey(), param.getMobileCode()); - } - - const member: Member = new Member(); - member.setUsername(param.getUsername()); - member.setNickname(param.getUsername()); - member.setPassword(PasswordEncipher.encode(param.getPassword())); - member.setMobile(param.getMobile()); - member.setRegisterType(MemberRegisterTypeEnum.USERNAME.type); - member.setLoginType(MemberLoginTypeEnum.USERNAME.type); - member.setPid(param.getPid()); - - return this.register(member); - } - - /** - * mobile - */ - async mobile(...args: any[]): Promise { - const memberExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", param.getMobile()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(memberExist)) throw new BadRequestException("账号已存在"); - - const member: Member = new Member(); - member.setMobile(param.getMobile()); - member.setNickname(param.getMobile().substring(0, 3) + "****" + param.getMobile().substring(7)); - member.setRegisterType(MemberRegisterTypeEnum.MOBILE.type); - member.setLoginType(MemberLoginTypeEnum.MOBILE.type); - member.setPid(param.getPid()); - member.setHeadimg(ObjectUtil.defaultIfNull(param.getAvatar(), "")); - member.setNickname(ObjectUtil.defaultIfNull(param.getNickname(), "")); - member.setWxOpenid(ObjectUtil.defaultIfNull(param.getOpenid(), "")); - - return this.register(member); - } - - /** - * register - */ - async register(...args: any[]): Promise { - const request: HttpServletRequest = RequestUtils.handler(); - const pid: number = ObjectUtil.defaultIfNull(member.getPid(), 0); - if (pid > 0) { - const inviteMember: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_id", member.getPid()).eq("site_id", this.requestContext.siteId)); - if (inviteMember == null) member.setPid(0); - } - if (member.getMobile() != null && !member.getMobile().isEmpty()) { - const mobile: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", member.getMobile()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(mobile)) throw new BadRequestException("账号已存在"); - } - - if (CommonUtils.isEmpty(member.getNickname())) { - if (CommonUtils.isNotEmpty(member.getUsername())) { - member.setNickname(member.getUsername()); - } else if (CommonUtils.isNotEmpty(member.getMobile())) { - member.setNickname(member.getMobile().substring(0, 3) + "****" + member.getMobile().substring(7)); - } else { - member.setNickname(createName()); - } - } - - member.siteId = this.requestContext.siteId; - member.createTime = Date.now( / 1000); - member.setMemberNo(this.coreMemberService.createMemberNo(this.requestContext.siteId)); - member.setRegisterChannel(RequestUtils.channel()); - this.this.memberRepository.save(member); - - // 会员注册事件 - const registerEvent: MemberRegisterEvent = new MemberRegisterEvent(); - registerEvent.siteId = this.requestContext.siteId; - registerEvent.addAppSign("core"); - registerEvent.name = "MemberRegisterEvent"; - registerEvent.setMember(member); - EventPublisher.publishEvent(registerEvent); - - return this.loginService.login(member); - } - - /** - * checkMobileCode - */ - async checkMobileCode(...args: any[]): Promise { - if ((!mobile || mobile.length === 0)) throw new BadRequestException("手机号必须填写"); - const request: HttpServletRequest = RequestUtils.handler(); - if (CommonUtils.isEmpty(mobileKey) || CommonUtils.isEmpty(mobileCode)) throw new BadRequestException("手机验证码有误"); - const cache: Object = cached.get(mobileKey); - if (ObjectUtil.isNull(cache)) throw new BadRequestException("手机验证码有误"); - const vo: MobileCodeCacheVo = new MobileCodeCacheVo(); - Object.assign(vo, cache); - if (!vo.getMobile() === mobile || !vo.getCode() === mobileCode) throw new BadRequestException("手机验证码有误"); - cached.remove(mobileKey); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-account-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-account-service-impl.service.ts deleted file mode 100644 index b70de794..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-account-service-impl.service.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class MemberAccountServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * accountRecords - */ - async accountRecords(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id"); - queryWrapper.eq("member_id", param.memberId()); - if (StrUtil.isNotEmpty(param.getAccountType())) { - queryWrapper.eq("account_type", param.getAccountType()); - } - if (StrUtil.isNotEmpty(param.getFromType())) { - queryWrapper.eq("from_type", param.getFromType()); - } - if (CommonUtils.isNotEmpty(param.createTime)) { - QueryMapperUtils.buildByTime(queryWrapper, "create_time", param.createTime); - } - const count: number = this.this.memberAccountLogRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - return count; - } - - /** - * getAccountSource - */ - async getAccountSource(...args: any[]): Promise { - const jsonObject: Record = JsonModuleLoader.build().mergeResultElement("account_change_type.json"); - const accountTypeObject: Record = jsonObject.getRecord(param.getAccountType()); - if (accountTypeObject == null) { - throw new BaseException("MEMBER_TYPE_NOT_EXIST"); - } - return accountTypeObject; - } - - /** - * pointCount - */ - async pointCount(...args: any[]): Promise { - const accountPointCountVo: AccountPointCountVo = new AccountPointCountVo(); - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("point,point_get"); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - const member: Member = this.this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (member == null) { - throw new BaseException("会员不存在"); - } - if (member.getPoint() != null) { - accountPointCountVo.setPoint(member.getPoint()); - } - if (member.getPointGet() != null) { - accountPointCountVo.setPointGet(member.getPointGet()); - } - - const accountLog: MemberAccountLog = this.memberAccountLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("member_id", param.memberId()) - .eq("account_type", AccountTypeEnum.POINT.type) - .lt("account_data", 0) - .select("SUM(account_data) AS account_data") - .groupBy("member_id") - ); - if (accountLog != null) { - accountPointCountVo.setUse(Math.abs(accountLog.getAccountData().doubleValue())); - } - return accountPointCountVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-address-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-address-service-impl.service.ts deleted file mode 100644 index 92741915..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-address-service-impl.service.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class MemberAddressServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * add - */ - async add(...args: any[]): Promise { - // 校验区域有效性 - // this.checkAndFillAddressValue(param); - // 默认地址设定 - if (param.getIsDefault() != null && param.getIsDefault() == 1) { - try { - this.deleteDefaultAddress(param.memberId()); - } catch (e) { - log.error("更新会员默认地址数据库操作错误:", e.message); - throw new BaseException("添加会员收货地址错误."); - } - } - // 插入实体表 - const newMemberAddress: MemberAddress = CollectUtils.build(param, MemberAddress.class); - // 前置业务条件 - newMemberAddress.siteId = param.siteId(); - newMemberAddress.memberId = param.memberId(); - // 插入显式的设置为空 - newMemberAddress.id = null; - const result: number = this.this.memberAddressRepository.save(newMemberAddress); - if (result <= 0) { - throw new BaseException("添加会员收货地址失败."); - } - return result; - } - - /** - * delete - */ - async delete(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - queryWrapper.eq("id", param.id); - const result: number = this.this.memberAddressRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (result == 0) { - throw new BaseException("删除会员收货地址失败."); - } - return result; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - // 校验区域有效性 - // this.checkAndFillAddressValue(param); - // 默认地址设定 - if (param.getIsDefault() != null && param.getIsDefault() == 1) { - try { - deleteDefaultAddress(param.memberId()); - } catch (e) { - log.error("更新会员默认地址数据库操作错误:", e.message); - throw new BaseException("添加会员收货地址错误."); - } - } - // 存在校验 - const oldMemberAddress: MemberAddress = this.getMemberAddress(param.siteId(), param.memberId(), param.id); - if (oldMemberAddress == null) { - throw new BaseException("[" + oldMemberAddress.id + "]会员收货地址不存在"); - } - // 修改实体表 - const newMemberAddress: MemberAddress = CollectUtils.build(param, MemberAddress.class); - newMemberAddress.id = oldMemberAddress.id; - return this.memberAddressMapper.updateById(newMemberAddress); - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - const memberAddress: MemberAddress = this.getMemberAddress(param.siteId(), param.memberId(), param.id); - const memberAddressGetInfoVo: MemberAddressGetInfoVo = new MemberAddressGetInfoVo(); - Object.assign(memberAddressGetInfoVo, memberAddress); - return memberAddressGetInfoVo; - } - - /** - * getList - */ - async getList(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id,member_id,name,mobile,address,address_name,full_address,is_default,lng,lat"); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - queryWrapper.orderByDesc(["is_default", "id"]); - const memberAddressList: MemberAddress[] = this.memberAddressRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const memberAddressListInfoVo: MemberAddressListInfoVo[] = CollectUtils.convert(memberAddressList, MemberAddressListInfoVo.class); - return memberAddressListInfoVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-cash-out-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-cash-out-service-impl.service.ts deleted file mode 100644 index 5ec1ebfe..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-cash-out-service-impl.service.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberCashOutServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * cashOutInfo - */ - async cashOutInfo(...args: any[]): Promise { - const vo: MemberCashOutInfoVo = memberCashOutMapper.selectJoinOne( - MemberCashOutInfoVo.class, - new MPJany /* TODO: QueryWrapper */() - .select("mco.*,m.member_no,m.username,m.nickname,m.mobile,m.headimg,pt.transfer_voucher,pt.transfer_remark,pt.extra,pt.package_info") - .eq("mco.id", param.id) - .eq("mco.member_id", param.memberId()) - .eq("mco.site_id", param.siteId()) - .setAlias("mco") - .leftJoin("?_member m ON mco.member_id = m.member_id".replace("?_", this.appConfig.tablePrefix)) - .leftJoin("?_pay_transfer pt ON mco.transfer_no = pt.transfer_no".replace("?_", this.appConfig.tablePrefix)) - ); - - if (vo != null) { - MemberCashOutInfoVo.const transfer: Transfer = new MemberCashOutInfoVo.Transfer(); - transfer.setTransferNo(vo.getTransferNo()); - transfer.setTransferRemark(vo.getTransferRemark()); - transfer.setTransferVoucher(vo.getTransferVoucher()); - transfer.setExtra(vo.getExtra()); - transfer.setPackageInfo(vo.getPackageInfo()); - vo.setTransfer(transfer); - } - - return vo; - } - - /** - * cashOutConfig - */ - async cashOutConfig(...args: any[]): Promise { - return this.coreMemberConfigService.getCashOutConfig(param.siteId()); - } - - /** - * transferMethod - */ - async transferMethod(...args: any[]): Promise { - return TransferTypeEnum.getMap(); - } - - /** - * cashOutApply - */ - async cashOutApply(...args: any[]): Promise { - param.memberId = this.requestContext.memberId; - param.siteId = this.requestContext.siteId; - return this.coreMemberCashOutService.apply(param); - } - - /** - * cashOutCancel - */ - async cashOutCancel(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", param.siteId()) - .eq("id", param.id)); - if (CommonUtils.isEmpty(cashOut)) throw new BadRequestException("提现申请不存在"); - - this.coreMemberCashOutService.cancel(cashOut.siteId, cashOut.id); - return true; - } - - /** - * transfer - */ - async transfer(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", this.requestContext.siteId) - .eq("id", param.id)); - if (CommonUtils.isEmpty(cashOut)) throw new BadRequestException("提现申请不存在"); - if (!cashOut.status === MemberCashOutStatusEnum.WAIT_TRANSFER.status) throw new BadRequestException("当前提现申请未处于待转账状态"); - - return this.coreMemberCashOutService.transfer(cashOut, param); - } - - /** - * accountList - */ - async accountList(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("account_id,site_id,member_id,account_type,bank_name,realname,account_no,transfer_payment_code"); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - if (CommonUtils.isNotEmpty(param.getAccountType())) queryWrapper.eq("account_type", param.getAccountType()); - queryWrapper.orderByDesc(["create_time"]); - [MemberCashOutAccount[], number] iPage = this.this.memberCashOutAccountRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const dataList: MemberCashOutAccountVo[] = CollectUtils.convert(iPageRecords, MemberCashOutAccountVo.class); - return PageResult.build(page, limit, iPageTotal).setData(dataList); - } - - /** - * accountDetails - */ - async accountDetails(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("account_id,site_id,member_id,account_type,bank_name,realname,account_no,transfer_payment_code"); - queryWrapper.eq("account_id", param.getAccountId()); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - const memberCashOutAccount: MemberCashOutAccount = this.this.memberCashOutAccountRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - const memberCashOutAccountDetailsVo: MemberCashOutAccountDetailsVo = new MemberCashOutAccountDetailsVo(); - Object.assign(memberCashOutAccountDetailsVo, memberCashOutAccount); - return memberCashOutAccountDetailsVo; - } - - /** - * accountDetailsOfFirst - */ - async accountDetailsOfFirst(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("account_id,site_id,member_id,account_type,bank_name,realname,account_no,transfer_payment_code"); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - if (CommonUtils.isNotEmpty(param.getAccountType())) queryWrapper.eq("account_type", param.getAccountType()); - queryWrapper.orderByDesc("create_time"); - queryWrapper.last("limit 1"); - const memberCashOutAccount: MemberCashOutAccount = this.this.memberCashOutAccountRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (memberCashOutAccount == null) return null; - const memberCashOutFirstAccountDetailsVo: MemberCashOutFirstAccountDetailsVo = new MemberCashOutFirstAccountDetailsVo(); - Object.assign(memberCashOutFirstAccountDetailsVo, memberCashOutAccount); - return memberCashOutFirstAccountDetailsVo; - } - - /** - * addAccount - */ - async addAccount(...args: any[]): Promise { - // 构建新的对象,并插入数据库 - const newMemberCashOutAccount: MemberCashOutAccount = new MemberCashOutAccount(); - newMemberCashOutAccount.siteId = param.siteId(); - newMemberCashOutAccount.memberId = param.memberId(); - newMemberCashOutAccount.createTime = Date.now( / 1000); - Object.assign(newMemberCashOutAccount, param); - this.this.memberCashOutAccountRepository.save(newMemberCashOutAccount); - // 返回当前对象的ID - return newMemberCashOutAccount.getAccountId(); - } - - /** - * editAccount - */ - async editAccount(...args: any[]): Promise { - // 根据ID查找实体对象,对象存在即更新数据库 - const oldMemberCashOutAccount: MemberCashOutAccount = this.this.memberCashOutAccountRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("member_id", param.memberId())); - if (oldMemberCashOutAccount == null) { - throw new Error("会员账户不存在"); - } - const newMemberCashOutAccount: MemberCashOutAccount = new MemberCashOutAccount(); - Object.assign(newMemberCashOutAccount, param); - newMemberCashOutAccount.setAccountId(accountId); - newMemberCashOutAccount.updateTime = Date.now( / 1000); - return this.memberCashOutAccountMapper.updateById(newMemberCashOutAccount); - } - - /** - * deleteAccount - */ - async deleteAccount(...args: any[]): Promise { - return this.this.memberCashOutAccountRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("member_id", param.memberId())); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-level-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-level-service-impl.service.ts deleted file mode 100644 index 5ed22587..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-level-service-impl.service.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberLevelServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * findById - */ - async findById(...args: any[]): Promise { - return memberLevelMapper.selectById(id); - } - - /** - * findByIds - */ - async findByIds(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("level_id,level_name"); - queryWrapper.in("id", idSet); - const memberLevelList: MemberLevel[] = this.memberLevelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - return CollectUtils.convert(memberLevelList, MemberLevelSimpleInfoVo.class); - } - - /** - * list - */ - async list(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("level_id,site_id,level_name,growth,remark,level_benefits,level_gifts"); - queryWrapper.eq("site_id", param.siteId()); - const memberLevelList: MemberLevel[] = this.memberLevelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (memberLevelList == null) return null; - - const levelStyle: Record = MemberLevelStyleEnum.getStyle(); - - const filling: Record = new Record(); - filling.put("benefits_one", new Record().set("title", "专属客服").set("desc", "专业服务").set("icon", "/static/resource/images/member/benefits/benefits_kefu.png")); - filling.put("benefits_two", new Record().set("title", "专属徽章").set("desc", "专属徽章").set("icon", "/static/resource/images/member/benefits/benefits_badge.png")); - filling.put("benefits_four", new Record().set("title", "经验累计").set("desc", "经验累计").set("icon", "/static/resource/images/member/benefits/benefits_experience.png")); - filling.put("benefits_three", new Record().set("title", "尊享客服").set("desc", "尊享客服").set("icon", "/static/resource/images/member/benefits/benefits_badge.png")); - - const index: number = 0; - const list: MemberLevelInfoVo[] = []; - for (const level of memberLevelList) { - const vo: MemberLevelInfoVo = new MemberLevelInfoVo(); - Object.assign(vo, level); - - if (CommonUtils.isNotEmpty(level.getLevelBenefits())) { - const benefits: Record = JsonUtils.parseObject(level.getLevelBenefits()); - benefits = this.coreMemberService.getBenefitsContent(param.siteId(), benefits, "member_level"); - vo.setLevelBenefits(benefits); - } else { - vo.setLevelBenefits(filling); - } - - if (vo.getLevelBenefits().size() < 4) { - for (const key of filling.keySet()) { - if (vo.getLevelBenefits().size() == 4) break; - vo.getLevelBenefits().putByPath(key + ".content", filling.get(key)); - } - } - - if (!level.getLevelGifts().isEmpty()) { - const gifts: Record = JsonUtils.parseObject(level.getLevelGifts()); - gifts = this.coreMemberService.getGiftContent(param.siteId(), gifts, "member_level"); - vo.setLevelGifts(gifts); - } - const levelKey: number = index % 7 + 1; - vo.setLevelBg("/static/resource/images/member/level/bg_" + levelKey + ".png"); - vo.setMemberBg("/static/resource/images/member/level/member_" + levelKey + ".png"); - vo.setLevelIcon("/static/resource/images/member/level/level_icon" + levelKey + ".png"); - vo.setLevelTag("/static/resource/images/member/level/level_" + levelKey + ".png"); - vo.setLevelStyle(levelStyle.getRecord("level_" + levelKey)); - - list.push(vo); - index++; - } - - return list; - } - - /** - * findMemberLevel - */ - async findMemberLevel(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("m") - .leftJoin("?_member_level ml ON ml.level_id = m.member_level".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("ml.*"); - queryWrapper.eq("m.member_id", memberId); - queryWrapper.ne("m.member_level", 0); - const level: MemberLevel = memberMapper.selectJoinOne(MemberLevel.class, queryWrapper); - if (level == null) return null; - - const vo: MemberLevelInfoVo = new MemberLevelInfoVo(); - Object.assign(vo, level); - - if (CommonUtils.isNotEmpty(level.getLevelBenefits()) && JSONUtil.isJson(level.getLevelBenefits())) vo.setLevelBenefits(JsonUtils.parseObject(level.getLevelBenefits())); - if (CommonUtils.isNotEmpty(level.getLevelGifts()) && JSONUtil.isJson(level.getLevelGifts())) vo.setLevelGifts(JsonUtils.parseObject(level.getLevelGifts())); - - return vo; - } - - /** - * getMobile - */ - async getMobile(...args: any[]): Promise { - try { - const phoneInfo: WxMaPhoneNumberInfo = WechatUtils.miniapp(this.requestContext.siteId).getUserService().getPhoneNoInfo(mobileCode); - const mobile: string = phoneInfo.getPurePhoneNumber(); - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", mobile).eq("site_id", this.requestContext.siteId)); - if (member != null) throw new BadRequestException("当前手机号已绑定账号"); - - const vo: MemberGetMobileVo = new MemberGetMobileVo(); - vo.setMobile(mobile); - return vo; - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-service-impl.service.ts deleted file mode 100644 index 85c51b0e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-service-impl.service.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * info - */ - async info(...args: any[]): Promise { - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - queryWrapper.setAlias("m") - .leftJoin("?_member_level ml ON ml.level_id = m.member_level".replace("?_", this.appConfig.tablePrefix)); - queryWrapper.select("member_id, m.site_id, username, member_no, mobile, register_channel, nickname, headimg, member_level, member_label, login_ip, login_type, login_time, m.create_time, last_visit_time, last_consum_time, sex, m.status, birthday, point, balance, m.growth, is_member, member_time, is_del, province_id, city_id, district_id, address, location, money, money_get, wx_openid, weapp_openid, commission, commission_get, commission_cash_outing, ml.level_name as member_level_name"); - queryWrapper.eq("member_id", param.memberId()); - // SAAS域控制(交给SQL引擎处理) - queryWrapper.eq("m.site_id", param.siteId()); - const memberInfoVo: MemberInfoVo = memberMapper.selectJoinOne(MemberInfoVo.class, queryWrapper); - if (CommonUtils.isNotEmpty(memberInfoVo)){ - const memberConfig: MemberConfigVo = this.coreMemberConfigService.getMemberConfig(memberInfoVo.siteId); - memberInfoVo.setFormId(memberConfig.formId == null ? "" : memberConfig.formId.toString()); - memberInfoVo.setFormRecordId(""); - if (StringUtils.isNotEmpty(memberInfoVo.formId)){ - const diyFormRecords: DiyFormRecords = this.diyFormRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(DiyFormRecords::getFormId, memberConfig.formId) - .eq(DiyFormRecords::getMemberId, memberInfoVo.memberId) - .orderByDesc(DiyFormRecords::getCreateTime)); - if (CommonUtils.isNotEmpty(diyFormRecords)){ - memberInfoVo.setFormRecordId(diyFormRecords.getRecordId().toString()); - } - } - } - return memberInfoVo; - } - - /** - * center - */ - async center(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("member_id, site_id, username, member_no, mobile, register_channel, nickname, headimg, member_level, member_label, login_ip, login_type, login_time, create_time, last_visit_time, last_consum_time, sex, status, birthday, point, balance, growth, is_member, member_time, is_del, province_id, city_id, district_id, address, location, money, money_get, commission, commission_get, commission_cash_outing"); - queryWrapper.eq("member_id", param.memberId()); - queryWrapper.eq("site_id", param.siteId()); - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (member == null) { - return null; - } - - const memberCenterVo: MemberCenterVo = new MemberCenterVo(); - Object.assign(memberCenterVo, member); - return memberCenterVo; - } - - /** - * modify - */ - async modify(...args: any[]): Promise { - const oldMember: Member = this.memberMapper.selectById(param.memberId()); - if (!oldMember) throw new BadRequestException("会员不存在"); - - const newMember: Member = new Member(); - newMember.memberId = oldMember.memberId; - - switch (param.getField()) { - case "nickname": - newMember.setNickname(String(param.value)); - break; - case "headimg": - newMember.setHeadimg(String(param.value)); - break; - case "member_label": - newMember.setMemberLabel(String(param.value)); - break; - case "member_level": - newMember.setMemberLevel(number.parseInt(String(param.value))); - break; - case "birthday": - newMember.setBirthday(String(param.value)); - break; - case "sex": - newMember.setSex(number.parseInt(String(param.value))); - break; - default: - throw new BadRequestException("不允许修改的信息"); - } - return this.memberMapper.updateById(newMember); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const oldMember: Member = this.memberMapper.selectById(param.memberId()); - if (!oldMember) throw new BadRequestException("会员不存在"); - - const newMember: Member = new Member(); - newMember.memberId = oldMember.memberId; - if (CommonUtils.isNotEmpty(param.data.getNickname())) newMember.setNickname(param.data.getNickname()); - if (CommonUtils.isNotEmpty(param.data.getHeadimg())) newMember.setHeadimg(param.data.getHeadimg()); - if (CommonUtils.isNotEmpty(param.data.getBirthday())) newMember.setBirthday(param.data.getBirthday()); - if (CommonUtils.isNotEmpty(param.data.getSex())) newMember.setSex(param.data.getSex()); - if (CommonUtils.isNotEmpty(param.data.getLastVisitTime())) newMember.setLastVisitTime(param.data.getLastVisitTime()); - return this.memberMapper.updateById(newMember); - } - - /** - * mobile - */ - async mobile(...args: any[]): Promise { - const oldMember: Member = this.memberMapper.selectById(param.memberId()); - if (!oldMember) throw new BadRequestException("会员不存在"); - - if (CommonUtils.isNotEmpty(param.getMobile())) { - this.registerService.checkMobileCode(param.getMobile(), param.getMobileKey(), param.getMobileCode()); - } else if (CommonUtils.isNotEmpty(param.getMobileCode())) { - try { - const phoneInfo: WxMaPhoneNumberInfo = WechatUtils.miniapp(this.requestContext.siteId).getUserService().getPhoneNoInfo(param.getMobileCode()); - param.setMobile(phoneInfo.getPurePhoneNumber()); - } catch (e) { - throw new BadRequestException(e.message); - } - } else { - throw new BadRequestException("手机号不存在"); - } - - const mobileExist: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("mobile", param.getMobile()).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(mobileExist)) throw new BadRequestException("当前手机号已绑定账号"); - - const newMember: Member = new Member(); - newMember.memberId = param.memberId(); - newMember.setMobile(param.getMobile()); - - return this.memberMapper.updateById(newMember); - } - - /** - * log - */ - async log(...args: any[]): Promise { - const updateMember: Member = new Member(); - updateMember.memberId = param.memberId(); - updateMember.setLastVisitTime(DateUtils.currTime()); - this.memberMapper.updateById(updateMember); - return 1; - } - - /** - * qrcode - */ - async qrcode(...args: any[]): Promise { - return null; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-sign-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-sign-service-impl.service.ts deleted file mode 100644 index 91dc96e4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/member/impl/member-sign-service-impl.service.ts +++ /dev/null @@ -1,256 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class MemberSignServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * signRecord - */ - async signRecord(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - const queryWrapper: QueryWrapper = new QueryWrapper(); - queryWrapper.select("sign_id, site_id, member_id, days, day_award, continue_award, continue_tag, create_time, is_sign"); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - queryWrapper.orderByDesc(["create_time"]); - - [MemberSign[], number] iPage = this.this.memberSignRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const dataList: MemberSignRecordVo[] = CollectUtils.convert(iPageRecords, MemberSignRecordVo.class); - return PageResult.build(page, limit, iPageTotal).setData(dataList); - } - - /** - * signDetails - */ - async signDetails(...args: any[]): Promise { - const queryWrapper: QueryWrapper = new QueryWrapper(); - queryWrapper.select("sign_id, site_id, member_id, days, day_award, continue_award, continue_tag, create_time, is_sign"); - queryWrapper.eq("sign_id", param.getSignId()); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("member_id", param.memberId()); - const memberSignList: MemberSign[] = this.this.memberSignRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const memberSignDetailsVo: MemberSignDetailsVo = null; - if (memberSignList != null && memberSignList.length > 0) { - memberSignDetailsVo = new MemberSignDetailsVo(); - Object.assign(memberSignDetailsVo, memberSignList.get(0)); - } - return memberSignDetailsVo; - } - - /** - * signOperate - */ - async signOperate(...args: any[]): Promise { - const signConfig: Record = this.coreConfigService.getConfigValue(this.requestContext.siteId, "SIGN_CONFIG"); - const config: MemberSignConfigVo = Object.assign(new MemberSignConfigVo(), signConfig) /* TODO: 检查MemberSignConfigVo构造函数 */; - - if (!config.getIsUse()) throw new Error("签到未开启"); - - // 获取今天的签到 - const todayMemberSign: MemberSign = this.queryMemberSign(param.siteId(), param.memberId(), DateUtils.getFormatTodayString()); - if (todayMemberSign != null) throw new Error("今日已签到"); - - const vo: MemberSignOperateVo = new MemberSignOperateVo(); - vo.title = "签到成功"; - vo.setInfo("恭喜您获得以下奖励"); - - // 获取昨天的签到 - const yesterdayMemberSign: MemberSign = this.queryMemberSign(param.siteId(), param.memberId(), DateUtils.getFormatYesterdayString()); - - const days: number = 1; - if (yesterdayMemberSign != null) { - //连签天数大于签到周期,连签天数重置为1 - days = yesterdayMemberSign.getDays() + 1; - if (days > config.getSignPeriod()) { - days = 1; - } - if (CommonUtils.isNotEmpty(config.getContinueAward())) { - const continueSigns: JSONArray = config.getContinueAward(); - CollUtil.sort(continueSigns, Comparator.comparing(o => ((Record) o).getInt("continue_sign")).reversed()); - // 获取最大的连签天数 - const maxContinueSign: number = continueSigns.getRecord(0).getInt("continue_sign"); - if (days > maxContinueSign) { - days = 1; - } - } - } - - // 添加签到记录 - const model: MemberSign = new MemberSign(); - model.siteId = param.siteId(); - model.memberId = param.memberId(); - model.setIsSign(1); - model.createTime = Date.now( / 1000); - model.setDays(days); - model.setDayAward(config.getDayAward().toString()); - model.setContinueAward(""); - if (days === 1) model.setStartTime(Date.now() / 1000); - this.memberSignRepository.save(model); - - // 发放日签奖励 - const dayAwardVar: Record = {}; - dayAwardVar.put("from_type", "day_sign_award"); - dayAwardVar.put("memo", "日签奖励"); - this.coreMemberService.memberGiftGrant(param.siteId(), param.memberId(), config.getDayAward(), dayAwardVar); - vo.setAwards(this.coreMemberService.getGiftContent(param.siteId(), config.getDayAward(), "member_sign")); - - // 发放连签奖励 - if (config.getContinueAward().size() > 0) { - const continueAward: Record = null; - for (const i of number = 0; i < config.getContinueAward().size(); i++) { - const item: Record = config.getContinueAward().getRecord(i); - if (item.getInt("continue_sign").equals(days)) { - // 是否限制领取 - if (item.getInt("receive_limit").equals(2)) { - // 周期开始时间 - const periodStartTime: number = this.memberSignRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("member_id", param.memberId()) - .eq("site_id", param.siteId()) - .eq("days", 1) - .gt("start_time", 0) - .orderByDesc("sign_id") - .last("limit 1") - ).getStartTime(); - // 周期结束时间 - const periodEndTime: number = periodStartTime + (config.getSignPeriod() * 86400); - // 领取次数 - const receiveNum: number = this.memberSignRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", param.siteId()) - .between("create_time", periodStartTime, periodEndTime) - .eq("continue_tag", item.getStr("continue_tag")) - ); - if (receiveNum < item.getInt("receive_num")) { - continueAward = item; - } - } else { - continueAward = item; - } - break; - } - } - - if (continueAward != null) { - model.setContinueTag(continueAward.getStr("continue_tag")); - continueAward.remove("continue_sign"); - continueAward.remove("continue_tag"); - continueAward.remove("receive_limit"); - continueAward.remove("receive_num"); - - const continueAwardVar: Record = {}; - continueAwardVar.put("from_type", "continue_sign_award"); - continueAwardVar.put("memo", "连签奖励"); - this.coreMemberService.memberGiftGrant(param.siteId(), param.memberId(), continueAward, continueAwardVar); - - model.setContinueAward(continueAward.toString()); - memberSignMapper.updateById(model); - - vo.setInfo("连签" + days.toString() + "天恭喜您获得以下奖励"); - vo.setAwards(this.coreMemberService.getGiftContent(param.siteId(), continueAward, "member_sign")); - } - } - - return vo; - } - - /** - * signMonthRecord - */ - async signMonthRecord(...args: any[]): Promise { - const vo: MemberSignMonthRecordVo = new MemberSignMonthRecordVo(); - const days: number[] = []; - const period: MemberSignMonthRecordVo.Period[] = []; - - const date: Date = DateUtil.parse(param.getYear() + "-" + param.getMonth() + "-1"); - - const signRecord: MemberSign[] = this.this.memberSignRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })) - .between("create_time", - DateUtil.beginOfMonth(date).getTime() / 1000, - DateUtil.endOfMonth(date).getTime() / 1000) - .orderByAsc("create_time")); - - if (signRecord.length > 0) { - for (const item of signRecord) { - days.push(number.parseInt(DateUtil.format(new Date(item.createTime * 1000), "dd"))); - } - } - - vo.setDays(days); - vo.setPeriod(period); - return vo; - } - - /** - * signDayRecord - */ - async signDayRecord(...args: any[]): Promise { - return null; - } - - /** - * signConfig - */ - async signConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(this.requestContext.siteId, "SIGN_CONFIG"); - const signConfig: MemberSignConfigVo = Object.assign(new MemberSignConfigVo(), config) /* TODO: 检查MemberSignConfigVo构造函数 */; - - if (!signConfig.getDayAward().isEmpty()) { - signConfig.setDayAward(this.coreMemberService.getGiftContent(this.requestContext.siteId, signConfig.getDayAward(), "member_sign")); - } - if (!signConfig.getContinueAward().isEmpty()) { - const continueAward: JSONArray = new JSONArray(); - for (const i of number = 0; i < signConfig.getContinueAward().size(); i++) { - const awardItem: Record = new Record(); - const item: Record = signConfig.getContinueAward().getRecord(i); - awardItem.set("continue_sign", item.get("continue_sign")); - - item.remove("continue_sign"); - item.remove("continue_tag"); - item.remove("receive_limit"); - item.remove("receive_num"); - - const award: Record = this.coreMemberService.getGiftContent(this.requestContext.siteId, item, "member_sign_continue"); - - const content: string[] = []; - const icon: string = ""; - - for (const key of award.keySet()) { - if (award.getRecord(key).get("content") != null) { - content.push(award.getByPath(key + ".content.text", String.class)); - icon = award.getByPath(key + ".content.icon", String.class); - } - } - const gift: Record = new Record(); - if (content.length > 0) { - gift.set("text", String.join("+", content)); - gift.set("icon", content.length > 1 ? "static/resource/images/member/sign/pack01.png" : icon); - } - - awardItem.set("gift", new Record().set("total", gift)); - continueAward.push(awardItem); - } - signConfig.setContinueAward(continueAward); - } - - // 获取今天的签到 - const todayMemberSign: MemberSign = this.queryMemberSign(param.siteId(), param.memberId(), DateUtils.getFormatTodayString()); - signConfig.setIsSign(todayMemberSign == null ? false : true); - - // 获取昨天的签到 - const yesterdayMemberSign: MemberSign = this.queryMemberSign(param.siteId(), param.memberId(), DateUtils.getFormatYesterdayString()); - if (todayMemberSign == null) { - signConfig.setDays(yesterdayMemberSign == null ? 0 : yesterdayMemberSign.getDays()); - } else { - signConfig.setDays(todayMemberSign.getDays()); - } - return signConfig; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/pay/impl/pay-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/pay/impl/pay-service-impl.service.ts deleted file mode 100644 index ac06edbe..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/pay/impl/pay-service-impl.service.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class PayServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * pay - */ - async pay(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setChannel(RequestUtils.channel()); - param.setBuyerId(this.requestContext.memberId); - - if (RequestUtils.channel() === ChannelEnum.WECHAT.getCode() && param.getOpenid().isEmpty()) { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", param.siteId).eq("member_id", this.requestContext.memberId)); - param.setOpenid(ObjectUtil.defaultIfNull(member.getWxOpenid(), "")); - } - if (RequestUtils.channel() === ChannelEnum.WEAPP.getCode() && param.getOpenid().isEmpty()) { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", param.siteId).eq("member_id", this.requestContext.memberId)); - param.setOpenid(ObjectUtil.defaultIfNull(member.getWeappOpenid(), "")); - } - - return this.corePayService.pay(param); - } - - /** - * asyncNotify - */ - async asyncNotify(...args: any[]): Promise { - return this.corePayService.asyncNotify(param, request, response); - } - - /** - * getInfoByTrade - */ - async getInfoByTrade(...args: any[]): Promise { - return this.corePayService.getInfoByTrade(this.requestContext.siteId, tradeType, tradeId, RequestUtils.channel(), scene); - } - - /** - * friendspayInfo - */ - async friendspayInfo(...args: any[]): Promise { - any /* TODO: QueryWrapper */ payQueryWrapper = new QueryWrapper(); - payQueryWrapper.eq("trade_type", tradeType) - .eq("trade_id", tradeId); - const fromPayInfos: Pay[] = this.payRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isEmpty(fromPayInfos) || fromPayInfos.noneMatch(o => o.siteId === this.requestContext.siteId)) { - throw new Error("支付单据不存在"); - } - - const payInfo: GetInfoByTradeVo = getInfoByTrade(tradeType, tradeId, "friendspay"); - if (CommonUtils.isEmpty(payInfo)) { - return new FriendspayInfoVo(); - } - - const vo: FriendspayInfoVo = new FriendspayInfoVo(); - BeanUtil.copyProperties(payInfo, vo); - vo.setConfig(payInfo.config); - vo.setPayTypeList(payInfo.getPayTypeList()); - vo.createTime = DateUtils.timestampToString(payInfo.createTime); - if (payInfo.getPayTime() != 0) { - vo.setPayTime(DateUtils.timestampToString(payInfo.getPayTime())); - } - - if (payInfo.getCancelTime() != 0) { - vo.setCancelTime(DateUtils.timestampToString(payInfo.getCancelTime())); - } - - PayTradeInfoDefiner.const event: PayTradeInfoEvent = new PayTradeInfoDefiner.PayTradeInfoEvent(tradeType, tradeId); - const trades: PayTradeInfoDefiner.PayTradeInfoEventResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - if (CommonUtils.isNotEmpty(trades)) { - vo.setTradeInfo(trades.get(0).getJsonObject()); - } - - vo.setSelf(payInfo.getMainId() === this.requestContext.memberId); - - any /* TODO: QueryWrapper */ posterQueryWrapper = new QueryWrapper(); - posterQueryWrapper.eq("site_id", this.requestContext.siteId) - .eq("type", "friendspay") - .eq("status", 1) - .eq("is_default", 1); - const sysPoster: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isNotEmpty(sysPoster)) { - vo.setPosterId(sysPoster.id); - } - - const member: Member = memberMapper.selectById(payInfo.getMainId()); - vo.setMember(member); - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/base64-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/base64-service-impl.service.ts deleted file mode 100644 index 24ded6b3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/base64-service-impl.service.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class Base64ServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * image - */ - async image(...args: any[]): Promise { - const url: string = this.coreBase64Service.image(content, this.requestContext.siteId); - const base64ImageVo: Base64ImageVo = new Base64ImageVo(); - base64ImageVo.url = url; - console.log("base64ImageVo = " + url); - return base64ImageVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-area-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-area-service-impl.service.ts deleted file mode 100644 index 079c6cb5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-area-service-impl.service.ts +++ /dev/null @@ -1,133 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class SysAreaServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAreaById - */ - async getAreaById(...args: any[]): Promise { - // 缓存分组名称 - const group: string = SysArea.class.getSimpleName(); - // 缓存Key值计算参数 - const paramList: Object[] = [id]; - // 自动缓存 - return cached.rememberObject(useCache, group, paramList, (uniqueKey) => { - const sysArea: SysArea = sysAreaMapper.selectById(id); - log.info("result object => " + sysArea); - return sysArea; - }); - } - - /** - * getListByPid - */ - async getListByPid(...args: any[]): Promise { - // 缓存分组名称 - const group: string = SysAreaListVo.class.getSimpleName(); - // 缓存Key值计算参数 - const paramList: Object[] = [pid]; - // 自动缓存 - const outterSysAreaList: SysAreaListVo[] = cached.remember(useCache, group, paramList, uniqueKey => { - const sysAreaVoList: SysAreaListVo[] = null; - try { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id,name"); - queryWrapper.eq("pid", pid); - const sysAreaList: SysArea[] = this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - sysAreaVoList = CollectUtils.convert(sysAreaList, SysAreaListVo.class); - } catch (e) { - log.error("查询区域错误:", e.message); - throw new BaseException("查询区域错误"); - } - return sysAreaVoList; - }); - return outterSysAreaList; - } - - /** - * getAreaTree - */ - async getAreaTree(...args: any[]): Promise { - if (level == 1) { - // 参数级别:1,返回1级 - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id, pid, name"); - queryWrapper.eq("level", level); - const sysAreaList: SysArea[] = this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - return CollectUtils.convert(sysAreaList, SysAreaLevelVo.class); - } else if (level == 2) { - // 参数级别:2,返回1级包含2级 - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id, pid, name, level"); - queryWrapper.in("level", 1, 2); - const sysAreaList: SysArea[] = this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const sysAreaLevelVoList: SysAreaLevelVo[] = CollectUtils.convert(sysAreaList, SysAreaLevelVo.class); - Map sysAreaMap = ObjectGroupUtils.groupList(sysAreaLevelVoList, "pid"); - return assembleAreaTree(sysAreaLevelVoList, sysAreaMap, 1, 2); - } else if (level == 3) { - // 参数级别:3,返回1级包含2级,2级包含3级 - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("id, pid, name, level"); - queryWrapper.in("level", 1, 2, 3); - const sysAreaList: SysArea[] = this.sysAreaRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - const sysAreaLevelVoList: SysAreaLevelVo[] = CollectUtils.convert(sysAreaList, SysAreaLevelVo.class); - Map sysAreaMap = ObjectGroupUtils.groupList(sysAreaLevelVoList, "pid"); - return assembleAreaTree(sysAreaLevelVoList, sysAreaMap, 1, 3); - } - return []; - } - - /** - * getAreaByAreaCode - */ - async getAreaByAreaCode(...args: any[]): Promise { - const sysArea: SysArea = this.sysAreaMapper.selectById(code); - const jsonObject: Record = new Record(); - if (sysArea != null) { - if (sysArea.getLevel() == 1) { - jsonObject.putOpt("province", convertJsonObject(sysArea)); - } else if (sysArea.getLevel() == 2) { - jsonObject.putOpt("city", convertJsonObject(sysArea)); - const provinceSysArea: SysArea = this.sysAreaMapper.selectById(sysArea.getPid()); - if (provinceSysArea != null) { - jsonObject.putOpt("province", convertJsonObject(provinceSysArea)); - } - } else if (sysArea.getLevel() == 3) { - jsonObject.putOpt("district", convertJsonObject(sysArea)); - const citySysArea: SysArea = this.sysAreaMapper.selectById(sysArea.getPid()); - if (citySysArea != null) { - jsonObject.putOpt("city", convertJsonObject(citySysArea)); - const provinceSysArea: SysArea = this.sysAreaMapper.selectById(citySysArea.getPid()); - if (provinceSysArea != null) { - jsonObject.putOpt("province", convertJsonObject(provinceSysArea)); - } - } - } - } - return jsonObject; - } - - /** - * getAddressByLatlng - */ - async getAddressByLatlng(...args: any[]): Promise { - const sysMapVo: SysMapVo = this.coreSysConfigService.getMap(param.siteId()); - const key: string = sysMapVo.key; - const addressJsonString: string = TencentGeocoder.getAddress(key, param.getLatlng(), param.getGetPoi()); - const jsonObjectResult: Record = TencentGeocoder.formatData(addressJsonString); - const province: string = jsonObjectResult.getStr("province"); - jsonObjectResult.putOpt("province_id", this.queryCodeByNameAndLevel(province, 1)); - const city: string = jsonObjectResult.getStr("city"); - jsonObjectResult.putOpt("city_id", this.queryCodeByNameAndLevel(city, 2)); - const district: string = jsonObjectResult.getStr("district"); - jsonObjectResult.putOpt("district_id", this.queryCodeByNameAndLevel(district, 3)); - return jsonObjectResult; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-config-service-impl.service.ts deleted file mode 100644 index f449ca2b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-config-service-impl.service.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class SysConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * copyright - */ - async copyright(...args: any[]): Promise { - return this.coreSysConfigService.getCopyRight(param.siteId()); - } - - /** - * site - */ - async site(...args: any[]): Promise { - return this.coreSiteService.getSiteCache(param.siteId()); - } - - /** - * sceneDomain - */ - async sceneDomain(...args: any[]): Promise { - return this.coreSysConfigService.getSceneDomain(param.siteId()); - } - - /** - * map - */ - async map(...args: any[]): Promise { - return this.coreSysConfigService.getMap(param.siteId()); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-verify-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-verify-service-impl.service.ts deleted file mode 100644 index 70e6de47..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/sys-verify-service-impl.service.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class SysVerifyServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getVerifyCode - */ - async getVerifyCode(...args: any[]): Promise { - // 生成核销码(对应业务调用) - const verifyCodeList: string[] = this.createVerifyCode(param.siteId(), param.memberId(), param.type, param.data); - const sysVerifyGetCodeVoList: SysVerifyGetCodeVo[] = []; - for (const verifyCode of verifyCodeList) { - const sysVerifyGetCodeVo: SysVerifyGetCodeVo = new SysVerifyGetCodeVo(); - sysVerifyGetCodeVo.setCode(verifyCode); - sysVerifyGetCodeVo.setQrcode(QrcodeUtils.qrcode(param.siteId(), "h5", verifyCode, "", null)); - if (param.getNeedBarcode() == 1){ - const barcode: string = null; - try { - const qrcodeDir: string = this.appConfig.webRootDownResource + "upload/temp/"; - const barcodePath: string = BarcodeUtils.generateBarcode(verifyCode, qrcodeDir); - barcode = fs.readFileSync(barcodePath, 'base64'); - } catch (e) { - log.error("条形码生成失败:{}", e.message, e); - throw new BadRequestException("条形码生成失败"); - } - sysVerifyGetCodeVo.setBarcode(barcode); - } - sysVerifyGetCodeVoList.push(sysVerifyGetCodeVo); - } - return sysVerifyGetCodeVoList; - } - - /** - * checkVerifier - */ - async checkVerifier(...args: any[]): Promise { - Lambdaany /* TODO: QueryWrapper */ queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(Verifier::getMemberId, this.requestContext.memberId); - queryWrapper.eq(Verifier::getSiteId, this.requestContext.siteId); - return verifierMapper.exists(queryWrapper); - } - - /** - * records - */ - async records(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - const queryWrapper: QueryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", param.siteId()); - queryWrapper.eq("verifier_member_id", param.memberId()); - - if (StrUtil.isNotEmpty(param.getCode())) { - queryWrapper.eq("code", param.getCode()); - } - if (StrUtil.isNotEmpty(param.type)) { - queryWrapper.eq("type", param.type); - } - if (CommonUtils.isNotEmpty(param.createTime)) { - QueryMapperUtils.buildByTime(queryWrapper, "create_time", param.createTime); - } - if (StrUtil.isNotEmpty(param.getRelateTag())) { - queryWrapper.eq("relate_tag", param.getRelateTag()); - } - if (StrUtil.isNotEmpty(param.keyword)) { - queryWrapper.eq("keyword", param.keyword); - } - queryWrapper.orderByDesc(["create_time"]); - - [Verify[], number] iPage = this.this.verifyRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const dataList: SysVerifyRecordsVo[] = CollectUtils.convert(iPageRecords, SysVerifyRecordsVo.class); - - if (dataList.length > 0) { - // 以下代码块=====>用以填充SysVerifyRecordsVo类对象的:nickname, mobile, headimg属性 - // 根据集合ID主键索引查询到对象列表 - const withQueryWrapper: QueryWrapper = new QueryWrapper(); - withQueryWrapper.select("member_id, nickname, mobile, headimg"); - const memberIdList: number[] = CollectBuildUtils.getKeyValueList(dataList, "verifierMemberId"); - withQueryWrapper.in("member_id", memberIdList); - const memberList: Member[] = this.memberRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - // 先将数据分组,然后放入结果集 - const memberMap: Record = ObjectGroupUtils.group(memberList, "memberId"); - dataList.forEach(bean => { - const member: Member = memberMap.get(bean.getVerifierMemberId()); - if (member != null) { - const membervo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(membervo, member); - bean.setMember(membervo); - } - }); - } - return PageResult.build(page, limit, iPageTotal).setData(dataList); - } - - /** - * records2 - */ - async records2(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - MPJany /* TODO: QueryWrapper */ mpjQueryWrapper = new MPJQueryWrapper(); - mpjQueryWrapper.select("t.*"); - mpjQueryWrapper.setAlias("t"); - mpjQueryWrapper.innerJoin("?_site_group nsg ON ns.group_id = nsg.group_id"); - mpjQueryWrapper.eq("site_id", param.siteId()); - mpjQueryWrapper.eq("verifier_member_id", param.memberId()); - [SysVerifyRecordsVo[], number] iPage = memberMapper.selectJoinPage(new Page<>(page, limit), SysVerifyRecordsVo.class, mpjQueryWrapper ); - return PageResult.build(page, limit, iPageTotal).setData(iPageRecords); - } - - /** - * detail - */ - async detail(...args: any[]): Promise { - any /* TODO: QueryWrapper */ verifyQueryWrapper = new QueryWrapper(); - verifyQueryWrapper.eq("site_id", param.siteId()); - verifyQueryWrapper.eq("verifier_member_id", param.memberId()); - verifyQueryWrapper.eq("code", param.getCode()); - const verify: Verify = this.this.verifyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - const sysVerifyDetailVo: SysVerifyDetailVo = new SysVerifyDetailVo(); - if (verify != null) { - Object.assign(sysVerifyDetailVo, verify); - any /* TODO: QueryWrapper */ memberQueryWrapper = new QueryWrapper(); - memberQueryWrapper.select("member_id, nickname, mobile, headimg"); - memberQueryWrapper.eq("member_id", param.memberId()); - const member: Member = this.this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (member != null) { - const membervo: MemberBriefInfoVo = new MemberBriefInfoVo(); - Object.assign(membervo, member); - sysVerifyDetailVo.setMember(membervo); - } - } - - //处理时间的问题 解析JSON字符串 - const jsonObject: Record = JsonUtils.parseObject(sysVerifyDetailVo.value.toString()); - // 获取content下的diy数组 - const diyArray: JSONArray = jsonObject.getRecord("content").getJSONArray("diy"); - // 遍历diy数组 - for (const i of number = 0; i < diyArray.length; i++) { - const diyItem: Record = diyArray.getRecord(i); - const listArray: JSONArray = diyItem.getJSONArray("list"); - - // 遍历list数组 - for (const j of number = 0; j < listArray.length; j++) { - const listItem: Record = listArray.getRecord(j); - const title: string = listItem.getStr("title"); - - // 如果是支付时间,则转换格式 - if ("支付时间".equals(title)) { - const timestamp: number = listItem.getLong("value"); - const timeStr: string = DateUtils.timestampToString(timestamp); - listItem.put("value", timeStr); - } - } - } - sysVerifyDetailVo.value = JSONUtil.toJsonStr(jsonObject); - - return sysVerifyDetailVo; - } - - /** - * verifyCode - */ - async verifyCode(...args: any[]): Promise { - // 1、获取核销码数据 - const verifyMap: Record = this.getCodeData(param.getCode()); - // 检测站点数据 - if (verifyMap.get("site_id") == null || !verifyMap.get("site_id").equals(param.siteId())) { - // 核销码已过期 - throw new Error("当前核销码已核销或已失效"); - } - // 检测核销员身份 - Lambdaany /* TODO: QueryWrapper */ queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(Verifier::getMemberId, param.memberId()); - queryWrapper.eq(Verifier::getSiteId, param.siteId()); - const verifier: boolean = verifierMapper.exists(queryWrapper); - if (!verifier) { - throw new Error("核销员不存在"); - } - // 核销操作 - const verifyDataMap: Record = {}; - verifyDataMap.put("site_id", verifyMap.get("site_id")); - verifyDataMap.put("code", param.getCode()); - verifyDataMap.put("body", verifyMap.get("body")); - verifyDataMap.put("data", verifyMap.get("data")); - verifyDataMap.put("value", verifyMap.get("value")); - verifyDataMap.put("type", verifyMap.get("type")); - verifyDataMap.put("relate_tag", verifyMap.get("relate_tag")); - verifyDataMap.put("create_time", DateUtils.currTime()); - verifyDataMap.put("verifier_member_id", param.memberId()); - // 核销 - VerifyEventDefiner.const verifyEvent: VerifyEvent = new VerifyEventDefiner.VerifyEvent(); - verifyEvent.siteId = param.siteId(); - verifyEvent.build(verifyDataMap); - EventAndSubscribeOfPublisher.publishAndCallback(verifyEvent); - - // 添加核销记录 - const model: Verify = new Verify(); - Object.assign(model, verifyEvent); - model.data = JsonUtils.parseObject(verifyEvent.data.toString()); - this.verifyRepository.save(model); - - // 核销码失效 - this.clearCode(param.getCode()); - return true; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/task-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/task-service-impl.service.ts deleted file mode 100644 index 76004967..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/task-service-impl.service.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class TaskServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getGrowthTask - */ - async getGrowthTask(...args: any[]): Promise { - const config: Record = this.coreMemberConfigService.getGrowthRuleConfig(this.requestContext.siteId); - if (config != null) { - config = this.coreMemberService.getGrowthRuleContent(this.requestContext.siteId, config, "task"); - - const filteredObject: Record = new Record(); - for (const key of config.keySet()) { - const value: Record = config.getRecord(key); - if (value.get("content") != null) { - filteredObject.set(key, value); - } - } - return filteredObject; - } - return null; - } - - /** - * getPointTask - */ - async getPointTask(...args: any[]): Promise { - const config: Record = this.coreMemberConfigService.getPointRuleConfig(this.requestContext.siteId).getRecord("grant"); - if (config != null) { - config = this.coreMemberService.getPointGrantRuleContent(this.requestContext.siteId, config, "task"); - - const filteredObject: Record = new Record(); - for (const key of config.keySet()) { - const value: Record = config.getRecord(key); - if (value.get("content") != null) { - filteredObject.set(key, value); - } - } - return filteredObject; - } - return new Record(); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/upload-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/upload-service-impl.service.ts deleted file mode 100644 index 06c90de7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/sys/impl/upload-service-impl.service.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class UploadServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * image - */ - async image(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setIsAttachment(0); - param.setAttType("image"); - param.setDir("attachment/image/" + param.siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - return this.coreUploadService.upload(param); - } - - /** - * video - */ - async video(...args: any[]): Promise { - param.siteId = this.requestContext.siteId; - param.setIsAttachment(0); - param.setAttType("video"); - param.setDir("attachment/video/" + param.siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - return this.coreUploadService.upload(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/serve-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/serve-service-impl.service.ts deleted file mode 100644 index fdb9fd4d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/serve-service-impl.service.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class ServeServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * service - */ - async service(...args: any[]): Promise { - response.setContentType("text/html;charset=utf-8"); - response.status = HttpServletResponse.SC_OK; - - try { - const signature: string = request.getParameter("signature"); - const nonce: string = request.getParameter("nonce"); - const timestamp: string = request.getParameter("timestamp"); - - const wxMaService: WxMaService = WechatUtils.miniapp(this.requestContext.siteId); - if (!this.wxMaService.checkSignature(timestamp, nonce, signature)) { - response.getWriter().println("非法请求"); - return; - } - - // 说明是一个仅仅用来验证的请求,回显echostr - const echostr: string = request.getParameter("echostr"); - if (StringUtils.isNotBlank(echostr)) { - response.getWriter().println(echostr); - return; - } - - const encryptType: string = StringUtils.isBlank(request.getParameter("encrypt_type")) ? "raw" : request.getParameter("encrypt_type"); - - const inMessage: WxMaMessage = null; - - if ("raw".equals(encryptType)) { - // 明文传输的消息 - inMessage = inMessage.fromXml(request.getInputStream()); - } else if ("aes".equals(encryptType)) { - // 是aes加密的消息 - const msgSignature: string = request.getParameter("msg_signature"); - inMessage = WxMaMessage.fromEncryptedXml(request.getInputStream(), this.wxMaService.getWxMaConfig(), timestamp, nonce, msgSignature); - } else { - response.getWriter().println("不可识别的加密类型"); - return; - } - - const outMessage: WxMaXmlOutMessage = this.message(inMessage); - if (outMessage != null) { - if ("raw".equals(encryptType)) { - response.getWriter().write(outMessage.toXml()); - } else if ("aes".equals(encryptType)) { - response.getWriter().write(outMessage.toEncryptedXml(this.wxMaService.getWxMaConfig())); - } - return; - } - } catch (e) { - console.error(e); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/weapp-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/weapp-service-impl.service.ts deleted file mode 100644 index aee9bc79..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/weapp/impl/weapp-service-impl.service.ts +++ /dev/null @@ -1,172 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WeappServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * loginByCode - */ - async loginByCode(...args: any[]): Promise { - try { - const wxUser: WxMaJscode2SessionResult = WechatUtils.miniapp(this.requestContext.siteId).getUserService().getSessionInfo(param.getCode()); - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) { - const vo: LoginVo = this.loginService.login(member); - return vo; - } - if (CommonUtils.isNotEmpty(wxUser.getUnionid())) { - const unionidMember: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(unionidMember)) { - const vo: LoginVo = this.loginService.login(unionidMember); - return vo; - } - } - - const loginVo: LoginVo = new LoginVo(); - loginVo.setOpenid(wxUser.getOpenid()); - loginVo.setUnionid(ObjectUtil.defaultIfNull(wxUser.getUnionid(), "")); - - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - - const registerParam: AuthRegisterParam = new AuthRegisterParam(); - registerParam.setOpenid(wxUser.getOpenid()); - registerParam.setUnionid(ObjectUtil.defaultIfNull(wxUser.getUnionid(), "")); - registerParam.setPid(param.getPid()); - registerParam.setHeadimg(param.getHeadimg()); - registerParam.setNickname(param.getNickname()); - registerParam.setMobile(param.getMobile()); - registerParam.setMobileCode(param.getMobileCode()); - - // 开启自动注册会员 - if (config.getIsAuthRegister() == 1) { - if (config.getIsBindMobile() == 1 && config.getIsForceAccessUserInfo() == 1) { - if (CommonUtils.isNotEmpty(param.getMobile()) && CommonUtils.isNotEmpty(param.getHeadimg()) && CommonUtils.isNotEmpty(param.getNickname())) { - return this.register(registerParam); - } - } else if (config.getIsForceAccessUserInfo() == 1) { - if (CommonUtils.isNotEmpty(param.getHeadimg()) && CommonUtils.isNotEmpty(param.getNickname())) { - return this.register(registerParam); - } - } else if (config.getIsBindMobile() == 1) { - if (CommonUtils.isNotEmpty(param.getMobile()) || CommonUtils.isNotEmpty(param.getMobileCode())) { - return this.register(registerParam); - } - } else { - return this.register(registerParam); - } - } else { - // 关闭自动注册,但是开启了强制绑定手机号,必须获取手机号才能进行注册 - if (config.getIsBindMobile() == 1 || config.getIsMobile() == 1) { - if (CommonUtils.isNotEmpty(param.getMobile()) || CommonUtils.isNotEmpty(param.getMobileCode())) { - return this.register(registerParam); - } - } - } - - return loginVo; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * register - */ - async register(...args: any[]): Promise { - if (param.getOpenid().isEmpty()) throw new BadRequestException("openid不能为空"); - try { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) throw new BadRequestException("账号已存在"); - - if (!param.getUnionid().isEmpty()) { - const unionidMember: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(unionidMember)) throw new BadRequestException("账号已存在"); - } - - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - if (config.getIsBindMobile() == 1) { - if (!param.getMobile().isEmpty() || !param.getMobileCode().isEmpty()) { - if (!param.getMobileCode().isEmpty()) { - const phoneInfo: WxMaPhoneNumberInfo = WechatUtils.miniapp(this.requestContext.siteId).getUserService().getPhoneNoInfo(param.getMobileCode()); - param.setMobile(phoneInfo.getPurePhoneNumber()); - } - } else { - throw new BadRequestException("手机号不能为空"); - } - } - - const registerMember: Member = new Member(); - registerMember.setWeappOpenid(param.getOpenid()); - registerMember.setMobile(param.getMobile()); - registerMember.setWxUnionid(param.getUnionid()); - registerMember.setPid(param.getPid()); - registerMember.setNickname(param.getNickname()); - registerMember.setHeadimg(param.getHeadimg()); - return this.registerService.register(registerMember); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * updateOpenid - */ - async updateOpenid(...args: any[]): Promise { - try { - const wxUser: WxMaJscode2SessionResult = WechatUtils.miniapp(this.requestContext.siteId).getUserService().getSessionInfo(param.getCode()); - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) throw new BadRequestException("账号已存在"); - - const updateMember: Member = new Member(); - updateMember.memberId = this.requestContext.memberId; - updateMember.setWxOpenid(wxUser.getOpenid()); - this.memberMapper.updateById(updateMember); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * subscribeMessage - */ - async subscribeMessage(...args: any[]): Promise { - return this.sysNoticeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .in("`key`", keys.split(",")) - .eq("is_weapp", 1) - .eq("site_id", this.requestContext.siteId) - .ne("weapp_template_id", "") - ).stream().map(item => item.getWeappTemplateId()); - } - - /** - * getIsTradeManaged - */ - async getIsTradeManaged(...args: any[]): Promise { - return this.coreWeappDeliveryService.getIsTradeManaged(this.requestContext.siteId); - } - - /** - * getMsgJumpPath - */ - async getMsgJumpPath(...args: any[]): Promise { - const pay: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - if (pay == null) return null; - - WapOrderDetailPathDefiner.const event: WapOrderDetailPathEvent = new WapOrderDetailPathDefiner.WapOrderDetailPathEvent(pay); - const eventData: WapOrderDetailPathDefiner.WapOrderDetailPathResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - - if (CommonUtils.isNotEmpty(eventData)) { - return eventData.get(0); - } - return null; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/serve-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/serve-service-impl.service.ts deleted file mode 100644 index cbdb54b3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/serve-service-impl.service.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class ServeServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * service - */ - async service(...args: any[]): Promise { - response.setContentType("text/html;charset=utf-8"); - response.status = HttpServletResponse.SC_OK; - - try { - const signature: string = request.getParameter("signature"); - const nonce: string = request.getParameter("nonce"); - const timestamp: string = request.getParameter("timestamp"); - - // 消息签名不正确,说明不是公众平台发过来的消息 - const wxMpService: WxMpService = WechatUtils.mp(this.requestContext.siteId); - if (!this.wxMpService.checkSignature(timestamp, nonce, signature)) { - response.getWriter().println("非法请求"); - return; - } - - // 说明是一个仅仅用来验证的请求,回显echostr - const echostr: string = request.getParameter("echostr"); - if (StringUtils.isNotBlank(echostr)) { - response.getWriter().println(echostr); - return; - } - - const encryptType: string = StringUtils.isBlank(request.getParameter("encrypt_type")) ? "raw" : request.getParameter("encrypt_type"); - - const inMessage: WxMpXmlMessage = null; - - if ("raw".equals(encryptType)) { - // 明文传输的消息 - inMessage = WxMpXmlMessage.fromXml(request.getInputStream()); - } else if ("aes".equals(encryptType)) { - // 是aes加密的消息 - const msgSignature: string = request.getParameter("msg_signature"); - inMessage = WxMpXmlMessage.fromEncryptedXml(request.getInputStream(), this.wxMpService.getWxMpConfigStorage(), timestamp, nonce, msgSignature); - } else { - response.getWriter().println("不可识别的加密类型"); - return; - } - - const outMessage: WxMpXmlOutMessage = this.message(inMessage); - if (outMessage != null) { - if ("raw".equals(encryptType)) { - response.getWriter().write(outMessage.toXml()); - } else if ("aes".equals(encryptType)) { - response.getWriter().write(outMessage.toEncryptedXml(this.wxMpService.getWxMpConfigStorage())); - } - return; - } - } catch (e) { - console.error(e); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/wechat-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/wechat-service-impl.service.ts deleted file mode 100644 index 6d4193a7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/api/wechat/impl/wechat-service-impl.service.ts +++ /dev/null @@ -1,177 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class WechatServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setCoreScanService - */ - async setCoreScanService(...args: any[]): Promise { - this.coreScanService = coreScanService; - } - - /** - * getCodeUrl - */ - async getCodeUrl(...args: any[]): Promise { - const authorizationUrl: string = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().buildAuthorizationUrl(url, scopes, ""); - const vo: WechatCodeUrlVo = new WechatCodeUrlVo(); - vo.url = authorizationUrl; - return vo; - } - - /** - * loginByCode - */ - async loginByCode(...args: any[]): Promise { - try { - const wxOAuth2AccessToken: WxOAuth2AccessToken = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getAccessToken(param.getCode()); - const wxUser: WxOAuth2UserInfo = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null); - - return this.login( - ObjectUtil.defaultIfNull(wxUser.getOpenid(), ""), - ObjectUtil.defaultIfNull(wxUser.getUnionId(), ""), - ObjectUtil.defaultIfNull(wxUser.getNickname(), ""), - ObjectUtil.defaultIfNull(wxUser.getHeadImgUrl(), ""), - param.getPid() - ); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * wechatLogin - */ - async wechatLogin(...args: any[]): Promise { - const data: Record = JsonUtils.parseObject(param.data); - - return this.login( - data.getStr("openid", ""), - data.getStr("unionid", ""), - data.getStr("nickname", ""), - data.getStr("avatar", ""), - param.getPid() - ); - } - - /** - * register - */ - async register(...args: any[]): Promise { - if (param.getOpenid().isEmpty()) throw new BadRequestException("openid不能为空"); - try { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) throw new BadRequestException("账号已存在"); - - if (!param.getUnionid().isEmpty()) { - const unionidMember: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(unionidMember)) throw new BadRequestException("账号已存在"); - } - - const config: LoginConfigVo = this.coreMemberConfigService.getLoginConfig(this.requestContext.siteId); - if (config.getIsBindMobile() == 1) { - if (param.getMobile().isEmpty()) throw new BadRequestException("手机号不能为空"); - this.registerService.checkMobileCode(param.getMobile(), param.getMobileKey(), param.getMobileCode()); - } - - const registerMember: Member = new Member(); - registerMember.setWxOpenid(param.getOpenid()); - registerMember.setMobile(param.getMobile()); - registerMember.setWxUnionid(param.getUnionid()); - registerMember.setPid(param.getPid()); - return this.registerService.register(registerMember); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * sync - */ - async sync(...args: any[]): Promise { - try { - const wxOAuth2AccessToken: WxOAuth2AccessToken = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getAccessToken(param.getCode()); - const wxUser: WxOAuth2UserInfo = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null); - - const member: Member = new Member(); - member.memberId = this.requestContext.memberId; - member.setNickname(ObjectUtil.defaultIfNull(wxUser.getNickname(), "")); - member.setHeadimg(ObjectUtil.defaultIfNull(wxUser.getHeadImgUrl(), "")); - this.memberMapper.updateById(member); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * getWechatUser - */ - async getWechatUser(...args: any[]): Promise { - try { - const vo: WechatUserInfoVo = new WechatUserInfoVo(); - - const mp: WxMpService = WechatUtils.mp(this.requestContext.siteId); - - const wxOAuth2AccessToken: WxOAuth2AccessToken = mp.getOAuth2Service().getAccessToken(param.getCode()); - if (wxOAuth2AccessToken.getScope() === "snsapi_base") { - vo.setOpenid(ObjectUtil.defaultIfNull(wxOAuth2AccessToken.getOpenId(), "")); - } else { - const userInfo: WxOAuth2UserInfo = mp.getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null); - vo.setOpenid(ObjectUtil.defaultIfNull(userInfo.getOpenid(), "")); - vo.setUnionid(ObjectUtil.defaultIfNull(userInfo.getUnionId(), "")); - vo.setNickname(ObjectUtil.defaultIfNull(userInfo.getNickname(), "")); - vo.setAvatar(ObjectUtil.defaultIfNull(userInfo.getHeadImgUrl(), "")); - } - return vo; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * scanLogin - */ - async scanLogin(...args: any[]): Promise { - try { - const key: string = this.coreScanService.scan(this.requestContext.siteId, "wechat_login", new Record().set("channel", RequestUtils.channel()), 300); - const ticket: WxMpQrCodeTicket = WechatUtils.mp(this.requestContext.siteId).getQrcodeService().qrCodeCreateTmpTicket(key, 300); - const url: string = WechatUtils.mp(this.requestContext.siteId).getQrcodeService().qrCodePictureUrl(ticket.getTicket()); - - const vo: WechatScanLoginVo = new WechatScanLoginVo(); - vo.key = key; - vo.url = url; - - return vo; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * updateOpenid - */ - async updateOpenid(...args: any[]): Promise { - try { - const wxOAuth2AccessToken: WxOAuth2AccessToken = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getAccessToken(param.getCode()); - const wxUser: WxOAuth2UserInfo = WechatUtils.mp(this.requestContext.siteId).getOAuth2Service().getUserInfo(wxOAuth2AccessToken, null); - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", this.requestContext.siteId)); - if (ObjectUtil.isNotNull(member)) throw new BadRequestException("账号已存在"); - - const updateMember: Member = new Member(); - updateMember.memberId = this.requestContext.memberId; - updateMember.setWxOpenid(wxUser.getOpenid()); - this.memberMapper.updateById(updateMember); - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/cached-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/cached-service-impl.service.ts deleted file mode 100644 index 82a131e1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/cached-service-impl.service.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CachedServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getCacheOperator - */ - async getCacheOperator(...args: any[]): Promise { - return cached; - } - - /** - * findUseCacheById - */ - async findUseCacheById(...args: any[]): Promise { - T target = (T) cached.tag(CacheTag.key(tClass)).get(String(id)); - if (target == null) { - target = super.getById(id); - if (target != null) { - cached.tag(CacheTag.key(tClass)).put(String(id), target); - } - } - return target; - } - - /** - * refreshCacheById - */ - async refreshCacheById(...args: any[]): Promise { - T target = super.getById(id); - if (target != null) { - cached.tag(CacheTag.key(tClass)).put(String(id), target); - } - return target; - } - - /** - * refreshCacheByIds - */ - async refreshCacheByIds(...args: any[]): Promise { - for (const id of ids) { - this.refreshCacheById(tClass, id); - } - } - - /** - * removeCacheById - */ - async removeCacheById(...args: any[]): Promise { - T target = (T) cached.tag(CacheTag.key(tClass)).get(String(id)); - if (target != null) { - cached.tag(CacheTag.key(tClass)).remove(String(id)); - } - return target; - } - - /** - * removeCacheByIds - */ - async removeCacheByIds(...args: any[]): Promise { - for (const id of ids) { - this.removeCacheById(tClass, id); - } - } - - /** - * clearCache - */ - async clearCache(...args: any[]): Promise { - cached.tag(CacheTag.key(tClass)).clear(); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-install-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-install-service-impl.service.ts deleted file mode 100644 index 17cf4479..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-install-service-impl.service.ts +++ /dev/null @@ -1,217 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreAddonInstallServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * installCheck - */ - async installCheck(...args: any[]): Promise { - this.installCheck = true; - const checkResult: Record = new Record(); - const rootPath: string = ""; - const runtimePath: string = ""; - const readableDir: JSONArray = new JSONArray(); - const writeDir: JSONArray = new JSONArray(); - - if (this.appConfig.envType === "dev") { - rootPath = this.appConfig.projectRoot + "/"; - runtimePath = rootPath; - - readableDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "niucloud-addon").set("status", true)); - readableDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - writeDir.put(new Record().set("dir", rootPath + "webroot").set("status", true)); - } else { - rootPath = this.appConfig.webRoot + "/"; - runtimePath = rootPath + "runtime/"; - - readableDir.put(new Record().set("dir", runtimePath).set("status", true)); - writeDir.put(new Record().set("dir", runtimePath).set("status", true)); - } - - readableDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - readableDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - writeDir.put(new Record().set("dir", runtimePath + "admin").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "uni-app").set("status", true)); - writeDir.put(new Record().set("dir", runtimePath + "web").set("status", true)); - - for (const i of number = 0; i < readableDir.length; i++) { - const dir: Record = readableDir.getRecord(i); - dir.set("status", dir.getStr("dir").canRead()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - readableDir.set(i, dir); - if (!dir.getBool("status")) this.installCheck = false; - } - - for (const i of number = 0; i < writeDir.length; i++) { - const dir: Record = writeDir.getRecord(i); - dir.set("status", dir.getStr("dir").canWrite()); - dir.set("dir", dir.getStr("dir").replace(rootPath, "")); - writeDir.set(i, dir); - if (!dir.getBool("status")) this.installCheck = false; - } - - checkResult.put("is_pass", this.installCheck); - checkResult.put("dir", new Record().set("is_readable", readableDir).set("is_write", writeDir)); - return checkResult; - } - - /** - * install - */ - async install(...args: any[]): Promise { - if (!this.installCheck) { - throw new BadRequestException("安装校验未通过"); - } - const addonObject: Addon = this.coreAddonService.getInfoByKey(addon); - if (CommonUtils.isNotEmpty(addonObject)) { - throw new BadRequestException("当前插件已安装,不能重复安装"); - } - if (CommonUtils.isNotEmpty(this.getInstallTask())) { - throw new BadRequestException("有正在安装中的插件"); - } - this.installTask.put("mode", mode); - this.installTask.put("addon", addon); - this.installTask.put("status", "installing"); - - try { - this.installDir(); - this.installDepend(); - this.installUniapp(addon); - if (mode === "local") { - this.handleAddonInstall(); - } else { - this.cloudInstall(); - } - return installTask; - } catch (e) { - console.error(e); - this.installExceptionHandle(); - this.cancleInstall(); - throw new BadRequestException(e.message); - } - } - - /** - * getInstallTask - */ - async getInstallTask(...args: any[]): Promise { - if (this.(!installTask || installTask.length === 0)) return null; - return this.installTask; - } - - /** - * cancleInstall - */ - async cancleInstall(...args: any[]): Promise { - if (CommonUtils.isNotEmpty(this.getInstallTask())) this.installTask.clear(); - this.installStep.clear(); - } - - /** - * uninstall - */ - async uninstall(...args: any[]): Promise { - if (!CommonUtils.isNotEmpty(this.coreAddonService.getInfoByKey(addon))) { - throw new BadRequestException("当前插件未安装,不能进行卸载操作"); - } - - // 卸载前先打包 - if (this.appConfig.runActive.toLowerCase() === "dev".toLowerCase()) { - this.addonDevelopBuildService.build(addon); - } - - try { - // 卸载菜单 - this.coreMenuService.deleteMenu(addon, true); - // 执行卸载sql - this.uninstallSql(addon); - // 处理uniapp - addonInstallTools.uninstallUniapp(addon); - // 移除定时任务 - this.coreScheduleService.uninstallAddonSchedule(addon); - // 删除addon表插件 - this.addonRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - // 执行卸载其它 - AddonInstallJavaTools.uninstallExec(this, addon); - // 是否需要重启服务 - const data: Record = new Record(); - if (!this.appConfig.runActive.toLowerCase() === "dev".toLowerCase()) { - data.put("is_need_restart", 1); - } - return data; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * uninstallCheck - */ - async uninstallCheck(...args: any[]): Promise { - const checkResult: Record = new Record(); - checkResult.put("is_pass", true); - return checkResult; - } - - /** - * installResult - */ - async installResult(...args: any[]): Promise { - this.installTask = new Record(); - this.installTask.put("mode", "local"); - this.installTask.put("addon", addon); - if (result) { - this.installTask.put("status", "success"); - const tips: string[] = AddonUpgradeHelper.getAddonInfo(); - this.installTask.put("tips", tips); - this.installCheck = false; - log.warn("安装成功..........................................."); - } else { - this.installTask.put("status", "fail"); - this.installTask.put("failReason", "jar包加载错误."); - const tips: string[] = AddonUpgradeHelper.getAddonInfo(); - this.installTask.put("tips", tips); - log.warn("执行回滚操作<---------------------begin--------------------->"); - if (!this.appConfig.runActive.toLowerCase() === "dev".toLowerCase()) { - // 生产环境进一步卸载 - this.rollback(addon); - this.installCheck = false; - } - log.warn("执行回滚操作<---------------------ended--------------------->"); - } - } - - /** - * cloudInstallLog - */ - async cloudInstallLog(...args: any[]): Promise { - const log: Record = this.cloudBuildService.getBuildLog("install"); - if (log != null) { - const data: JSONArray = log.getByPath("data.0", JSONArray.class); - if (data.length > 0) { - const last: Record = data.getRecord(data.length - 1); - if (last.getInt("code", 0).equals(0)) { - this.installTask.put("status", "fail"); - this.installTask.put("failReason", last.getStr("msg")); - this.cloudBuildService.clearBuildTask(); - return log; - } - if (last.getInt("percent", 0).equals(100) && last.getStr("action", "").equals("build_success")) { - this.handleAddonInstall(); - } - } - } - return log; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-service-impl.service.ts deleted file mode 100644 index 9e3a61c3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/addon/impl/core-addon-service-impl.service.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService } from '@wwjBoot'; -import * as fs from 'fs'; -import * as path from 'path'; - -@Injectable() -export class CoreAddonServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getInfoByKey - */ - async getInfoByKey(...args: any[]): Promise { - return this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).select("*").eq("`key`", key)); - } - - /** - * getLocalAddonCount - */ - async getLocalAddonCount(...args: any[]): Promise { - const localAddonCount: number = 0; - try { - // 获取本地所有的插件 - const localAddons: string[] = fs.readdirSync(this.appConfig.webRootDownAddon) - .map(path => path.toFile()) - .filter(file => fs.statSync(file).isDirectory()) - ; - - for (const file of localAddons) { - if (fs.existsSync(file, "info.json")) { - localAddonCount++; - } - } - } catch (e) { - } - return localAddonCount; - } - - /** - * getAddonCountByCondition - */ - async getAddonCountByCondition(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - const addonCount: number = this.addonRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - return addonCount.intValue(); - } - - /** - * set - */ - async set(...args: any[]): Promise { - const model: Addon = this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }))); - - if (model != null) { - addon.updateTime = Date.now( / 1000); - this.addonRepository.save(addon, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("`key`", addon.key)); - } else { - addon.setInstallTime(Date.now() / 1000); - this.addonRepository.save(addon); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/aliapp/impl/core-aliapp-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/aliapp/impl/core-aliapp-config-service-impl.service.ts deleted file mode 100644 index e4da68d6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/aliapp/impl/core-aliapp-config-service-impl.service.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreAliappConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAliappConfig - */ - async getAliappConfig(...args: any[]): Promise { - const coreSysConfigVo: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, "aliapp"); - const vo: AliappConfigVo = new AliappConfigVo(); - if(ObjectUtil.isNotNull(coreSysConfigVo.getValueJson())) - { - vo = Object.assign(new AliappConfigVo(), coreSysConfigVo.getValueJson()) /* TODO: 检查AliappConfigVo构造函数 */; - } - return vo; - } - - /** - * setAliappConfig - */ - async setAliappConfig(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(aliappConfigParam); - this.coreConfigService.setConfig(siteId, "aliapp", json); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-app-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-app-service-impl.service.ts deleted file mode 100644 index 4797f968..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-app-service-impl.service.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreAppServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * initAppBasic - */ - async initAppBasic(...args: any[]): Promise { - log.info("initAppBasic() begin"); - // 1、初始化系统数据库schema - - // 2、初始化系统菜单 - - // 3、初始化系统默认用户和角色 - log.info("initAppBasic() ended"); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-async-task-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-async-task-service-impl.service.ts deleted file mode 100644 index 3d875045..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-async-task-service-impl.service.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreAsyncTaskServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * executeAsyncTask - */ - async executeAsyncTask(...args: any[]): Promise { - log.warn("我是异步执行的..............."); - try { - Thread.sleep(3 * 1000); - } catch (e) { - console.error(e); - } - log.warn("异步执行完成了..............."); - return Result.success(); - } - - /** - * execute - */ - async execute(...args: any[]): Promise { - log.warn("我是同步执行的..............."); - try { - Thread.sleep(3 * 1000); - } catch (e) { - console.error(e); - } - log.warn("同步执行完成了..............."); - return Result.success(); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-queue-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-queue-service-impl.service.ts deleted file mode 100644 index 8d25a569..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/app/impl/core-queue-service-impl.service.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreQueueServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * exec - */ - async exec(...args: any[]): Promise { - console.log("target bean => " + taskArgument.getTargetBean()); - console.log("target method => " + taskArgument.getTargetMethod()); - console.log("method argument => " + taskArgument); - console.log("execute time => " + Date.now()); - try { - Thread.sleep(10 * 1000); - } catch (e) { - console.error(e); - } - return Result.success(); - } - - /** - * execUseQueue - */ - async execUseQueue(...args: any[]): Promise { - const asyncTask: AsyncTask = AsyncTaskManager.build(ICoreQueueService.class) - .setMethodName("exec").addMethodParameter("param", coreQueueExecParam); - // const result: boolean = AsyncTaskManager.delayExecute(asyncTask); - const result: boolean = AsyncTaskQueueManager.delayExecute(asyncTask); - if (result) { - return Result.success(); - } - return Result.fail("队列已满."); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/core-captcha-img-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/core-captcha-img-service-impl.service.ts deleted file mode 100644 index 742e0f13..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/core-captcha-img-service-impl.service.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Injectable, UnauthorizedException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreCaptchaImgServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * create - */ - async create(...args: any[]): Promise { - const captchaVO: CaptchaVO = new CaptchaVO(); - captchaVO.setCaptchaType(captchaType); - const responseModel: ResponseModel = this.captchaService.get(captchaVO); - const coreCaptchaInfoVo: CoreCaptchaInfoVo = new CoreCaptchaInfoVo(); - if(responseModel.isSuccess()){ - const jsonObject: Record = JsonUtils.parseObject(responseModel.getRepData()); - coreCaptchaInfoVo.setToken(jsonObject.getStr("token")); - coreCaptchaInfoVo.setJigsawImageBase64(jsonObject.getStr("jigsawImageBase64")); - coreCaptchaInfoVo.setOriginalImageBase64(jsonObject.getStr("originalImageBase64")); - coreCaptchaInfoVo.setSecretKey(jsonObject.getStr("secretKey")); - }else{ - throw new UnauthorizedException(responseModel.getRepMsg()); - } - return coreCaptchaInfoVo; - } - - /** - * check - */ - async check(...args: any[]): Promise { - if(ObjectUtil.isNull(coreCaptchaValiDateParam.getCaptchaType()) || ObjectUtil.isNull(coreCaptchaValiDateParam.getCaptchaCode()) || ObjectUtil.isNull(coreCaptchaValiDateParam.getCaptchaKey())){ - throw new UnauthorizedException("缺少参数"); - } - const captchaVO: CaptchaVO = new CaptchaVO(); - captchaVO.setCaptchaType(coreCaptchaValiDateParam.getCaptchaType()); - captchaVO.setToken(coreCaptchaValiDateParam.getCaptchaKey()); - captchaVO.setPointJson(coreCaptchaValiDateParam.getCaptchaCode()); - const responseModel: ResponseModel = this.captchaService.check(captchaVO); - if(!responseModel.isSuccess()){ - throw new UnauthorizedException(responseModel.getRepMsg()); - } - return true; - } - - /** - * verification - */ - async verification(...args: any[]): Promise { - const responseModel: ResponseModel = this.captchaService.verification(captchaVO); - if(!responseModel.isSuccess()){ - throw new UnauthorizedException(responseModel.getRepMsg()); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/default-captcha-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/default-captcha-service-impl.service.ts deleted file mode 100644 index 4225f367..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/captcha/impl/default-captcha-service-impl.service.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils } from '@wwjBoot'; - -@Injectable() -export class DefaultCaptchaServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * captchaType - */ - async captchaType(...args: any[]): Promise { - return "redis"; - } - - /** - * init - */ - async init(...args: any[]): Promise { - for (const s of CaptchaServiceFactory.instances.keySet()) { - if (!this.captchaType() === s) { - this.getService(s).init(config); - } - } - } - - /** - * destroy - */ - async destroy(...args: any[]): Promise { - for (const s of CaptchaServiceFactory.instances.keySet()) { - if (!this.captchaType() === s) { - this.getService(s).destroy(config); - } - } - } - - /** - * get - */ - async get(...args: any[]): Promise { - if (captchaVO == null) { - return RepCodeEnum.NULL_ERROR.parseError("captchaVO"); - } else { - return StringUtils.isEmpty(captchaVO.getCaptchaType()) ? RepCodeEnum.NULL_ERROR.parseError("类型") : this.getService(captchaVO.getCaptchaType()).get(captchaVO); - } - } - - /** - * check - */ - async check(...args: any[]): Promise { - if (captchaVO == null) { - return RepCodeEnum.NULL_ERROR.parseError("captchaVO"); - } else if (StringUtils.isEmpty(captchaVO.getCaptchaType())) { - return RepCodeEnum.NULL_ERROR.parseError("类型"); - } else { - return StringUtils.isEmpty(captchaVO.getToken()) ? RepCodeEnum.NULL_ERROR.parseError("token") : this.getService(captchaVO.getCaptchaType()).check(captchaVO); - } - } - - /** - * verification - */ - async verification(...args: any[]): Promise { - if (captchaVO == null) { - return RepCodeEnum.NULL_ERROR.parseError("captchaVO"); - } else if (StringUtils.isEmpty(captchaVO.getCaptchaVerification())) { - return RepCodeEnum.NULL_ERROR.parseError("二次校验参数"); - } else { - try { - const codeKey: string = String.format(REDIS_SECOND_CAPTCHA_KEY, captchaVO.getCaptchaVerification()); - if (!CaptchaServiceFactory.getCache(cacheType).exists(codeKey)) { - return ResponseModel.errorMsg(RepCodeEnum.API_CAPTCHA_INVALID); - } - CaptchaServiceFactory.getCache(cacheType).delete(codeKey); - } catch (var3) { - this.logger.error("验证码坐标解析失败", var3); - return ResponseModel.errorMsg(var3.message); - } - return ResponseModel.success(); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-cloud-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-cloud-service-impl.service.ts deleted file mode 100644 index e066dc2e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-cloud-service-impl.service.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class CoreAppCloudServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * appCloudBuid - */ - async appCloudBuid(...args: any[]): Promise { - const appConfig: AppConfigVo = this.coreAppService.getConfig(param.siteId); - - if (CommonUtils.isEmpty(appConfig.appName)) throw new BadRequestException("请先配置应用名称"); - if (CommonUtils.isEmpty(appConfig.getUniAppId())) throw new BadRequestException("请先配置应用ID"); - if (CommonUtils.isEmpty(appConfig.getAndroidAppKey())) throw new BadRequestException("请先配置应用密钥"); - if (CommonUtils.isEmpty(appConfig.getApplicationId())) throw new BadRequestException("请先配置应用包名"); - - const taskKey: string = String(Date.now() / 1000); - - const tempDir: string = this.appConfig.webRootDownRuntime + "app_build/" + taskKey + "/"; - const packageDir: string = tempDir + "package/"; - FileTools.createDirs(packageDir); - - handleUniapp(packageDir + "uni-app/", param, appConfig); - - const wapUrl: string = this.coreSysConfigService.getSceneDomain(param.siteId).getWapUrl(); - - const mapConfig: SysMapVo = this.coreSysConfigService.getMap(param.siteId); - - const build: Record = new Record(); - build.set("app_name", appConfig.appName); - build.set("uni_app_id", appConfig.getUniAppId()); - build.set("wechat_app_id", ObjectUtil.defaultIfNull(appConfig.getWechatAppId(), "")); - build.set("wechat_app_secret", ObjectUtil.defaultIfNull(appConfig.getWechatAppSecret(), "")); - build.set("android_app_key", appConfig.getAndroidAppKey()); - build.set("application_id", appConfig.getApplicationId()); - build.set("privacy_agreement", wapUrl + "/app/pages/auth/agreement?key=privacy&="); - build.set("service_agreement", wapUrl + "/app/pages/auth/agreement?key=service&="); - build.set("qq_map_key", mapConfig.key); - build.set("amap_key", ""); - build.set("version_name", param.getVersionName()); - build.set("version_code", param.getVersionCode()); - build.putByPath("cert.type", param.getCert().getType()); - build.putByPath("cert.file", param.getCert().getFile()); - build.putByPath("cert.key_alias", param.getCert().getKeyAlias()); - build.putByPath("cert.key_password", param.getCert().getKeyPassword()); - build.putByPath("cert.store_password", param.getCert().getStorePassword()); - - try { - // 写入build.json文件 - fs.writeFileSync(packageDir, "build.json", build.toString(), "UTF-8"); - - // 拷贝证书文件 - if (param.getCert().getType() === "private"){ - const certFile: string = this.appConfig.webRootDownResource, param.getCert(.getFile()); - if (!fs.existsSync(certFile)) throw new BadRequestException("证书文件不存在"); - - fs.copyFileSync(certFile, packageDir, "cert.jks"); - } - - // 拷贝icon文件 - const iconFile: string = this.appConfig.webRootDownResource, param.getBuild(.getIcon()); - if (!fs.existsSync(iconFile)) throw new BadRequestException("icon文件不存在"); - fs.copyFileSync(iconFile, packageDir, "drawable.zip"); - - // 将临时目录下文件生成压缩包 - const zipFile: string = ZipUtil.zip(packageDir, tempDir + "app.zip"); - - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const actionQuery: Record = new const query: Record<>(); - actionQuery.put("data[product_key]", instance.getProductKey()); - const actionToken: Record = this.niucloudService.getActionToken("appbuild", actionQuery); - - Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("timestamp", taskKey); - query.put("token", actionToken == null ? "" : actionToken.getStr("token")); - - const response: HttpResponse = new NiucloudUtils.Cloud().build("cloud/appbuild").query(query) - .func(i => { - i.form("file", zipFile, "app.zip"); - }) - .method(Method.POST).execute(); - - const res: Record = JsonUtils.parseObject(response.body()); - - if (!res.getInt("code", 0).equals(1)) throw new BadRequestException(res.getStr("msg")); - - return taskKey; - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * getAppCompileLog - */ - async getAppCompileLog(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("timestamp", key); - - const response: HttpResponse = new NiucloudUtils.Cloud().build("cloud/get_appbuild_logs").query(query).method(Method.GET).execute(); - try { - const vo: AppCompileLogVo = new AppCompileLogVo(); - const log: Record = JsonUtils.parseObject(response.body()); - vo.setBuildLog(log); - - if (log != null) { - const data: JSONArray = ObjectUtil.defaultIfNull(log.getByPath("data.0", JSONArray.class), new JSONArray()); - if (data.length > 0) { - const last: Record = data.getRecord(data.length - 1); - if (last.getInt("code", -1).equals(0)) { - vo.status = "fail"; - vo.setFailReason(last.getStr("msg", "")); - return vo; - } - if (last.getInt("percent", 0).equals(100)) { - buildSuccess(key, vo); - } - } - } - - return vo; - } catch (e) { - return null; - } - } - - /** - * generateSignCert - */ - async generateSignCert(...args: any[]): Promise { - const query: Record = {}; - query.put("key_alias", param.getKeyAlias()); - query.put("key_password", param.getKeyPassword()); - query.put("store_password", param.getStorePassword()); - query.put("limit", param.limit); - query.put("dname", "CN=" + param.getCn() + ", OU=" + param.getOu() + ", O=" + param.getO() + ", L=" + param.getL() + ", ST=" + param.getSt() + ", C=" + param.getC()); - - const response: HttpResponse = new NiucloudUtils.Cloud().build("cloud/getcert").query(query).method(Method.GET).execute(); - - if (response.header("Content-Type").equals("application/json")) { - const content: Record = JsonUtils.parseObject(response.body()); - if (content.getInt("code", -1) == 0) { - throw new BadRequestException(ObjectUtil.defaultIfBlank(content.getStr("msg", ""), "获取证书失败")); - } - } - - const tempDir: string = this.appConfig.webRootDownResource + "upload/download/cert/"; - FileTools.createDirs(tempDir); - - try { - const file: string = tempDir + param.getKeyAlias( + ".zip"); - const fos: FileOutputStream = new FileOutputStream(file, true); - fos.write(response.bodyBytes()); - return "upload/download/cert/" + param.getKeyAlias() + ".zip"; - } catch (e) { - console.error(e); - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-service-impl.service.ts deleted file mode 100644 index 319481ac..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-app-service-impl.service.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreAppServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getConfig - */ - async getConfig(...args: any[]): Promise { - const config: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, ConfigKeyEnum.path.basename(APP)); - if (config == null || config.getValueJson() == null) { - return new AppConfigVo(); - } - return Object.assign(new AppConfigVo(), config.getValueJson()) /* TODO: 检查AppConfigVo构造函数 */; - } - - /** - * setConfig - */ - async setConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(APP), JsonUtils.parseObject(param)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-h5-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-h5-service-impl.service.ts deleted file mode 100644 index f26c569f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-h5-service-impl.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CoreH5ServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getH5 - */ - async getH5(...args: any[]): Promise { - const coreSysConfigVo: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, "h5"); - const vo: H5ConfigVo = new H5ConfigVo(); - if(ObjectUtil.isNotNull(coreSysConfigVo.getValueJson())) - { - vo = Object.assign(new H5ConfigVo(), coreSysConfigVo.getValueJson()) /* TODO: 检查H5ConfigVo构造函数 */; - } - return vo; - } - - /** - * setH5 - */ - async setH5(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(param); - this.coreConfigService.setConfig(this.requestContext.siteId, "h5", json); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-pc-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-pc-service-impl.service.ts deleted file mode 100644 index a48d2a7d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/channel/impl/core-pc-service-impl.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CorePcServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getPc - */ - async getPc(...args: any[]): Promise { - const coreSysConfigVo: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, "pc"); - const vo: PcConfigVo = new PcConfigVo(); - if(ObjectUtil.isNotNull(coreSysConfigVo.getValueJson())) - { - vo = Object.assign(new PcConfigVo(), coreSysConfigVo.getValueJson()) /* TODO: 检查PcConfigVo构造函数 */; - } - return vo; - } - - /** - * setPc - */ - async setPc(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(param); - this.coreConfigService.setConfig(this.requestContext.siteId, "pc", json); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy/impl/core-diy-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy/impl/core-diy-service-impl.service.ts deleted file mode 100644 index ba1d3b75..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy/impl/core-diy-service-impl.service.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreDiyServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getThemeColorDict - */ - async getThemeColorDict(...args: any[]): Promise { - return ThemeColorEnum.getThemeColor(); - } - - /** - * getDefaultThemeColor - */ - async getDefaultThemeColor(...args: any[]): Promise { - return ThemeColorEnum.getAddonThemeColor(addon); - } - - /** - * initDefaultDiyTheme - */ - async initDefaultDiyTheme(...args: any[]): Promise { - const siteCache: SiteInfoVo = this.coreSiteService.getSiteCache(siteId); - const themeColorList: JSONArray = ThemeColorEnum.getThemeColor(); - - if (themeColorList == null || (!themeColorList || themeColorList.length === 0)) { - return; - } - - const diyThemes: DiyTheme[] = []; - - // 处理主题配置 - themeColorList.forEach(item => { - const themeColor: Record = JsonUtils.parseObject(item); - const themeType: string = themeColor.getStr("theme_type"); - const colors: JSONArray = themeColor.getJSONArray("theme_color"); - - if (colors == null || (!colors || colors.length === 0)) { - return; - } - - // 处理应用主题 - if ("app_theme".equals(themeType)) { - addAppThemes(diyThemes, siteId, "app", "app", colors); - return; - } - - // 处理其他应用和插件主题 - siteCache.getApps().stream() - .filter(app => (themeType + "_theme").equals(app.key)) - .forEach(app => { - // 添加应用主题 - addAppThemes(diyThemes, siteId, "app", app.key, colors); - - // 添加关联插件主题 - const addons: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(Addon::getSupportApp, app.key)); - - if (StringUtils.isNotEmptyArray(addons)) { - addons.forEach(addon => addAppThemes(diyThemes, siteId, "addon", addon.key, colors)); - } - }); - }); - - if (StringUtils.isNotEmptyArray(diyThemes)) { - insertNewThemes(diyThemes, siteId); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-config-service-impl.service.ts deleted file mode 100644 index bbe19457..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-config-service-impl.service.ts +++ /dev/null @@ -1,163 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreDiyFormConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWriteConfig - */ - async getWriteConfig(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId).eq("form_id", formId); - const writeConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isEmpty(writeConfig)) { - return null; - } - const infoVo: DiyFormWriteConfigInfoVo = new DiyFormWriteConfigInfoVo(); - BeanUtil.copyProperties(writeConfig, infoVo); - infoVo.setTimeLimitRule(writeConfig.getTimeLimitRule()); - const timeLimitRule: Record = JsonUtils.parseObject(infoVo.getTimeLimitRule()); - if(timeLimitRule.containsKey("specify_time") && timeLimitRule.getJSONArray("specify_time").size() > 0) - { - const specifyTime: JSONArray = timeLimitRule.getJSONArray("specify_time"); - const specifyTimeVo: JSONArray = new JSONArray(); - specifyTimeVo.push(DateUtils.timestampToString(specifyTime.getLong(0))); - specifyTimeVo.push(DateUtils.timestampToString(specifyTime.getLong(1))); - timeLimitRule.put("specify_time", specifyTimeVo); - } - - if(timeLimitRule.containsKey("open_day_time") && timeLimitRule.getJSONArray("open_day_time").size() > 0) - { - const beginOfDay: number = DateUtil.beginOfDay(DateUtil.date()).getTime() / 1000; - const openDayTime: JSONArray = timeLimitRule.getJSONArray("open_day_time"); - const openDayTimeVo: JSONArray = new JSONArray(); - openDayTimeVo.push(DateUtils.timestampToString( (beginOfDay + openDayTime.getLong(0)), "yyyy-MM-dd")); - openDayTimeVo.push(DateUtils.timestampToString((beginOfDay + openDayTime.getLong(1)), "yyyy-MM-dd")); - timeLimitRule.put("specify_time", openDayTimeVo); - } - return infoVo; - } - - /** - * addWriteConfig - */ - async addWriteConfig(...args: any[]): Promise { - if (addParam.formId == null) { - throw new BadRequestException("缺少表单id"); - } - const writeConfig: DiyFormWriteConfig = new DiyFormWriteConfig(); - - BeanUtil.copyProperties(addParam, writeConfig); - writeConfig.createTime = Date.now( / 1000); - writeConfig.updateTime = Date.now( / 1000); - this.diyFormWriteConfigRepository.save(writeConfig); - } - - /** - * editWriteConfig - */ - async editWriteConfig(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("id", editParam.id).eq("form_id", editParam.formId).eq("site_id", editParam.siteId); - const existingConfig: DiyFormWriteConfig = this.diyFormWriteConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isEmpty(existingConfig)) { - throw new BadRequestException("表单填写配置不存在"); - } - BeanUtil.copyProperties(editParam, existingConfig); - existingConfig.setLabelIds(editParam.getLabelIds().toString()); - existingConfig.setFormWriteRule(editParam.getFormWriteRule().toString()); - existingConfig.setMemberWriteRule(editParam.getMemberWriteRule().toString()); - existingConfig.setLevelIds(editParam.getLevelIds().toString()); - - - const timeLimitRule: Record = editParam.getTimeLimitRule(); - if(timeLimitRule.containsKey("specify_time") && timeLimitRule.getJSONArray("specify_time").size() > 0) - { - const specifyTime: JSONArray = timeLimitRule.getJSONArray("specify_time"); - const specifyTimeVo: JSONArray = new JSONArray(); - specifyTimeVo.push(DateUtils.StringToTimestamp(specifyTime.getStr(0))); - specifyTimeVo.push(DateUtils.StringToTimestamp(specifyTime.getStr(1))); - timeLimitRule.put("specify_time", specifyTimeVo); - } - - if(timeLimitRule.containsKey("open_day_time") && timeLimitRule.getJSONArray("open_day_time").size() > 0) - { - const beginOfDay: number = DateUtil.beginOfDay(DateUtil.date()).getTime() / 1000; - const openDayTime: JSONArray = timeLimitRule.getJSONArray("open_day_time"); - const openDayTimeVo: JSONArray = new JSONArray(); - const startTimeStr: string = DateUtil.format(DateUtil.date(), "yyyy-MM-dd") + " " + openDayTime.getStr(0) + ":00"; - const endTimeStr: string = DateUtil.format(DateUtil.date(), "yyyy-MM-dd") + " " + openDayTime.getStr(1) + ":00"; - openDayTimeVo.push(DateUtils.StringToTimestamp(startTimeStr) - beginOfDay); - openDayTimeVo.push(DateUtils.StringToTimestamp(endTimeStr) - beginOfDay); - timeLimitRule.put("specify_time", openDayTimeVo); - } - existingConfig.setTimeLimitRule(timeLimitRule.toString()); - existingConfig.updateTime = Date.now( / 1000); - diyFormWriteConfigMapper.updateById(existingConfig); - } - - /** - * getSubmitConfig - */ - async getSubmitConfig(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId).eq("form_id", formId).last("limit 1"); - const submitConfig: DiyFormSubmitConfig = this.diyFormSubmitConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - const infoVo: DiyFormSubmitConfigInfoVo = new DiyFormSubmitConfigInfoVo(); - BeanUtil.copyProperties(submitConfig, infoVo); - return infoVo; - } - - /** - * addSubmitConfig - */ - async addSubmitConfig(...args: any[]): Promise { - if (addParam.formId == null) { - throw new BadRequestException("缺少表单id"); - } - const submitConfig: DiyFormSubmitConfig = new DiyFormSubmitConfig(); - submitConfig.setSubmitAfterAction(addParam.getSubmitAfterAction()); - submitConfig.setSuccessAfterAction(addParam.getSuccessAfterAction().toString()); - submitConfig.setTimeLimitRule(addParam.getTimeLimitRule().toString()); - submitConfig.setTimeLimitType(addParam.getTimeLimitType()); - submitConfig.siteId = addParam.siteId; - submitConfig.setVoucherContentRule(addParam.getVoucherContentRule().toString()); - submitConfig.setTipsText(addParam.getTipsText()); - submitConfig.setTipsType(addParam.getTipsType()); - submitConfig.setFormId(addParam.formId); - submitConfig.createTime = Date.now( / 1000); - submitConfig.updateTime = Date.now( / 1000); - this.diyFormSubmitConfigRepository.save(submitConfig); - } - - /** - * editSubmitConfig - */ - async editSubmitConfig(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("id", editParam.id).eq("site_id", editParam.siteId).eq("form_id", editParam.formId); - const existingConfig: DiyFormSubmitConfig = this.diyFormSubmitConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isEmpty(existingConfig)) { - throw new BadRequestException("表单提交成功页配置不存在"); - } - existingConfig.setSubmitAfterAction(editParam.getSubmitAfterAction()); - existingConfig.setSuccessAfterAction(editParam.getSuccessAfterAction().toString()); - existingConfig.setTimeLimitRule(editParam.getTimeLimitRule().toString()); - existingConfig.setTimeLimitType(editParam.getTimeLimitType()); - - existingConfig.setVoucherContentRule(editParam.getVoucherContentRule().toString()); - existingConfig.setTipsText(editParam.getTipsText()); - existingConfig.setTipsType(editParam.getTipsType()); - - - existingConfig.updateTime = Date.now( / 1000); - diyFormSubmitConfigMapper.updateById(existingConfig); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-records-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-records-service-impl.service.ts deleted file mode 100644 index bb05bf41..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/diy_form/impl/core-diy-form-records-service-impl.service.ts +++ /dev/null @@ -1,269 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CoreDiyFormRecordsServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * page - */ - async page(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - MPJany /* TODO: QueryWrapper */ queryWrapper = new MPJQueryWrapper(); - - //sql语句 - queryWrapper.select("ndfr.record_id, ndfr.site_id, ndfr.form_id, ndfr.value, ndfr.member_id, ndfr.relate_id, ndfr.create_time, nm.username, nm.member_no, nm.mobile, nm.nickname, nm.headimg") - .setAlias("ndfr") - .leftJoin("?_member nm ON ndfr.member_id = nm.member_id".replace("?_", this.appConfig.tablePrefix)); - - queryWrapper.eq("ndfr.site_id", searchParam.siteId); - if (CommonUtils.isNotEmpty(searchParam.formId)) { - queryWrapper.eq("ndfr.form_id", searchParam.formId); - } - if (CommonUtils.isNotEmpty(searchParam.keyword)) { - queryWrapper.and(i => i.or(j => j.like("nm.nickname", searchParam.keyword)) - .or(j => j.like("nm.username", searchParam.keyword)) - .or(j => j.like("nm.member_no", searchParam.keyword)) - .or(j => j.like("nm.mobile", searchParam.keyword)) - ); - } - - queryWrapper.orderByDesc("ndfr.create_time"); - [DiyFormRecordsListVo[], number] iPage = diyFormRecordsMapper.selectJoinPage(new Page<>(page, limit), DiyFormRecordsListVo.class, queryWrapper); - - for (const vo of iPageRecords) { - const list: DiyFormRecordsFields[] = this.diyFormRecordsFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - - const memberVo: Member = new Member(); - Object.assign(memberVo, vo); - vo.setMember(memberVo); - if (CommonUtils.isNotEmpty(list)) { - const map: Record = {}; - for (const item of list) { - const diyFormRecordsFieldsListVo: DiyFormRecordsFieldsListVo = new DiyFormRecordsFieldsListVo(); - Object.assign(diyFormRecordsFieldsListVo, item); - map.put(item.getFieldKey(), diyFormRecordsFieldsListVo); - } - vo.setRecordsFieldList(map); - } - } - return PageResult.build(iPage); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: DiyFormRecords = this.diyFormRecordsRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", this.requestContext.siteId)); - - - if (!model) throw new BadRequestException("万能表单填写记录不存在"); - - const vo: DiyFormRecordsInfoVo = new DiyFormRecordsInfoVo(); - Object.assign(vo, model); - const list: DiyFormRecordsFields[] = this.diyFormRecordsFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - if (CommonUtils.isNotEmpty(list)) { - const map: Record = {}; - for (const item of list) { - const diyFormRecordsFieldsListVo: DiyFormRecordsFieldsListVo = new DiyFormRecordsFieldsListVo(); - Object.assign(diyFormRecordsFieldsListVo, item); - map.put(item.getFieldKey(), diyFormRecordsFieldsListVo); - } - vo.setRecordsFieldList(map); - } - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const diyForm: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("form_id", addParam.formId)); - if (diyForm == null) return null; - - if (diyForm.status == 0) return null; - - const model: DiyFormRecords = new DiyFormRecords(); - Object.assign(model, addParam); - model.createTime = Date.now( / 1000); - model.value = JSONUtil.toJsonStr(addParam.value); - this.diyFormRecordsRepository.save(model); - const list: DiyFormFields[] = this.diyFormFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("site_id", addParam.siteId)); - const fieldList: Record = {}; - if (CommonUtils.isNotEmpty(list)) { - - for (const item of list) { - fieldList.put(item.getFieldKey(), item); - } - } - const recordsFieldsList: DiyFormRecordsFields[] = []; - - if (CommonUtils.isNotEmpty(addParam.value)) { - const components: JSONArray = JSONUtil.parseArray(addParam.value); - for (const componentObj of components) { - const component: Record = JsonUtils.parseObject(componentObj); - // 过滤非表单组件和表单提交按钮组件 - if (!"diy_form".equals(component.getStr("componentType")) || "FormSubmit".equals(component.getStr("componentName")) || component.getBool("isHidden")) { - continue; - } - - const field: Record = component.getRecord("field"); - const fieldValue: Object = field.get("value"); - const checkFieldValue: Object = fieldValue; - if (fieldValue instanceof List) { - // 这里假设 DiyFormRecordsFieldsMapper 有对应的方法,需要根据实际情况修改 - // checkFieldValue = diyFormRecordsFieldsMapper.getRenderValueAttr("", (List) fieldValue, component.get("componentName")); - checkFieldValue = ""; - } - - const formFieldInfo: DiyFormFields = fieldList.get(component.getStr("id")); - if (formFieldInfo != null) { - if (formFieldInfo.getFieldRequired() == 1 && fieldValue == null) { - throw new BadRequestException(field.getOrDefault("name", component.get("componentTitle")) + "不能为空"); - } else if (checkFieldValue == null) { - // 过滤空数据 - continue; - } - - // 检测字段是否重复 - any /* TODO: QueryWrapper */ uniqueQuery = new QueryWrapper(); - uniqueQuery.eq("site_id", addParam.siteId) - .eq("form_id", addParam.formId) - .eq("field_key", component.get("id")) - .eq("field_type", component.get("componentName")); - const fieldValues: Object[] = diyFormRecordsFieldsMapper.selectObjs(uniqueQuery); - if (formFieldInfo.getFieldUnique() == 1 && fieldValues.includes(fieldValue)) { - throw new BadRequestException(field.getOrDefault("name", component.get("componentTitle")) + "不能重复"); - } - } else if (checkFieldValue == null) { - // 过滤空数据 - continue; - } - - if (fieldValue instanceof List) { - // 这里假设使用 JSON 工具类,需要根据实际情况引入 - fieldValue = JSONUtil.parseArray(fieldValue).toString(); - } - - const recordsField: DiyFormRecordsFields = new DiyFormRecordsFields(); - recordsField.siteId = addParam.siteId; - recordsField.setFormId(addParam.formId); - recordsField.setRecordId(model.getRecordId()); - recordsField.memberId = addParam.memberId; - recordsField.setFieldKey(component.get("id")); - recordsField.setFieldType(component.get("componentName")); - recordsField.setFieldName(field.getOrDefault("name", "")); - recordsField.setFieldValue(fieldValue.toString()); - recordsField.setFieldRequired((boolean) field.get("required") ? 1 : 0); - recordsField.setFieldHidden((boolean) component.get("isHidden") ? 1 : 0); - recordsField.setFieldUnique(component.containsKey("unique") && (boolean) component.get("unique") ? 1 : 0); - recordsField.setPrivacyProtection(component.containsKey("privacyProtection") && (boolean) component.get("privacyProtection") ? 1 : 0); - recordsField.createTime = Date.now( / 1000); - recordsField.updateTime = Date.now( / 1000); - recordsFieldsList.push(recordsField); - } - } - - if ((recordsFieldsList && recordsFieldsList.length > 0)) { - this.diyFormRecordsFieldsRepository.save(recordsFieldsList); - - // 累计填写数量 - this.diyFormRepository.save(new UpdateWrapper().eq("form_id", addParam.formId).setSql(" write_num = write_num + 1")); - - for (const field of recordsFieldsList) { - // 字段累计填写数量 - this.diyFormFieldsRepository.save(new UpdateWrapper().eq("form_id", addParam.formId).eq("field_key", field.getFieldKey()).eq("site_id", addParam.siteId).setSql(" write_num = write_num + 1")); - } - } - return model.getRecordId(); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.diyFormRecordsRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId)); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - // 验证表单状态 - const formInfo: DiyForm = this.diyFormRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .select(DiyForm::getFormId, DiyForm::getStatus) - .eq(DiyForm::getFormId, param.formId) - .last("LIMIT 1")); - - if (formInfo == null) { - return; - } - if (formInfo.status == 0) { - return; - } - - // 更新主记录 - this.diyFormRecordsRepository.save(null, new LambdaUpdateWrapper() - .eq(DiyFormRecords::getRecordId, param.getRecordId()) - .set(DiyFormRecords::getValue, JSONUtil.toJsonStr(param.value))); - - // 获取字段配置 - const formFieldMap: Record = this.diyFormFieldsRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .select(DiyFormFields::getFieldKey, - DiyFormFields::getFieldRequired, - DiyFormFields::getFieldUnique) - .eq(DiyFormFields::getFormId, param.formId)) - .stream() - .collect(/* Collectors已删除 */.toMap(DiyFormFields::getFieldKey, Function.identity())); - - // 处理字段数据 - const recordsFields: DiyFormRecordsFields[] = []; - if (StringUtils.isNotEmptyArray(param.value)) { - for (const comp of param.value) { - if (!(comp instanceof Record)) continue; - const component: Record = (Record) comp; - - // 过滤无效组件 - const componentType: string = component.getStr("componentType"); - const componentName: string = component.getStr("componentName"); - const isHidden: boolean = component.getBool("isHidden", false); - - if (!"diy_form".equals(componentType) || - "FormSubmit".equals(componentName) || - boolean.TRUE === isHidden) { - continue; - } - - // 获取字段值 - const field: Record = component.getRecord("field"); - const fieldValue: Object = field != null ? field.get("value") : null; - const fieldKey: string = component.getStr("id"); - - // 字段验证 - const fieldConfig: DiyFormFields = formFieldMap.get(fieldKey); - if (fieldConfig != null) { - validateField(fieldConfig, fieldValue, component, param); - } else if (fieldValue == null || - (fieldValue instanceof String && StrUtil.isBlank(fieldValue))) { - continue; - } - - // 构建字段记录 - recordsFields.push(buildRecordField(param, component, fieldValue)); - } - } - - // 更新字段记录 - updateRecordFields(param, recordsFields); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-account-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-account-service-impl.service.ts deleted file mode 100644 index f250554f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-account-service-impl.service.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils } from '@wwjBoot'; - -@Injectable() -export class CoreMemberAccountServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * addLog - */ - async addLog(...args: any[]): Promise { - const memberQuery: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("site_id", siteId).eq("member_id", memberId); - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (!member) throw new BadRequestException("会员不存在"); - - const accountData: BigDecimal = new BigDecimal(data); - const memberWrapper: BeanWrapper = new BeanWrapperImpl(member); - const originalData: BigDecimal = new BigDecimal(new number(memberWrapper.getPropertyValue(StringUtils.toCamelCase(accountType)).toString())); - - const accountNewData: BigDecimal = originalData.push(accountData); - if (accountNewData.signum() < 0) throw new BadRequestException("账户余额不足"); - - // 添加账户变更记录 - const model: MemberAccountLog = new MemberAccountLog(); - model.siteId = siteId; - model.memberId = memberId; - model.setAccountType(accountType); - model.setAccountData(accountData); - model.setAccountSum(accountNewData); - model.setFromType(fromType); - model.setMemo(memo); - model.setRelatedId(relatedId); - model.createTime = Date.now( / 1000); - this.memberAccountLogRepository.save(model); - - // 修改会员账户 - const memberModel: Member = new Member(); - memberModel.memberId = memberId; - const updateMemberWrapper: BeanWrapper = new BeanWrapperImpl(memberModel); - updateMemberWrapper.setPropertyValue(StringUtils.toCamelCase(accountType), accountNewData); - if (accountData.signum() > 0) { - const originalGetData: BigDecimal = new BigDecimal(new number(memberWrapper.getPropertyValue(StringUtils.toCamelCase(accountType + "_get")).toString())); - updateMemberWrapper.setPropertyValue(StringUtils.toCamelCase(accountType + "_get"), originalGetData.push(accountData)); - } - memberMapper.updateById(memberModel); - - // 账户变更事件 - const accountEvent: MemberAccountEvent = new MemberAccountEvent(); - accountEvent.siteId = siteId; - accountEvent.addAppSign("core"); - accountEvent.name = "MemberAccountEvent"; - accountEvent.setAccountType(accountType); - accountEvent.setAccountData(accountData); - accountEvent.setAccountNewData(accountNewData); - accountEvent.memberId = memberId; - EventAndSubscribeOfPublisher.publishAll(accountEvent); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-cash-out-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-cash-out-service-impl.service.ts deleted file mode 100644 index f4f52037..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-cash-out-service-impl.service.ts +++ /dev/null @@ -1,242 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreMemberCashOutServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * apply - */ - async apply(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", param.siteId)); - if (CommonUtils.isEmpty(member)) throw new BadRequestException("会员不存在"); - - const config: CashOutConfigVo = this.coreMemberConfigService.getCashOutConfig(param.siteId); - if (config.getIsOpen() === "0") throw new BadRequestException("会员提现业务未开启"); - - const applyMoney: BigDecimal = param.getApplyMoney(); - if (applyMoney.compareTo(BigDecimal.ZERO) <= 0) throw new BadRequestException("提现金额必须大于0"); - if (param.getAccountType() == AccountTypeEnum.MONEY.type && applyMoney.compareTo(member.getMoney()) > 0) throw new BadRequestException("提现金额不能大于账户余额"); - if (param.getAccountType() == AccountTypeEnum.COMMISSION.type && applyMoney.compareTo(member.getCommission()) > 0) throw new BadRequestException("提现金额不能大于账户可提现金额"); - if (applyMoney.compareTo(config.getMin()) < 0) throw new BadRequestException("提现金额不能小于最低提现金额"); - if (!config.getTransferType().includes(param.getTransferType())) throw new BadRequestException("当前会员提现方式未启用"); - - const cashoutAccount: MemberCashOutAccount = new MemberCashOutAccount(); - if (!param.getTransferType() === TransferTypeEnum.WECHATPAY.key) { - cashoutAccount = this.memberCashOutAccountRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", param.siteId) - .eq("account_id", param.getAccountId())); - if (CommonUtils.isEmpty(cashoutAccount)) throw new BadRequestException("提现账户不存在"); - } - - const serviceMoney: BigDecimal = applyMoney.multiply(config.getRate()).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP); - - const model: MemberCashOut = new MemberCashOut(); - model.memberId = param.memberId; - model.siteId = param.siteId; - model.setCashOutNo(CommonUtils.createNo()); - model.setAccountType(param.getAccountType()); - model.setApplyMoney(applyMoney); - model.setServiceMoney(serviceMoney); - model.setMoney(applyMoney.subtract(serviceMoney)); - model.setTransferType(param.getTransferType()); - model.setTransferRealname(ObjectUtil.defaultIfNull(cashoutAccount.getRealname(), "")); - model.setTransferMobile(member.getMobile()); - model.setTransferBank(ObjectUtil.defaultIfNull(cashoutAccount.getBankName(), "")); - model.setTransferAccount(ObjectUtil.defaultIfNull(cashoutAccount.getAccountNo(), "")); - model.setRate(config.getRate()); - model.setTransferPaymentCode(ObjectUtil.defaultIfNull(cashoutAccount.getTransferPaymentCode(), "")); - model.setTransferPayee(ObjectUtil.isNull(param.getTransferPayee()) ? "" : JsonUtils.parseObject(param.getTransferPayee()).toString()); - - this.addCashOutRecord(model, member, config); - return model.id; - } - - /** - * audit - */ - async audit(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .last("limit 1")); - - if (!cashOut) throw new BadRequestException("提现记录不存在"); - - if (!cashOut.status === MemberCashOutStatusEnum.WAIT_AUDIT.status) { - throw new BadRequestException("当前提现申请未处于待审核状态"); - } - - switch (action) { - case "agree": - this.agree(siteId, cashOut, param); - break; - case "refuse": - this.refuse(siteId, cashOut, param); - break; - } - } - - /** - * agree - */ - async agree(...args: any[]): Promise { - cashOut.setAuditTime(Date.now() / 1000); - cashOut.status = MemberCashOutStatusEnum.WAIT_TRANSFER.status; - memberCashOutMapper.updateById(cashOut); - } - - /** - * transfer - */ - async transfer(...args: any[]): Promise { - if (!cashOut) throw new BadRequestException("提现记录不存在"); - if (!cashOut.status === MemberCashOutStatusEnum.WAIT_TRANSFER.status && !cashOut.status === MemberCashOutStatusEnum.TRANSFER_ING.status) throw new BadRequestException("当前提现申请未处于待转账状态"); - - if (CommonUtils.isEmpty(cashOut.getTransferNo())) { - const transfer: PayTransfer = new PayTransfer(); - transfer.siteId = cashOut.siteId; - transfer.setMainType(PayMainType.MEMBER.type); - transfer.setMainId(cashOut.memberId); - transfer.setMoney(cashOut.getMoney()); - transfer.setTradeType("member_cash_out"); - transfer.setRemark(""); - transfer.setExtra(""); - cashOut.setTransferNo(this.coreTransferService.create(transfer)); - cashOut.status = MemberCashOutStatusEnum.TRANSFER_ING.status; - memberCashOutMapper.updateById(cashOut); - } - - const data: Record = {}; - data.put("transfer_voucher", ObjectUtil.defaultIfEmpty(param.getTransferVoucher(), "")); - data.put("transfer_remark", ObjectUtil.defaultIfEmpty(param.getTransferRemark(), "")); - - const transferType: string = ObjectUtil.defaultIfNull(param.getTransferType(), cashOut.getTransferType()); - - if (transferType !== "offline") { - data.put("transfer_type", cashOut.getTransferType()); - data.put("transfer_realname", cashOut.getTransferRealname()); - data.put("transfer_mobile", cashOut.getTransferMobile()); - data.put("transfer_bank", cashOut.getTransferBank()); - data.put("transfer_account", cashOut.getTransferAccount()); - data.put("transfer_payment_code", cashOut.getTransferPaymentCode()); - - if (cashOut.getTransferType() === TransferTypeEnum.WECHATPAY.key) { - const transferPayee: Record = new Record(); - transferPayee.put("open_id", param.getOpenId()); - transferPayee.put("channel", param.getChannel()); - data.put("transfer_payee", transferPayee.toString()); - } - } else { - transferType = cashOut.getTransferType(); - } - - return this.coreTransferService.transfer(cashOut.siteId, cashOut.getTransferNo(), transferType, data); - } - - /** - * transferFinish - */ - async transferFinish(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - if (!cashOut) throw new BadRequestException("提现记录不存在"); - if (!cashOut.status === MemberCashOutStatusEnum.WAIT_TRANSFER.status && !cashOut.status === MemberCashOutStatusEnum.TRANSFER_ING.status) throw new BadRequestException("当前提现申请未处于待转账状态"); - - cashOut.setTransferTime(Date.now() / 1000); - cashOut.status = MemberCashOutStatusEnum.TRANSFERED.status; - memberCashOutMapper.updateById(cashOut); - - this.give(cashOut); - } - - /** - * refuse - */ - async refuse(...args: any[]): Promise { - cashOut.setAuditTime(Date.now() / 1000); - cashOut.status = MemberCashOutStatusEnum.REFUSE.status; - cashOut.setRefuseReason(param.getRefuseReason() == null ? "": param.getRefuseReason()); - memberCashOutMapper.updateById(cashOut); - - this.giveback(cashOut); - } - - /** - * give - */ - async give(...args: any[]): Promise { - const member: Member = memberMapper.selectById(cashOut.memberId); - - const updateMember: Member = new Member(); - updateMember.memberId = member.memberId; - if (cashOut.getAccountType() === AccountTypeEnum.MONEY.type) { - updateMember.setMoneyCashOuting(member.getMoneyCashOuting().subtract(cashOut.getApplyMoney())); - } - if (cashOut.getAccountType() === AccountTypeEnum.COMMISSION.type) { - updateMember.setCommissionCashOuting(member.getCommissionCashOuting().subtract(cashOut.getApplyMoney())); - } - memberMapper.updateById(updateMember); - } - - /** - * giveback - */ - async giveback(...args: any[]): Promise { - const member: Member = memberMapper.selectById(cashOut.memberId); - - // 扣除对应账户金额 - this.coreMemberAccountService.addLog(cashOut.siteId, cashOut.memberId, cashOut.getAccountType(), cashOut.getApplyMoney().doubleValue(), "cash_out", "提现被拒绝,返还零钱", cashOut.id.toString()); - - const updateMember: Member = new Member(); - updateMember.memberId = member.memberId; - if (cashOut.getAccountType() === AccountTypeEnum.MONEY.type) { - updateMember.setMoneyCashOuting(member.getMoneyCashOuting().subtract(cashOut.getApplyMoney())); - } - if (cashOut.getAccountType() === AccountTypeEnum.COMMISSION.type) { - updateMember.setCommissionCashOuting(member.getCommissionCashOuting().subtract(cashOut.getApplyMoney())); - } - memberMapper.updateById(updateMember); - } - - /** - * cancel - */ - async cancel(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId)); - if (!cashOut) throw new BadRequestException("提现记录不存在"); - - const status: number[] = new number[]{ - MemberCashOutStatusEnum.WAIT_AUDIT.status, - MemberCashOutStatusEnum.WAIT_TRANSFER.status, - MemberCashOutStatusEnum.TRANSFER_ING.status - }; - if (!ObjectUtil.includes(status, cashOut.status)) { - throw new BadRequestException("当前提现申请不支持撤销"); - } - - if (cashOut.getTransferType() === TransferTypeEnum.WECHATPAY.key && cashOut.status === MemberCashOutStatusEnum.TRANSFER_ING.status) { - // 微信提现撤销 - this.coreTransferService.cancel(cashOut.siteId, cashOut.getTransferNo()); - } - - cashOut.status = MemberCashOutStatusEnum.CANCEL.status; - memberCashOutMapper.updateById(cashOut); - - giveback(cashOut); - } - - /** - * checkTransferStatus - */ - async checkTransferStatus(...args: any[]): Promise { - const cashOut: MemberCashOut = this.memberCashOutRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId)); - if (!cashOut) throw new BadRequestException("提现记录不存在"); - - this.coreTransferService.check(cashOut.siteId, cashOut.getTransferNo()); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-config-service-impl.service.ts deleted file mode 100644 index 9c6bbd3e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-config-service-impl.service.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreMemberConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getCoreMemberService - */ - async getCoreMemberService(...args: any[]): Promise { - this.coreMemberService = coreMemberService; - } - - /** - * getLoginConfig - */ - async getLoginConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "LOGIN"); - return Object.assign(new LoginConfigVo(), config) /* TODO: 检查LoginConfigVo构造函数 */; - } - - /** - * setLoginConfig - */ - async setLoginConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, "LOGIN", JsonUtils.parseObject(configParam)); - } - - /** - * getCashOutConfig - */ - async getCashOutConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "member_cash_out"); - return Object.assign(new CashOutConfigVo(), config) /* TODO: 检查CashOutConfigVo构造函数 */; - } - - /** - * setCashOutConfig - */ - async setCashOutConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, "member_cash_out", JsonUtils.parseObject(configParam)); - } - - /** - * getMemberConfig - */ - async getMemberConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "MEMBER"); - return Object.assign(new MemberConfigVo(), config) /* TODO: 检查MemberConfigVo构造函数 */; - } - - /** - * setMemberConfig - */ - async setMemberConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, "MEMBER", JsonUtils.parseObject(configParam)); - } - - /** - * getGrowthRuleConfig - */ - async getGrowthRuleConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "GROWTH_RULE"); - if (config != null) config = this.coreMemberService.getGrowthRuleContent(siteId, config, "admin"); - return config; - } - - /** - * setGrowthRuleConfig - */ - async setGrowthRuleConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, "GROWTH_RULE", configParam); - } - - /** - * getPointRuleConfig - */ - async getPointRuleConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "POINT_RULE"); - if (config != null) { - const grant: Record = config.get("consume") instanceof Record ? config.getRecord("grant") : new Record(); - if (grant != null && grant.length > 0) config.set("grant", this.coreMemberService.getPointGrantRuleContent(siteId, grant, "admin")); - const consume: Record = config.get("consume") instanceof Record ? config.getRecord("consume") : new Record(); - if (consume != null && consume.length > 0) config.set("consume", this.coreMemberService.getPointConsumeRuleContent(siteId, consume, "admin")); - } - return config; - } - - /** - * setPointRuleConfig - */ - async setPointRuleConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, "POINT_RULE", configParam); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-level-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-level-service-impl.service.ts deleted file mode 100644 index 1623a8f3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-level-service-impl.service.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreMemberLevelServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * checkLevelUpgrade - */ - async checkLevelUpgrade(...args: any[]): Promise { - try { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_id", memberId).eq("site_id", siteId)); - if (member == null) return; - - // 查询达到的等级 - const upgradeQuery: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */; - upgradeQuery.eq("site_id", siteId); - upgradeQuery.le("growth", member.getGrowth()); - if (member.getMemberLevel() > 0) { - const memberLevel: MemberLevel = this.memberLevelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("level_id", member.getMemberLevel())); - if (memberLevel != null) { - upgradeQuery.gt("growth", memberLevel.getGrowth()); - } - } - upgradeQuery.orderByAsc("growth"); - const upgrade: MemberLevel[] = this.memberLevelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - - if (CommonUtils.isNotEmpty(upgrade)) { - const vars: Record = new HashRecord(); - vars.put("from_type", "level_upgrade"); - vars.put("memo", "会员升级奖励"); - - for (const level of upgrade) { - if (CommonUtils.isNotEmpty(level.getLevelGifts()) && JSONUtil.isJson(level.getLevelGifts())) { - this.coreMemberService.memberGiftGrant(siteId, memberId, JsonUtils.parseObject(level.getLevelGifts()), vars); - } - } - - const end: MemberLevel = upgrade.get(upgrade.length - 1); - member.setMemberLevel(end.getLevelId()); - memberMapper.updateById(member); - } - } catch (e) { - log.info("会员检测升级异常"); - console.error(e); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-service-impl.service.ts deleted file mode 100644 index 6bec0e8b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/member/impl/core-member-service-impl.service.ts +++ /dev/null @@ -1,341 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, StringUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreMemberServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getMember - */ - async getMember(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId); - queryWrapper.eq("member_id", memberId); - return this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * createMemberNo - */ - async createMemberNo(...args: any[]): Promise { - const site: Site = siteMapper.selectById(siteId); - const memberConfig: MemberConfigVo = this.coreMemberConfigService.getMemberConfig(siteId); - - const no: string = (site.getMemberNo() + 1) + ""; - const memberNo: string = memberConfig.getPrefix() + (memberConfig.getPrefix().length() > memberConfig.getLength() ? no : StringUtils.leftPad(no, memberConfig.getLength() - memberConfig.getPrefix().length(), "0")); - - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_no", memberNo).last("limit 1")); - - if (member == null) { - return memberNo; - } - - site.setMemberNo(number.parseInt(no)); - siteMapper.updateById(site); - - return this.createMemberNo(siteId); - } - - /** - * getMemberCount - */ - async getMemberCount(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - if (CommonUtils.isNotEmpty(memberStatSearchParam.siteId)) { - queryWrapper.eq("site_id", memberStatSearchParam.siteId); - } - if (ObjectUtil.isNotNull(memberStatSearchParam.createTime)) { - const createTime: string[] = memberStatSearchParam.createTime; - const startTime: number = (createTime[0] == "") ? 0 : DateUtils.StringToTimestamp(createTime[0]); - const endTime: number = (createTime[1] == "") ? 0 : DateUtils.StringToTimestamp(createTime[1]); - if (startTime > 0 && endTime > 0) { - queryWrapper.between("create_time", startTime, endTime); - } else if (startTime > 0 && endTime == 0) { - queryWrapper.ge("create_time", startTime); - } else if (startTime == 0 && endTime > 0) { - queryWrapper.le("create_time", endTime); - } - } - if (ObjectUtil.isNotNull(memberStatSearchParam.getSex())) { - queryWrapper.eq("sex", memberStatSearchParam.getSex()); - } - if (ObjectUtil.isNotNull(memberStatSearchParam.getLastVisitTime())) { - const lastVisitTime: string[] = memberStatSearchParam.getLastVisitTime(); - const startLastVisitTime: number = (lastVisitTime[0] == "") ? 0 : DateUtils.StringToTimestamp(lastVisitTime[0]); - const endLastVisitTime: number = (lastVisitTime[1] == "") ? 0 : DateUtils.StringToTimestamp(lastVisitTime[1]); - if (startLastVisitTime > 0 && endLastVisitTime > 0) { - queryWrapper.between("last_visit_time", startLastVisitTime, endLastVisitTime); - } else if (startLastVisitTime > 0 && endLastVisitTime == 0) { - queryWrapper.ge("last_visit_time", startLastVisitTime); - } else if (startLastVisitTime == 0 && endLastVisitTime > 0) { - queryWrapper.le("last_visit_time", endLastVisitTime); - } - } - const memberCount: number = this.memberRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }); - return memberCount.intValue(); - } - - /** - * getGiftContent - */ - async getGiftContent(...args: any[]): Promise { - if (gifts == null) gifts = new Record(); - - const giftEnum: Record = GiftEnum.type; - - for (const key of gifts.keySet()) { - try { - const config: Record = gifts.getRecord(key); - const driver: string = giftEnum.getByPath(key + ".content." + scene + ".driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("content", number.class, Record.class, String.class); - const params: Object[] = {siteId, config, scene}; - const content: Object = method.invoke(obj, params); - gifts.putByPath(key + ".content", content); - } - } catch (e) { - console.error(e); - } - } - - return gifts; - } - - /** - * getBenefitsContent - */ - async getBenefitsContent(...args: any[]): Promise { - if (benefits == null) benefits = new Record(); - const benefitsEnum: Record = BenefitsEnum.type; - - for (const key of benefits.keySet()) { - try { - const config: Record = benefits.getRecord(key); - const driver: string = benefitsEnum.getByPath(key + ".content." + scene + ".driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("content", number.class, Record.class, String.class); - const params: Object[] = {siteId, config, scene}; - const content: Object = method.invoke(obj, params); - benefits.putByPath(key + ".content", content); - } - } catch (e) { - console.error(e); - } - } - - return benefits; - } - - /** - * getGrowthRuleContent - */ - async getGrowthRuleContent(...args: any[]): Promise { - const growthRuleEnum: Record = GrowthRuleEnum.type; - - for (const key of rules.keySet()) { - try { - const config: Record = rules.getRecord(key); - const driver: string = growthRuleEnum.getByPath(key + ".content." + scene + ".driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("content", number.class, Record.class, String.class); - const params: Object[] = {siteId, config, scene}; - const content: Object = method.invoke(obj, params); - rules.putByPath(key + ".content", content); - } - } catch (e) { - console.error(e); - } - } - - return rules; - } - - /** - * getPointGrantRuleContent - */ - async getPointGrantRuleContent(...args: any[]): Promise { - const pointRuleEnum: Record = PointRuleEnum.type.getRecord("grant"); - - for (const key of rules.keySet()) { - try { - const config: Record = rules.getRecord(key); - const driver: string = pointRuleEnum.getByPath(key + ".content." + scene + ".driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("content", number.class, Record.class, String.class); - const params: Object[] = {siteId, config, scene}; - const content: Object = method.invoke(obj, params); - rules.putByPath(key + ".content", content); - } - } catch (e) { - console.error(e); - } - } - - return rules; - } - - /** - * getPointConsumeRuleContent - */ - async getPointConsumeRuleContent(...args: any[]): Promise { - const pointRuleEnum: Record = PointRuleEnum.type.getRecord("consume"); - - for (const key of rules.keySet()) { - try { - const config: Record = rules.getRecord(key); - const driver: string = pointRuleEnum.getByPath(key + ".content." + scene + ".driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("content", number.class, Record.class, String.class); - const params: Object[] = {siteId, config, scene}; - const content: Object = method.invoke(obj, params); - rules.putByPath(key + ".content", content); - } - } catch (e) { - console.error(e); - } - } - - return rules; - } - - /** - * sendGrowth - */ - async sendGrowth(...args: any[]): Promise { - const ruleConfig: Record = this.coreMemberConfigService.getGrowthRuleConfig(siteId); - if (ruleConfig == null) return; - - const config: Record = ruleConfig.getRecord(key); - if (config == null || config.getInt("is_use", 0).equals(0)) return; - - const rule: Record = GrowthRuleEnum.type.getRecord(key); - if (rule == null) return; - - const driver: string = ObjectUtil.defaultIfNull(rule.getByPath("calculate.driver", String.class), ""); - if ((!driver || driver.length === 0)) return; - - try { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("calculate", number.class, String.class, Record.class, Map.class); - const params: Object[] = {siteId, key, config, data}; - const growth: Object = method.invoke(obj, params); - - if (growth instanceof number && growth > 0) { - const accountData: number = number.parseDouble(growth.toString()); - this.coreMemberAccountService.addLog(siteId, memberId, AccountTypeEnum.GROWTH.type, accountData, String(ObjectUtil.defaultIfNull(data.get("from_type"), "")), String(ObjectUtil.defaultIfNull(data.get("memo"), "")), String(ObjectUtil.defaultIfNull(data.get("related_id"), ""))); - } - } catch (e) { - console.log("成长值发放异常"); - console.error(e); - } - } - - /** - * sendPoint - */ - async sendPoint(...args: any[]): Promise { - const ruleConfig: Record = this.coreMemberConfigService.getPointRuleConfig(siteId).getRecord("grant"); - if (ruleConfig == null) return; - - const config: Record = ruleConfig.getRecord(key); - if (config == null || config.getInt("is_use", 0).equals(0)) return; - - const rule: Record = PointRuleEnum.type.getRecord("grant"); - if (rule == null) return; - - const driver: string = ObjectUtil.defaultIfNull(rule.getByPath(key + ".calculate.driver", String.class), ""); - if ((!driver || driver.length === 0)) return; - - try { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("calculate", number.class, String.class, Record.class, Map.class); - const params: Object[] = {siteId, key, config, data}; - const growth: Object = method.invoke(obj, params); - - if (growth instanceof number && growth > 0) { - const accountData: number = number.parseDouble(growth.toString()); - this.coreMemberAccountService.addLog(siteId, memberId, AccountTypeEnum.POINT.type, accountData, String(ObjectUtil.defaultIfNull(data.get("from_type"), "")), String(ObjectUtil.defaultIfNull(data.get("memo"), "")), String(ObjectUtil.defaultIfNull(data.get("related_id"), ""))); - } - } catch (e) { - console.log("积分发放异常"); - console.error(e); - } - } - - /** - * memberGiftGrant - */ - async memberGiftGrant(...args: any[]): Promise { - if (gifts == null) return; - - const giftEnum: Record = GiftEnum.type; - - try { - for (const key of gifts.keySet()) { - const config: Record = gifts.getRecord(key); - const driver: string = giftEnum.getByPath(key + ".grant.driver"); - if (config.getInt("is_use") != null && config.getInt("is_use") > 0 && driver != null && (driver && driver.length > 0)) { - Class clazz = ClassLoaderUtil.loadClass(driver); - const obj: Object = clazz.getDeclaredConstructor().newInstance(); - const method: Method = clazz.getMethod("grant", number.class, number.class, Record.class, Map.class); - const params: Object[] = {siteId, memberId, config, vars}; - method.invoke(obj, params); - } - } - } catch (e) { - console.error(e); - console.log("会员礼包发放失败"); - } - } - - /** - * getInfoByMemberId - */ - async getInfoByMemberId(...args: any[]): Promise { - const member: Member = this.memberRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("member_id", memberId)); - return member; - } - - /** - * getMemberInfo - */ - async getMemberInfo(...args: any[]): Promise { - const member: Member = memberMapper.selectById(memberId); - const result: MemberInfoDto = new MemberInfoDto(); - Object.assign(result, member); - if(StringUtils.isNotEmpty(member.getHeadimg())){ - result.setHeadimgSmall(CommonUtils.thumbImageSmall(member.siteId, member.getHeadimg())); - result.setHeadimgMiddle(CommonUtils.thumbImageMiddle(member.siteId, member.getHeadimg())); - result.setHeadimgBig(CommonUtils.thumbImageBig(member.siteId, member.getHeadimg())); - } - const label: MemberLabelInfoVo = new MemberLabelInfoVo(); - const level: MemberLevelInfoVo = new MemberLevelInfoVo(); - try { - label = this.memberLabelService.info(memberId); - level = this.memberLevelService.info(memberId); - } catch (e) { - log.error("获取会员标签或会员等级失败:{}", e.message); - } finally { - result.setLabelInfo(label); - result.setLevelInfo(level); - } - return result; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-service-impl.service.ts deleted file mode 100644 index c79ad73e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-service-impl.service.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreNoticeServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setCoreSiteService - */ - async setCoreSiteService(...args: any[]): Promise { - this.coreNoticeService = coreNoticeService; - } - - /** - * find - */ - async find(...args: any[]): Promise { - const queryWrapper: QueryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId); - queryWrapper.eq("`key`", key); - const sysNotice: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - return sysNotice; - } - - /** - * getAddonList - */ - async getAddonList(...args: any[]): Promise { - const list: SysNotice[] = this.sysNoticeRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ })); - const map: Record = new const notice: Record<>(); - if (ObjectUtil.isNotNull(list)) { - for (const item of list) { - map.put(item.key, item); - } - } - Record = {}; - for (Map.Entry noticeMap : NoticeEnum.getNotice().entrySet()) { - - const vo: NoticeInfoVo = new NoticeInfoVo(); - BeanUtil.copyProperties(noticeMap.value, vo); - if (map.containsKey(noticeMap.key)) { - BeanUtil.copyProperties(map.get(noticeMap.key), vo); - } - - //针对短信,微信公众号,小程序配置 - if (CommonUtils.isNotEmpty(noticeMap.value.getSupport_type_map())) { - for (Map.Entry> supportTypeMap : noticeMap.value.getSupport_type_map().entrySet()) { - if (supportTypeMap.key === "sms") { - vo.setSms(supportTypeMap.value); - } - if (supportTypeMap.key === "wechat") { - vo.setWechat(supportTypeMap.value); - } - if (supportTypeMap.key === "weapp") { - vo.setWeapp(supportTypeMap.value); - } - - } - } - notice.put(noticeMap.key, vo); - } - - const addonList: Addon[] = this.coreSiteService.getSiteAddons(siteId); - const adminAddon: Addon = new Addon(); - adminAddon.key = "system"; - adminAddon.title = "系统"; - addonList.push(0, adminAddon); - const noticeAddonList: AddonNoticeListVo[] = []; - for (const addon of addonList) { - const noticeListVo: AddonNoticeListVo = new AddonNoticeListVo(); - noticeListVo.key = addon.key; - noticeListVo.title = addon.title; - noticeListVo.setNotice([]); - for (Map.Entry noticeMap : notice.entrySet()) { - if (noticeListVo.key === noticeMap.getValue(.getAddon())) { - noticeListVo.getNotice().add(noticeMap.value); - } - } - noticeAddonList.push(noticeListVo); - } - return noticeAddonList; - } - - /** - * getInfo - */ - async getInfo(...args: any[]): Promise { - if (!NoticeEnum.getNotice().containsKey(key)) throw new BadRequestException("消息类型不存在"); - - const vo: NoticeInfoVo = new NoticeInfoVo(); - const notice: NoticeEnumListVo = NoticeEnum.getNotice().get(key); - BeanUtil.copyProperties(notice, vo); - - for (const type of notice.getSupport_type_map().keySet()) { - ReflectCallField.setForInstance(vo, type, notice.getSupport_type_map().get(type)); - } - - const model: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("`key`", key)); - if (model != null) { - BeanUtil.copyProperties(model, vo); - } - - return vo; - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const queryWrapper: QueryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */; - queryWrapper.eq("`key`", key); - queryWrapper.eq("site_id", siteId); - - const model: SysNotice = this.sysNoticeRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - if (CommonUtils.isNotEmpty(model)) { - const sysNotice: SysNotice = Object.assign(new SysNotice(), data) /* TODO: 检查SysNotice构造函数 */; - this.sysNoticeRepository.save(sysNotice, queryWrapper); - } else { - const sysNotice: SysNotice = Object.assign(new SysNotice(), data) /* TODO: 检查SysNotice构造函数 */; - sysNotice.siteId = siteId; - const noticeEnum: NoticeEnumListVo = NoticeEnum.getNotice().get(key); - BeanUtil.copyProperties(noticeEnum, sysNotice); - this.sysNoticeRepository.save(sysNotice); - } - } - - /** - * send - */ - async send(...args: any[]): Promise { - const notice: NoticeInfoVo = getInfo(siteId, key); - if (notice == null) return; - - if (notice.getAsync()) { - this.coreNoticeService.asyncSend(siteId, notice, data); - } else { - syncSend(siteId, notice, data); - } - } - - /** - * syncSend - */ - async syncSend(...args: any[]): Promise { - SendNoticeEventDefiner.const event: SendNoticeEvent = new SendNoticeEventDefiner.SendNoticeEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "SendNoticeEvent"; - event.key = notice.key; - event.setNoticeData(NoticeLoader.getDriver(notice.key).noticeData(data)); - event.setNotice(notice); - EventAndSubscribeOfPublisher.publishAndCallback(event); - } - - /** - * asyncSend - */ - async asyncSend(...args: any[]): Promise { - SendNoticeEventDefiner.const event: SendNoticeEvent = new SendNoticeEventDefiner.SendNoticeEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "SendNoticeEvent"; - event.key = notice.key; - event.setNoticeData(NoticeLoader.getDriver(notice.key).noticeData(data)); - event.setNotice(notice); - EventAndSubscribeOfPublisher.publishAndCallback(event); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-sms-log-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-sms-log-service-impl.service.ts deleted file mode 100644 index eafd4071..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/notice/impl/core-notice-sms-log-service-impl.service.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreNoticeSmsLogServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [SysNoticeSmsLog[], number] iPage = this.sysNoticeSmsLogRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - return PageResult.build(page, limit, iPageTotal).setData(iPageRecords); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: SysNoticeSmsLog = this.sysNoticeSmsLogRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })); - return model; - } - - /** - * add - */ - async add(...args: any[]): Promise { - this.sysNoticeSmsLogRepository.save(addParam); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - sysNoticeSmsLogMapper.updateById(editParam); - } - - /** - * del - */ - async del(...args: any[]): Promise { - this.sysNoticeSmsLogRepository.delete(id); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-channel-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-channel-service-impl.service.ts deleted file mode 100644 index f1e80d00..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-channel-service-impl.service.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CorePayChannelServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setCorePayService - */ - async setCorePayService(...args: any[]): Promise { - this.corePayService = corePayService; - } - - /** - * find - */ - async find(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.select("config"); - queryWrapper.eq("site_id", siteId); - queryWrapper.eq("type", type); - queryWrapper.eq("channel", channel); - queryWrapper.eq("status", 1); - return this.payChannelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * getAllowPayTypeByChannel - */ - async getAllowPayTypeByChannel(...args: any[]): Promise { - const list: PayTypeVo[] = []; - - const payChannelList: PayChannel[] = this.payChannelRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .eq("status", 1) - .eq("channel", channel)); - - for (const item of payChannelList) { - if (item.config.isEmpty()) continue; - const type: PayTypeVo = this.corePayService.driver(siteId, channel, item.type).filterPayTypeByTradeType(tradeType); - if (type != null) { - type.setConfig(item.config); - list.push(type); - } - } - - return list; - } - - /** - * getConfigByChannelAndType - */ - async getConfigByChannelAndType(...args: any[]): Promise { - const payChannel: PayChannel = this.payChannelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .eq("channel", channel) - .eq("status", 1) - .eq("type", type)); - - if (payChannel == null || payChannel.config.isEmpty()) return null; - - const config: Record = JsonUtils.parseObject(payChannel.config); - - if (type === "wechatpay") { - const wechatConfig: WechatConfigVo = this.coreWechatConfigService.getWechatConfig(siteId); - const weappConfig: WeappConfigVo = this.coreWeappConfigService.getWeappConfig(siteId); - config.set("mp_app_id", ObjectUtil.defaultIfNull(wechatConfig.getAppId(), "")); - config.set("mini_app_id", ObjectUtil.defaultIfNull(weappConfig.getAppId(), "")); - config.set("app_id", ""); - } - - return config; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-event-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-event-service-impl.service.ts deleted file mode 100644 index 147ac43d..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-event-service-impl.service.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CorePayEventServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * list - */ - async list(...args: any[]): Promise { - const page: number = pageParam.page; - const limit: number = pageParam.limit; - - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.orderByDesc("id"); - - [PayRefund[], number] iPage = this.payRefundRepository.findAndCount({ /* TODO: 将MyBatis分页参数改为TypeORM的skip/take */ }), queryWrapper); - const list: PayRefundListVo[] = []; - for (const item of iPageRecords) { - const vo: PayRefundListVo = new PayRefundListVo(); - Object.assign(vo, item); - list.push(vo); - } - return PageResult.build(page, limit, iPageTotal).setData(list); - } - - /** - * info - */ - async info(...args: any[]): Promise { - const model: PayRefund = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在"); - - const vo: PayRefundInfoVo = new PayRefundInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const model: PayRefund = new PayRefund(); - model.siteId = addParam.siteId; - model.setRefundNo(addParam.getRefundNo()); - model.setOutTradeNo(addParam.getOutTradeNo()); - model.type = addParam.type; - model.setChannel(addParam.getChannel()); - model.setMoney(addParam.getMoney()); - model.setReason(addParam.getReason()); - model.status = addParam.status; - model.createTime = Date.now( / 1000); - model.setRefundTime(addParam.getRefundTime()); - model.setCloseTime(addParam.getCloseTime()); - model.setFailReason(addParam.getFailReason()); - model.setVoucher(addParam.getVoucher()); - model.setTradeType(addParam.getTradeType()); - model.setTradeId(addParam.getTradeId()); - model.setRefundType(addParam.getRefundType()); - model.setMainType(addParam.getMainType()); - model.setMainId(addParam.getMainId()); - model.setPayRefundNo(addParam.getPayRefundNo()); - this.payRefundRepository.save(model); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const model: PayRefund = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - model.id = id; - model.siteId = editParam.siteId; - model.setRefundNo(editParam.getRefundNo()); - model.setOutTradeNo(editParam.getOutTradeNo()); - model.type = editParam.type; - model.setChannel(editParam.getChannel()); - model.setMoney(editParam.getMoney()); - model.setReason(editParam.getReason()); - model.status = editParam.status; - model.setRefundTime(editParam.getRefundTime()); - model.setCloseTime(editParam.getCloseTime()); - model.setFailReason(editParam.getFailReason()); - model.setVoucher(editParam.getVoucher()); - model.setTradeType(editParam.getTradeType()); - model.setTradeId(editParam.getTradeId()); - model.setRefundType(editParam.getRefundType()); - model.setMainType(editParam.getMainType()); - model.setMainId(editParam.getMainId()); - model.setPayRefundNo(editParam.getPayRefundNo()); - payRefundMapper.updateById(model); - } - - /** - * del - */ - async del(...args: any[]): Promise { - const model: PayRefund = this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .last("limit 1")); - - if (!model) throw new BadRequestException("数据不存在!"); - - this.payRefundRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-service-impl.service.ts deleted file mode 100644 index 1d9c2da4..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-pay-service-impl.service.ts +++ /dev/null @@ -1,283 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CorePayServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * pay - */ - async pay(...args: any[]): Promise { - const pay: Pay = this.checkOrCreate(param.siteId, param.getTradeType(), param.getTradeId()); - if (pay.getBody().length() > 15) { - pay.setBody(pay.getBody().substring(0, 15) + "..."); - } - param.setPay(pay); - param.setNotifyUrl(buildNotifyUrl(param.siteId, param.getChannel(), param.type, "pay")); - - const driver: BasePay = this.driver(param.siteId, param.getChannel(), param.type); - - const json: Record = {}; - json.put("openid", param.getOpenid()); - pay.setJson(JSONUtil.toJsonStr(json)); - this.payMapper.updateById(pay); - - return driver.pay(param); - } - - /** - * asyncNotify - */ - async asyncNotify(...args: any[]): Promise { - return this.driver(param.siteId, param.getChannel(), param.type).asyncNotify(param, request, response); - } - - /** - * payNotify - */ - async payNotify(...args: any[]): Promise { - const pay: Pay = this.findPayInfoByOutTradeNo(param.siteId, param.getOutTradeNo()); - if (pay == null) throw new BadRequestException("未获取到支付单据"); - if (pay.status === PayStatusEnum.STATUS_FINISH.getCode()) throw new BadRequestException("单据已支付"); - if (pay.status === PayStatusEnum.STATUS_CANCLE.getCode()) throw new BadRequestException("当前支付已取消"); - - // 支付成功 - if (param.getPayStatus().getStatus() === OnliepayStatusEnum.SUCCESS.status) { - this.paySuccess(pay, param); - } - // 支付关闭 - if (param.getPayStatus().getStatus() === OnliepayStatusEnum.CLOSED.status) { - this.payClose(param.siteId, pay); - } - } - - /** - * buildNotifyUrl - */ - async buildNotifyUrl(...args: any[]): Promise { - const param: string[] = {siteId.toString(), channel, type, action}; - const baseUrl: string = ""; - if (RequestUtils.handler() != null) { - baseUrl = RequestUtils.getDomain(true); - cached.put("payBaseurl", baseUrl); - } else if (cached.get("payBaseurl") != null) { - baseUrl = cached.get("payBaseurl"); - } else { - throw new BadRequestException("build notify url error"); - } - return baseUrl + "/api/pay/notify/" + String.join("/", param); - } - - /** - * checkOrCreate - */ - async checkOrCreate(...args: any[]): Promise { - const pay: Pay = this.findPayInfoByTrade(siteId, tradeType, tradeId); - if (pay == null) { - return this.createByTrade(siteId, tradeType, tradeId); - } - if (pay.status === PayStatusEnum.STATUS_FINISH.getCode()) throw new BadRequestException("当前支付已完成"); - if (pay.status === PayStatusEnum.STATUS_ING.getCode() || pay.status === PayStatusEnum.STATUS_CANCLE.getCode()) { - if (pay.status === PayStatusEnum.STATUS_ING.getCode()) { - this.close(siteId, pay); - } - return this.createByTrade(siteId, tradeType, tradeId); - } - return pay; - } - - /** - * driver - */ - async driver(...args: any[]): Promise { - const config: Record = ObjectUtil.defaultIfNull(this.corePayChannelService.getConfigByChannelAndType(siteId, channel, type), new Record()); - return PayLoader.getDriver(type).init(config); - } - - /** - * getInfoByTrade - */ - async getInfoByTrade(...args: any[]): Promise { - const pay: Pay = findPayInfoByTrade(siteId, tradeType, tradeId); - - if (pay == null) { - pay = createByTrade(siteId, tradeType, tradeId); - } - - const vo: GetInfoByTradeVo = new GetInfoByTradeVo(); - BeanUtil.copyProperties(pay, vo); - - const payTypeList: PayTypeVo[] = this.corePayChannelService.getAllowPayTypeByChannel(siteId, channel, tradeType); - vo.setPayTypeList(payTypeList); - - if (CommonUtils.isNotEmpty(payTypeList) && ObjectUtil === scene, "friendspay") { - payTypeList - .filter(pt => pt.key === "friendspay") - .findFirst() - .ifPresent(payTypeVo => vo.setConfig(JsonUtils.parseObject(payTypeVo.config))); - vo.setPayTypeList(payTypeList.filter(pt => !pt.key === "friendspay")); - } - - return vo; - } - - /** - * findPayInfoByTrade - */ - async findPayInfoByTrade(...args: any[]): Promise { - return this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("trade_type", tradeType) - .eq("trade_id", tradeId) - .ne("status", PayStatusEnum.STATUS_CANCLE.getCode()) - ); - } - - /** - * findPayInfoByOutTradeNo - */ - async findPayInfoByOutTradeNo(...args: any[]): Promise { - return this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("out_trade_no", outTradeNo) - ); - } - - /** - * createByTrade - */ - async createByTrade(...args: any[]): Promise { - PayCreateEventDefiner.const event: PayCreateEvent = new PayCreateEventDefiner.PayCreateEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "PayCreateEvent"; - event.setTradeType(tradeType); - event.setTradeId(tradeId); - const eventData: PayCreateEventDefiner.PayCreateEventResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - - if (eventData.length == 0) throw new BadRequestException("无效的交易类型"); - PayCreateEventDefiner.const data: PayCreateEventResult = eventData.get(0); - - const model: Pay = new Pay(); - BeanUtil.copyProperties(data, model); - model.siteId = siteId; - model.setTradeType(tradeType); - model.setTradeId(tradeId); - model.setOutTradeNo(createOutTradeNo()); - model.createTime = Date.now( / 1000); - model.setChannel(RequestUtils.channel()); - this.payRepository.save(model); - - return this.findPayInfoByOutTradeNo(siteId, model.getOutTradeNo()); - } - - /** - * paySuccess - */ - async paySuccess(...args: any[]): Promise { - BeanUtil.copyProperties(param, pay); - pay.status = PayStatusEnum.STATUS_FINISH.getCode(); - pay.setPayTime(Date.now() / 1000); - - payMapper.updateById(pay); - - const event: PaySuccessEvent = new PaySuccessEvent(); - event.siteId = param.siteId; - event.addAppSign("core"); - event.name = "PaySuccessEvent"; - event.setTradeType(pay.getTradeType()); - event.setTradeId(pay.getTradeId()); - event.setPay(pay); - EventAndSubscribeOfPublisher.publishAll(event); - - const printParam: SysPrinterPrintTicketParam = new SysPrinterPrintTicketParam(); - printParam.siteId = pay.siteId; - printParam.type = "shopGoodsOrder"; - printParam.setTrigger("pay_after"); - SysPrinterPrintTicketParam.const business: Business = new SysPrinterPrintTicketParam.Business(); - business.setOrderId(pay.getTradeId()); - printParam.setBusiness(business); - this.corePrinterService.printTicket(printParam); - } - - /** - * payClose - */ - async payClose(...args: any[]): Promise { - pay.status = PayStatusEnum.STATUS_CANCLE.getCode(); - pay.setCancelTime(Date.now() / 1000); - payMapper.updateById(pay); - - const event: PayCloseEvent = new PayCloseEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "PayCloseEvent"; - event.setTradeType(pay.getTradeType()); - event.setTradeId(pay.getTradeId()); - EventAndSubscribeOfPublisher.publishAll(event); - } - - /** - * close - */ - async close(...args: any[]): Promise { - const pay: Pay = this.findPayInfoByOutTradeNo(siteId, outTradeNo); - if (pay == null) throw new BadRequestException("无效的支付交易号"); - if (pay.status === PayStatusEnum.STATUS_CANCLE.getCode()) return; - if (!pay.status === PayStatusEnum.STATUS_ING.getCode() && !pay.status === PayStatusEnum.STATUS_WAIT.getCode()) { - throw new BadRequestException("只有待支付时可以关闭"); - } - - if (pay.status === PayStatusEnum.STATUS_ING.getCode() && !pay.type.isEmpty()) { - this.driver(siteId, pay.getChannel(), pay.type).close(pay); - } - - this.payClose(siteId, pay); - } - - /** - * closeByTrade - */ - async closeByTrade(...args: any[]): Promise { - const pay: Pay = findPayInfoByTrade(siteId, tradeType, tradeId); - if (pay == null) return; - - if (pay.status === PayStatusEnum.STATUS_ING.getCode() || pay.status === PayStatusEnum.STATUS_WAIT.getCode()) { - this.close(siteId, pay); - } - } - - /** - * getPayTypeByTrade - */ - async getPayTypeByTrade(...args: any[]): Promise { - return this.corePayChannelService.getAllowPayTypeByChannel(siteId, channel.getCode(), tradeType); - } - - /** - * create - */ - async create(...args: any[]): Promise { - // 生成订单号 - const outTradeNo: string = com.niu.core.common.utils.CommonUtils.createNo(); - // 创建支付对象 - const pay: Pay = new Pay(); - pay.siteId = siteId; - pay.setMoney(money); - pay.setTradeType(tradeType); - pay.setTradeId(tradeId); - pay.setBody(body); - pay.setOutTradeNo(outTradeNo); - pay.setMainId(mainId); - pay.setFromMainId(mainId); - pay.setMainType(mainType); - - // 保存到数据库 - this.payRepository.save(pay); - - return pay; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-refund-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-refund-service-impl.service.ts deleted file mode 100644 index 092be494..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-refund-service-impl.service.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreRefundServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * create - */ - async create(...args: any[]): Promise { - const pay: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("out_trade_no", param.getOutTradeNo())); - if (pay == null) throw new BadRequestException("无效的支付交易号"); - if (param.getMoney().compareTo(new BigDecimal(0)) <= 0) throw new BadRequestException("退款金额需大于0元"); - - const model: PayRefund = new PayRefund(); - model.siteId = param.siteId; - model.setMoney(param.getMoney()); - model.type = pay.type; - model.setChannel(pay.getChannel()); - model.setOutTradeNo(pay.getOutTradeNo()); - model.setRefundNo(createRefundNo()); - model.setReason(param.getReason()); - model.setTradeType(param.getTradeType()); - model.setTradeId(param.getTradeId()); - model.status = RefundStatusEnum.WAIT.status; - model.createTime = Date.now( / 1000); - - this.payRefundRepository.save(model); - return model.getRefundNo(); - } - - /** - * refund - */ - async refund(...args: any[]): Promise { - const refund: PayRefund = this.findPayInfoByOutTradeNo(param.siteId, param.getRefundNo()); - if (refund == null) throw new BadRequestException("无效的退款单据"); - - const pay: Pay = this.payRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })).eq("out_trade_no", refund.getOutTradeNo())); - if (pay == null) throw new BadRequestException("无效的支付交易号"); - - if (param.getRefundType() === RefundTypeEnum.BACK.key) { - const refundParam: RefundParam = new RefundParam(); - refundParam.siteId = param.siteId; - refundParam.setRefundNo(param.getRefundNo()); - refundParam.setOutTradeNo(refund.getOutTradeNo()); - refundParam.setMoney(refund.getMoney()); - refundParam.setTotal(pay.getMoney()); - refundParam.setNotifyUrl(this.corePayService.buildNotifyUrl(param.siteId, refund.getChannel(), refund.type, "refund")); - this.corePayService.driver(param.siteId, refund.getChannel(), refund.type).refund(refundParam); - } else if (param.getRefundType() === RefundTypeEnum.OFFLINE.key) { - refund.setVoucher(param.getVoucher()); - this.payRefundMapper.updateById(refund); - const notifyParam: RefundNotifyParam = new RefundNotifyParam(); - notifyParam.setRefundNo(param.getRefundNo()); - notifyParam.siteId = param.siteId; - notifyParam.setOutTradeNo(refund.getOutTradeNo()); - notifyParam.type = param.getRefundType(); - notifyParam.setRefundStatus(RefundTransferStatusEnum.SUCCESS); - refundNotify(notifyParam); - } - } - - /** - * findPayInfoByOutTradeNo - */ - async findPayInfoByOutTradeNo(...args: any[]): Promise { - return this.payRefundRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("refund_no", refundNo) - ); - } - - /** - * refundNotify - */ - async refundNotify(...args: any[]): Promise { - const refund: PayRefund = findPayInfoByOutTradeNo(param.siteId, param.getRefundNo()); - if (refund == null) throw new BadRequestException("退款单据不存在"); - if (!refund.status === RefundStatusEnum.WAIT.status && !refund.status === RefundStatusEnum.DEALING.status) { - throw new BadRequestException("退款状态已发生变化"); - } - - refund.setRefundType(param.type); - - // 退款成功 - if (param.getRefundStatus().getStatus() === RefundTransferStatusEnum.SUCCESS.status) { - this.refundSuccess(param.siteId, refund); - } - // 退款失败 - if (param.getRefundStatus().getStatus() === RefundTransferStatusEnum.ABNORMAL.status) { - this.refundFail(param.siteId, refund); - } - } - - /** - * refundSuccess - */ - async refundSuccess(...args: any[]): Promise { - refund.status = RefundStatusEnum.SUCCESS.status; - refund.setRefundTime(Date.now() / 1000); - payRefundMapper.updateById(refund); - - const event: RefundSuccessEvent = new RefundSuccessEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.setTradeType(refund.getTradeType()); - event.setTradeId(refund.getTradeId()); - event.setRefund(refund); - event.name = "RefundSuccessEvent"; - EventAndSubscribeOfPublisher.publishAll(event); - } - - /** - * refundFail - */ - async refundFail(...args: any[]): Promise { - refund.status = RefundStatusEnum.FAIL.status; - payRefundMapper.updateById(refund); - - const event: RefundFailEvent = new RefundFailEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.setTradeType(refund.getTradeType()); - event.setTradeId(refund.getTradeId()); - event.setRefund(refund); - event.name = "RefundFailEvent"; - EventAndSubscribeOfPublisher.publishAll(event); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-scene-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-scene-service-impl.service.ts deleted file mode 100644 index 1cdd81cc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-scene-service-impl.service.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreTransferSceneServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWechatTransferSceneConfig - */ - async getWechatTransferSceneConfig(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, ConfigKeyEnum.path.basename(WECHAT_TRANSFER_SCENE_CONFIG)); - if (ObjectUtil.isNull(config)) return new Record(); - return config; - } - - /** - * setWechatTransferSceneConfig - */ - async setWechatTransferSceneConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(WECHAT_TRANSFER_SCENE_CONFIG), data); - } - - /** - * setTradeScene - */ - async setTradeScene(...args: any[]): Promise { - const tradeScene: PayTransferScene = this.payTransferSceneRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("type", type)); - - const model: PayTransferScene = new PayTransferScene(); - model.siteId = siteId; - model.type = type; - model.setPerception(param.getPerception()); - model.setScene(param.getScene()); - model.setInfos(param.getInfos().toString()); - - if (tradeScene == null) { - model.createTime = Date.now( / 1000); - this.payTransferSceneRepository.save(model); - } else { - model.id = tradeScene.id; - payTransferSceneMapper.updateById(model); - } - } - - /** - * getSceneInfoByType - */ - async getSceneInfoByType(...args: any[]): Promise { - const tradeScene: PayTransferScene = this.payTransferSceneRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("type", type)); - - const vo: TransferSceneInfo = new TransferSceneInfo(); - if (tradeScene == null) { - const transferScene: Record = JsonModuleLoader.build().mergeResultElement(this.requestContext.siteId, "pay/wechat_transfer_scene.json"); - vo = Object.assign(new TransferSceneInfo(), transferScene.getRecord(type)) /* TODO: 检查TransferSceneInfo构造函数 */; - } else { - BeanUtil.copyProperties(tradeScene, vo); - } - - const config: Record = getWechatTransferSceneConfig(siteId); - vo.setSceneId(config.getStr(vo.getScene(), "")); - - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-service-impl.service.ts deleted file mode 100644 index 3ab29a35..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/pay/impl/core-transfer-service-impl.service.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreTransferServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * create - */ - async create(...args: any[]): Promise { - model.setTransferNo(createTransferNo()); - model.setTransferStatus(TransferStatusEnum.WAIT.status); - model.createTime = Date.now( / 1000); - this.payTransferRepository.save(model); - return model.getTransferNo(); - } - - /** - * findTransferByTransferNo - */ - async findTransferByTransferNo(...args: any[]): Promise { - return this.payTransferRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("transfer_no", transferNo)); - } - - /** - * transfer - */ - async transfer(...args: any[]): Promise { - const transfer: PayTransfer = findTransferByTransferNo(siteId, transferNo); - if (transfer == null) throw new BadRequestException("无效的转账单据"); - if (!transfer.getTransferStatus() === TransferStatusEnum.WAIT.status && !transfer.getTransferStatus() === TransferStatusEnum.FAIL.status) { - throw new BadRequestException("当前转账未处于待转账状态"); - } - - transfer.setTransferType(transferType); - transfer.setTransferRemark(data.getOrDefault("transfer_remark", "")); - transfer.setTransferVoucher(data.getOrDefault("transfer_voucher", "")); - transfer.setTransferRealname(data.getOrDefault("transfer_realname", "")); - transfer.setTransferBank(data.getOrDefault("transfer_bank", "")); - transfer.setTransferMobile(data.getOrDefault("transfer_mobile", "")); - transfer.setTransferAccount(data.getOrDefault("transfer_account", "")); - transfer.setOpenid(data.getOrDefault("openid", "")); - transfer.setTransferPayee(data.getOrDefault("transfer_payee", "")); - transfer.setTransferPaymentCode(data.getOrDefault("transfer_payment_code", "")); - payTransferMapper.updateById(transfer); - - const transferTypeEnum: Map = TransferTypeEnum.getMap().get(transferType); - if (transferTypeEnum == null) throw new BadRequestException("不支持的转账方式"); - - if ((boolean) transferTypeEnum.get("is_online")) { - const param: TransferParam = new TransferParam(); - param.setTransfer(transfer); - param.setNotifyUrl(this.corePayService.buildNotifyUrl(siteId, "transfer", transferType, "transfer")); - return this.corePayService.driver(siteId, "transfer", transferType).transfer(param); - } - this.success(transfer); - return null; - } - - /** - * transferNotify - */ - async transferNotify(...args: any[]): Promise { - const transfer: PayTransfer = findTransferByTransferNo(param.siteId, param.getTransferNo()); - if (transfer == null) throw new BadRequestException("无效的转账单据"); - if (!transfer.getTransferStatus() === TransferStatusEnum.WAIT.status && !transfer.getTransferStatus() === TransferStatusEnum.FAIL.status) { - throw new BadRequestException("当前转账未处于待转账状态"); - } - - if (param.getTransferStatus().getStatus() === TransferStatusEnum.SUCCESS.status) { - this.success(transfer); - } else if (param.getTransferStatus().getStatus() === TransferStatusEnum.FAIL.status) { - transfer.setTransferFailReason(param.getFailReason()); - this.fail(transfer); - } else { - transfer.setTransferStatus(param.getTransferStatus().getStatus()); - this.dealing(transfer); - } - } - - /** - * cancel - */ - async cancel(...args: any[]): Promise { - const transfer: PayTransfer = findTransferByTransferNo(siteId, transferNo); - if (transfer == null) throw new BadRequestException("无效的转账单据"); - - const status: string[] = new String[]{ - TransferStatusEnum.WAIT.status, - TransferStatusEnum.DEALING.status, - TransferStatusEnum.FAIL.status, - TransferStatusEnum.WAIT_USER.status, - TransferStatusEnum.WAIT_USER_ING.status, - TransferStatusEnum.FAIL_ING.status - }; - if (!ObjectUtil.includes(status, transfer.getTransferStatus())) { - throw new BadRequestException("转账状态已发生变化"); - } - - this.corePayService.driver(siteId, "transfer", transfer.getTransferType()).transferCancel(transferNo); - } - - /** - * check - */ - async check(...args: any[]): Promise { - const transfer: PayTransfer = findTransferByTransferNo(siteId, transferNo); - if (transfer == null) throw new BadRequestException("无效的转账单据"); - - const status: string[] = new String[]{ - TransferStatusEnum.WAIT.status, - TransferStatusEnum.DEALING.status, - TransferStatusEnum.FAIL.status, - TransferStatusEnum.WAIT_USER.status, - TransferStatusEnum.WAIT_USER_ING.status, - TransferStatusEnum.FAIL_ING.status - }; - if (!ObjectUtil.includes(status, transfer.getTransferStatus())) { - throw new BadRequestException("只有待转账和转账中的订单可以校验"); - } - - const transferResult: TransferQueryVo = this.corePayService.driver(siteId, "transfer", transfer.getTransferType()).transferQuery(transferNo); - if (transferResult == null) throw new BadRequestException("查询不到转账信息"); - - const param: TransferNotifyParam = new TransferNotifyParam(); - param.siteId = siteId; - param.setTransferNo(transferNo); - param.setTransferStatus(transferResult.getTransferSatus()); - param.setFailReason(ObjectUtil.defaultIfNull(transferResult.getFailReason(), "")); - - transferNotify(param); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/poster/impl/core-poster-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/poster/impl/core-poster-service-impl.service.ts deleted file mode 100644 index 389c1705..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/poster/impl/core-poster-service-impl.service.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class CorePosterServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * get - */ - async get(...args: any[]): Promise { - const query: QueryWrapper = new QueryWrapper(); - query.eq("site_id", param.siteId); - query.eq("type", param.type); - query.eq("status", 1); - query.last("limit 1"); - if (CommonUtils.isNotEmpty(param.id) && param.id > 0) { - query.eq("id", param.id); - } else { - query.eq("is_default", 1); - } - const model: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - - try { - // 海报模板 - const poster: Record = new Record(); - if (model == null) { - const template: JSONArray = template("", param.type); - if (template.length > 0) { - poster = template.getRecord(0).getRecord("data"); - } - } else { - poster = JsonUtils.parseObject(model.value); - } - - // 获取海报数据 - GetPosterDataEventDefiner.const event: GetPosterDataEvent = new GetPosterDataEventDefiner.GetPosterDataEvent(); - event.siteId = param.siteId; - event.addAppSign("core"); - event.name = "GetPosterDataEvent"; - event.type = param.type; - event.setParam(param.getParam()); - event.setChannel(param.getChannel()); - const eventData: GetPosterDataEventDefiner.GetPosterDataResult[] = EventAndSubscribeOfPublisher.publishAndCallback(event); - if (eventData.length == 0) throw new BadRequestException("未获取到海报数据"); - - GetPosterDataEventDefiner.const posterData: GetPosterDataResult = eventData.get(0); - - const dir: string = "upload/poster/" + param.siteId + "/"; - const posterName: string = "poster_" + SecureUtil.md5(poster.toString()) + "_" + SecureUtil.md5(JsonUtils.parseObject(posterData).toString()) + "_" + param.getChannel() + ".png"; - - if (fs.existsSync(this.appConfig.webRootDownResource, dir + posterName)) { - return dir + posterName; - } - - // 绘制海报 - create(param.siteId, poster, posterData.data, dir, posterName); - return dir + posterName; - } catch (e) { - console.log("海报生成错误"); - console.error(e); - if (param.getIsThrowException()) throw new BadRequestException(e.message); - return ""; - } - } - - /** - * template - */ - async template(...args: any[]): Promise { - final const template: JSONArray = new JSONArray(); - if (CommonUtils.isNotEmpty(addon)) { - const coreTemplate: JSONArray = JsonModuleLoader.build().findResultSet("code", "poster/template.json"); - coreTemplate.forEach(e => template.push(e)); - - const addonTemplate: JSONArray = JsonModuleLoader.build().findResultSet(addon, "poster/template.json"); - addonTemplate.forEach(e => template.push(e)); - } else { - const all: JSONArray = JsonModuleLoader.build().mergeResultSet("poster/template.json"); - all.forEach(e => template.push(e)); - } - - if (CommonUtils.isNotEmpty(type) && template.length > 0) { - return CollUtil.filter(template, i => { - const item: Record = (Record) i; - return item.getStr("type", "").equals(type); - }); - } - - return template; - } - - /** - * add - */ - async add(...args: any[]): Promise { - const sysPoster: SysPoster = new SysPoster(); - Object.assign(sysPoster, param); - this.sysPosterRepository.save(sysPoster); - } - - /** - * getDefaultPosterIdByType - */ - async getDefaultPosterIdByType(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = new QueryWrapper(); - queryWrapper.eq("site_id", siteId) - .eq("type", type) - .eq("addon", addon) - .eq("is_default", 1) - .eq("status", 1); - - const poster: SysPoster = this.sysPosterRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }); - return poster != null ? poster.id : 0; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/schedule/impl/core-schedule-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/schedule/impl/core-schedule-service-impl.service.ts deleted file mode 100644 index 828fa94f..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/schedule/impl/core-schedule-service-impl.service.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class CoreScheduleServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * installSystemSchedule - */ - async installSystemSchedule(...args: any[]): Promise { - const jsonModuleLoader: JsonModuleLoader = new JsonModuleLoader(); - const schedule: JSONArray = jsonModuleLoader.getResultSet("core", "schedule.json"); - - if (CommonUtils.isNotEmpty(schedule)) { - const scheduleList: SysSchedule[] = this.sysScheduleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).select("id,`key`")); - const scheduleMap: Record = scheduleList.collect(/* Collectors已删除 */.toMap(SysSchedule::getKey, i => i)); - - const list: SysSchedule[] = []; - - for (const i of number = 0; i < schedule.length; i++) { - const item: Record = schedule.getRecord(i); - const key: string = item.getStr("key"); - if (scheduleMap.get(key) == null) { - const sysScheduleVo: SysSchedule = Object.assign(new SysSchedule(), item) /* TODO: 检查SysSchedule构造函数 */; - sysScheduleVo.setAddon(""); - sysScheduleVo.status = 1; - list.push(sysScheduleVo); - } - } - - if (list.length > 0) { - for (const sysScheduleVo of list) { - try { - QuartzJobManager.stopJob(sysScheduleVo.key); - QuartzJobManager.startJob(sysScheduleVo); - } catch (e) { - } - } - super.saveBatch(list); - } - } - } - - /** - * uninstallSystemSchedule - */ - async uninstallSystemSchedule(...args: any[]): Promise { - this.sysScheduleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * installAddonSchedule - */ - async installAddonSchedule(...args: any[]): Promise { - Map> addonModule = AddonModuleContext.getAddonModuleMap(); - const schedule: JSONArray = null; - if (addonModule.get(addon) != null) { - const jsonModuleLoader: JsonModuleLoader = new JsonModuleLoader(); - schedule = jsonModuleLoader.getResultSet(addon, "schedule.json"); - } else { - const file: string = this.appConfig.webRootDownAddon + addon + "/java/src/main/resources/"+ addon +"/loader/schedule.json"; - if (fs.existsSync(file)) { - try { - const content: string = fs.readFileSync(file); - if (CommonUtils.isNotEmpty(content)) { - schedule = JSONUtil.parseArray(content); - } - } catch (e) { - } - } - } - - if (CommonUtils.isNotEmpty(schedule)) { - const scheduleList: SysSchedule[] = this.sysScheduleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).select("id,`key`")); - const scheduleMap: Record = scheduleList.collect(/* Collectors已删除 */.toMap(SysSchedule::getKey, i => i)); - - const list: SysSchedule[] = []; - - for (const i of number = 0; i < schedule.length; i++) { - const item: Record = schedule.getRecord(i); - const key: string = item.getStr("key"); - if (scheduleMap.get(key) == null) { - const sysScheduleVo: SysSchedule = Object.assign(new SysSchedule(), item) /* TODO: 检查SysSchedule构造函数 */; - sysScheduleVo.setAddon(addon); - sysScheduleVo.status = 1; - list.push(sysScheduleVo); - } - } - - if (list.length > 0) { - for (const sysScheduleVo of list) { - try { - QuartzJobManager.stopJob(sysScheduleVo.key); - QuartzJobManager.startJob(sysScheduleVo); - } catch (e) { - } - } - super.saveBatch(list); - } - } - } - - /** - * uninstallAddonSchedule - */ - async uninstallAddonSchedule(...args: any[]): Promise { - this.sysScheduleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ })); - } - - /** - * resetSchedule - */ - async resetSchedule(...args: any[]): Promise { - try { - this.sysScheduleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - installSystemSchedule(); - const addonList: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).eq(Addon::getStatus, 1)); - addonList.forEach(addon => { - installAddonSchedule(addon.key); - }); - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-account-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-account-service-impl.service.ts deleted file mode 100644 index 2ec8d9e7..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-account-service-impl.service.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreSiteAccountServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * addPayLog - */ - async addPayLog(...args: any[]): Promise { - const model: SiteAccountLog = new SiteAccountLog(); - model.siteId = pay.siteId; - model.type = "pay"; - model.setMoney(pay.getMoney()); - model.setTradeNo(pay.getOutTradeNo()); - model.createTime = Date.now( / 1000); - this.siteAccountLogRepository.save(model); - return model.id; - } - - /** - * addRefundLog - */ - async addRefundLog(...args: any[]): Promise { - const model: SiteAccountLog = new SiteAccountLog(); - model.siteId = refund.siteId; - model.type = "refund"; - model.setMoney(refund.getMoney().multiply(new BigDecimal("-1"))); - model.setTradeNo(refund.getRefundNo()); - model.createTime = Date.now( / 1000); - this.siteAccountLogRepository.save(model); - return model.id; - } - - /** - * addTransferLog - */ - async addTransferLog(...args: any[]): Promise { - const model: SiteAccountLog = new SiteAccountLog(); - model.siteId = transfer.siteId; - model.type = "transfer"; - model.setMoney(transfer.getMoney().multiply(new BigDecimal("-1"))); - model.setTradeNo(transfer.getTransferNo()); - model.createTime = Date.now( / 1000); - this.siteAccountLogRepository.save(model); - return model.id; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-service-impl.service.ts deleted file mode 100644 index 7bec8f97..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/site/impl/core-site-service-impl.service.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreSiteServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAddonKeysBySiteId - */ - async getAddonKeysBySiteId(...args: any[]): Promise { - return cached.rememberObject(useCache, cacheTagName + "_" + siteId, ["getAddonKeysBySiteId", siteId], uniqueKey => { - - const siteInfo: Site = siteMapper.selectById(siteId); - if (ObjectUtil.isNull(siteInfo)) { - return new ArrayString[](); - } - //查询站点分组 - const siteGroup: SiteGroup = siteGroupMapper.selectById(siteInfo.getGroupId()); - const siteAddonJson: JSONArray = new JSONArray(); - if (!siteInfo.getAddons() === "") { - const addonJson: JSONArray = JSONUtil.parseArray(siteInfo.getAddons()); - siteAddonJson.addAll(addonJson); - } - if (!siteInfo.getApp() === "") { - const appJson: JSONArray = JSONUtil.parseArray(siteInfo.getApp()); - siteAddonJson.addAll(appJson); - } - if (ObjectUtil.isNotNull(siteGroup)) { - if (!siteGroup.getApp() === "") { - const groupAppJson: JSONArray = JSONUtil.parseArray(siteGroup.getApp()); - siteAddonJson.addAll(groupAppJson); - } - if (!siteGroup.getAddon() === "") { - const groupAddonJson: JSONArray = JSONUtil.parseArray(siteGroup.getAddon()); - siteAddonJson.addAll(groupAddonJson); - } - } - //去重 - const list: string[] = JSONUtil.toList(siteAddonJson, String.class); - return CollectionUtil.distinct(list); - }); - } - - /** - * getSiteCache - */ - async getSiteCache(...args: any[]): Promise { - const siteCache: SiteInfoCacheVo = cached.rememberObject(useCache, cacheTagName + "_" + siteId, ["getSiteCache", siteId], uniqueKey => { - MPJany /* TODO: QueryWrapper */ siteMPJQueryWrapper = new MPJQueryWrapper(); - siteMPJQueryWrapper.select("ns.site_id, ns.site_name, ns.group_id, ns.keywords, ns.app_type, ns.logo, ns.`desc`, ns.status, ns.latitude, ns.longitude, ns.province_id, ns.city_id, ns.district_id, ns.address, ns.full_address, ns.phone, ns.business_hours, ns.create_time, ns.expire_time, ns.front_end_name, ns.front_end_logo, ns.front_end_icon, ns.icon, ns.member_no, ns.app, ns.addons, ns.initalled_addon, ns.site_domain, nsg.group_name") - .setAlias("ns") - .leftJoin("?_site_group nsg ON ns.group_id = nsg.group_id".replace("?_", this.appConfig.tablePrefix)); - siteMPJQueryWrapper.eq("ns.site_id", siteId); - - return siteMapper.selectJoinOne(SiteInfoCacheVo.class, siteMPJQueryWrapper); - - }); - const siteInfoVo: SiteInfoVo = new SiteInfoVo(); - if (CommonUtils.isNotEmpty(siteCache)) { - BeanUtil.copyProperties(siteCache, siteInfoVo); - siteInfoVo.setAddonKeys(getAddonKeysBySiteId(siteInfoVo.siteId)); - if (siteInfoVo.getAddonKeys().size() != 0) { - siteInfoVo.setSiteAddons(this.addonService.getAddonListByKeys(siteInfoVo.getAddonKeys(), "")); - siteInfoVo.setApps(this.addonService.getAddonListByKeys(siteInfoVo.getAddonKeys(), AddonActionEnum.APP.getCode())); - }else{ - siteInfoVo.setSiteAddons([]); - siteInfoVo.setApps([]); - } - const sysUserRole: SysUserRole = this.sysUserRoleRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).eq("is_admin", 1)); - if (CommonUtils.isNotEmpty(sysUserRole)) { - siteInfoVo.setUid(sysUserRole.getUid()); - } - } - return siteInfoVo; - } - - /** - * getSiteAddons - */ - async getSiteAddons(...args: any[]): Promise { - return this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }))); - } - - /** - * siteAddonIsInit - */ - async siteAddonIsInit(...args: any[]): Promise { - const count: number = this.siteAddonInitRecordRepository.count({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("addon", addon)); - return count == 1 ? true : false; - } - - /** - * addSiteAddonInitRecord - */ - async addSiteAddonInitRecord(...args: any[]): Promise { - const model: SiteAddonInitRecord = new SiteAddonInitRecord(); - model.siteId = siteId; - model.setAddon(addon); - this.siteAddonInitRecordRepository.save(model); - } - - /** - * siteExpireClose - */ - async siteExpireClose(...args: any[]): Promise { - const model: Site = new Site(); - model.status = SiteStatusEnum.EXPIRE.getCode(); - this.siteRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .gt("expire_time", 0) - .lt("expire_time", Date.now() / 1000) - .ne("status", SiteStatusEnum.EXPIRE.getCode()) - ); - } - - /** - * clearSiteCache - */ - async clearSiteCache(...args: any[]): Promise { - cached.tag(cacheTagName + "_" + siteId).clear(); - } - - /** - * siteInitBySiteId - */ - async siteInitBySiteId(...args: any[]): Promise { - const userIds: number[] = []; - try { - for (const table of tables) { - if (!isTableExists(table)) { - continue; - } - - if ("nc_sys_user_role".equals(table)) { - Lambdaany /* TODO: QueryWrapper */ queryWrapper = new Lambdaany /* TODO: QueryWrapper */() - .eq(SysUserRole::getSiteId, siteId) - .eq(SysUserRole::getIsAdmin, 0) - .select(SysUserRole::getUid); - - userIds = this.sysUserRoleRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }).stream() - .map(SysUserRole::getUid) - ; - - if ((userIds && userIds.length > 0)) { - this.sysUserRoleRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - } - else if ("nc_sys_user".equals(table)) { - if ((userIds && userIds.length > 0)) { - sysUserMapper.deleteByIds(userIds); - } - } - else { - jdbcTemplate.update("DELETE FROM " + table + " const site_id: WHERE = ?", siteId); - } - } - - const site: Site = siteMapper.selectById(siteId); - const siteGroup: SiteGroup = siteGroupMapper.selectById(site.getGroupId()); - - const event: SiteAddAfterEvent = new SiteAddAfterEvent(); - event.siteId = siteId; - event.addAppSign("core"); - event.name = "SiteAddAfterEvent"; - event.setSite(site); - event.setSiteGroup(siteGroup); - EventAndSubscribeOfPublisher.publishAll(event); - - // 清除缓存 - cached.getAllKeys().stream().forEach(key => cached.remove(key)); - return true; - } catch (e) { - throw new BadRequestException("站点初始化失败: " + e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sms/impl/core-sms-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sms/impl/core-sms-service-impl.service.ts deleted file mode 100644 index e3b8717b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sms/impl/core-sms-service-impl.service.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreSmsServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * send - */ - async send(...args: any[]): Promise { - const config: Record = this.getDefaultSmsConfig(siteId); - - const model: SysNoticeSmsLog = new SysNoticeSmsLog(); - model.siteId = siteId; - model.setMobile(noticeData.getMobile()); - model.setSmsType(config.getStr("sms_type")); - model.key = notice.key; - model.setContent(notice.getSms().getStr("content", "")); - model.status = SmsStatusEnum.SENDING.status; - model.createTime = Date.now( / 1000); - model.setParams(JSONUtil.parse(noticeData.getVars()).toString()); - this.sysNoticeSmsLogRepository.save(model); - - const smsDriver: BaseSms = SmsLoader.getDriver(config.getStr("sms_type"), config); - const result: SendResultVo = smsDriver.send(notice, noticeData); - - const updateModel: SysNoticeSmsLog = new SysNoticeSmsLog(); - updateModel.id = model.id; - updateModel.status = result.status.getStatus(); - updateModel.setResult(ObjectUtil.defaultIfNull(result.getFailReason(), "")); - sysNoticeSmsLogMapper.updateById(updateModel); - - if (result.status.getStatus() === SmsStatusEnum.FAIL.status) { - throw new BadRequestException(updateModel.getResult()); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-agreement-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-agreement-service-impl.service.ts deleted file mode 100644 index e0956eb1..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-agreement-service-impl.service.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreAgreementServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getAgreement - */ - async getAgreement(...args: any[]): Promise { - const model: SysAgreement = this.sysAgreementRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).last(" limit 1")); - if(ObjectUtil.isNull(model)) - { - const defaultModel: SysAgreement = new SysAgreement(); - defaultModel.siteId = siteId; - defaultModel.setAgreementKey(key); - defaultModel.setContent(""); - defaultModel.title = ""; - return defaultModel; - } - return model; - } - - /** - * setAgreement - */ - async setAgreement(...args: any[]): Promise { - const model: SysAgreement = this.sysAgreementRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).last(" limit 1")); - if(ObjectUtil.isNull(model)){ - const addModel: SysAgreement = new SysAgreement(); - addModel.siteId = siteId; - addModel.setAgreementKey(key); - addModel.title = title; - addModel.setContent(content); - addModel.createTime = Date.now( / 1000); - addModel.updateTime = Date.now( / 1000); - this.sysAgreementRepository.save(addModel); - }else{ - model.updateTime = Date.now( / 1000); - model.title = title; - model.setContent(content); - sysAgreementMapper.updateById(model); - - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-config-service-impl.service.ts deleted file mode 100644 index fc9f99e8..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-config-service-impl.service.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getConfig - */ - async getConfig(...args: any[]): Promise { - const model: SysConfig = this.sysConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).last(" limit 1")); - const vo: CoreSysConfigVo = new CoreSysConfigVo(); - if (ObjectUtil.isNotNull(model)) { - Object.assign(vo, model); - if (!model.value === "") { - vo.setValueJson(JSONUtil.parse(model.value)); - } - } - return vo; - } - - /** - * getConfigValue - */ - async getConfigValue(...args: any[]): Promise { - const jsonObject: Object = cached.rememberObject(useCache, cacheTagName, ["getConfigValue", siteId, key], uniqueKey => { - - const model: SysConfig = this.sysConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).last(" limit 1")); - if (ObjectUtil.isNotNull(model)) { - if (!model.value === "") { - return model.value; - }else{ - return ""; - } - } - return ""; - }); - if(CommonUtils.isNotEmpty(jsonObject)){ - return JsonUtils.parseObject(jsonObject); - }else{ - return new Record(); - } - } - - /** - * getConfigArrayValue - */ - async getConfigArrayValue(...args: any[]): Promise { - const jsonObject: Object = cached.rememberObject(useCache, cacheTagName, ["getConfigArrayValue", siteId, key], uniqueKey => { - const model: SysConfig = this.sysConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).eq("site_id", siteId).last(" limit 1")); - if (ObjectUtil.isNotNull(model)) { - if (!model.value === "") { - return model.value; - }else{ - return ""; - } - } - return ""; - }); - - if(CommonUtils.isNotEmpty(jsonObject)){ - return JSONUtil.parseArray(jsonObject.toString()); - }else{ - return new JSONArray(); - } - } - - /** - * setConfig - */ - async setConfig(...args: any[]): Promise { - const model: SysConfig = this.sysConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq("site_id", siteId) - .last("limit 1")); - if (ObjectUtil.isNull(model)) { - const addModel: SysConfig = new SysConfig(); - //添加数据 - addModel.siteId = siteId; - addModel.setConfigKey(key); - addModel.status = 1; - addModel.updateTime = Date.now( / 1000); - addModel.setAddon(""); - addModel.value = valueJson.toString(); - addModel.createTime = Date.now( / 1000); - this.sysConfigRepository.save(addModel); - cached.tag(cacheTagName).clear(); - } else { - cached.tag(cacheTagName).clear(); - model.updateTime = Date.now( / 1000); - model.value = valueJson.toString(); - this.sysConfigRepository.save(model, /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */.eq("config_key", key).eq("site_id", siteId)); - } - } - - /** - * cacheClear - */ - async cacheClear(...args: any[]): Promise { - cached.tag(cacheTagName).clear(); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-export-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-export-service-impl.service.ts deleted file mode 100644 index e96f40d5..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-export-service-impl.service.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, AppConfigService, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreExportServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * add - */ - async add(...args: any[]): Promise { - this.sysExportRepository.save(sysExport); - } - - /** - * edit - */ - async edit(...args: any[]): Promise { - const sysExport: SysExport = sysExportMapper.selectById(exportId); - - if (!sysExport) throw new BadRequestException("数据不存在"); - - sysExport.setExportKey(sysExportParam.getExportKey()); - sysExport.setExportNum(sysExportParam.getExportNum()); - sysExport.setFailReason(sysExportParam.getFailReason()); - sysExport.setFilePath(sysExportParam.getFilePath()); - sysExport.setFailReason(sysExportParam.getFailReason()); - sysExportMapper.updateById(sysExport); - } - - /** - * getExportDataColumn - */ - async getExportDataColumn(...args: any[]): Promise { - const exportDataColumn: JSONArray = JsonModuleLoader.build().mergeResultSet("export/ExportType.json"); - if (ObjectUtil.isNotNull(type) && CommonUtils.isNotEmpty(type)) { - const typeColumn: JSONArray = new JSONArray(); - for (const obj of exportDataColumn) { - const jsonObject: Record = (Record) obj; - const setString: string[] = jsonObject.keySet(); - for (const key of setString) { - if (key === type) { - const values: Record = jsonObject.getRecord(key); - typeColumn = values.getJSONArray("column"); - } - } - } - return typeColumn; - } - return exportDataColumn; - } - - /** - * getExportData - */ - async getExportData(...args: any[]): Promise { - ExportDataEventDefiner.const exportDataEvent: ExportDataEvent = new ExportDataEventDefiner.ExportDataEvent(); - exportDataEvent.siteId = siteId; - exportDataEvent.type = type; - exportDataEvent.setWhere(where); - exportDataEvent.setPageParam(pageParam); - const resultList: ExportDataEventDefiner.ExportDataEventResult[] = EventAndSubscribeOfPublisher.publishAndCallback(exportDataEvent); - const exportResult: JSONArray = new JSONArray(); - for (ExportDataEventDefiner.ExportDataEventResult itemResult : resultList) { - if (CommonUtils.isNotEmpty(itemResult.getResultData())) { - exportResult.addAll(itemResult.getResultData()); - } - } - return exportResult; - } - - /** - * export - */ - async export(...args: any[]): Promise { - const exportDynamic: ExportDynamic = new ExportDynamic(); - const fileName: string = dataType + "_" + DateUtils.currTime() + ".xlsx"; - const relativePath: string = "upload/export/"; - exportDynamic.setFileName(fileName); - const filePath: string = this.appConfig.webRootDownResource + relativePath; - exportDynamic.setFilePath(filePath); - const headsList: ExportHeads[] = new ArrayList<>(CollectionUtil.size(headColumn)); - const keyList: string[] = new ArrayList<>(CollectionUtil.size(headColumn)); - for (const headObj of headColumn) { - const itemObject: Record = (Record) headObj; - const itemKey: string = itemObject.keySet().stream().iterator().next(); - const itemValue: Record = itemObject.getRecord(itemKey); - const titleHead: string = itemValue.getStr("name"); - const exportHeads: ExportHeads = new ExportHeads(); - exportHeads.setLabel(titleHead); - headsList.push(exportHeads); - keyList.push(itemKey); - } - exportDynamic.setHeads(headsList); - List datas = new ArrayList<>(CollectionUtil.size(valueData)); - for (const itemObj of valueData) { - const itemJsonObject: Record = (Record) itemObj; - const itemDatas: Object[] = []; - for (const itemKey of keyList) { - itemDatas.push(itemJsonObject.getStr(itemKey, "")); - } - datas.push(itemDatas); - } - exportDynamic.setDatas(datas); - exportDynamic.setRelativePath(relativePath); - BusinessExcelUtil.exportBusinessExcel(exportId, exportDynamic); - } - - /** - * deleteExportFile - */ - async deleteExportFile(...args: any[]): Promise { - const path: string = this.appConfig.webRootDownResource + filePath; - if (!FileUtil.exist(path)) { - return; - } - - const del: boolean = FileUtil.del(path); - if (!del && log.isInfoEnabled()) { - log.info("报表删除失败"); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-menu-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-menu-service-impl.service.ts deleted file mode 100644 index 2f37fbc3..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-menu-service-impl.service.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils } from '@wwjBoot'; -import * as fs from 'fs'; -import * as path from 'path'; - -@Injectable() -export class CoreMenuServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * refreshAddonMenu - */ - async refreshAddonMenu(...args: any[]): Promise { - this.deleteMenu(addon, false); - - const adminMenu: Record = JsonModuleLoader.build().getResultElement(addon, "menu/admin.json"); - if(CommonUtils.isNotEmpty(adminMenu)){ - if (adminMenu.getJSONArray("menu") != null) { - const adminMenuBeanList: SysMenu[] = this.menuTreeToList(TreeUtils.treeToList(adminMenu.getJSONArray("menu"), "parent_key", "", "menu_key", "children"), addon, "admin"); - super.saveBatch(adminMenuBeanList); - } - } - const siteMenu: Record = JsonModuleLoader.build().getResultElement(addon, "menu/site.json"); - if(CommonUtils.isNotEmpty(siteMenu)){ - if (siteMenu.getJSONArray("menu") != null) { - const siteMenuBeanList: SysMenu[] = this.menuTreeToList(TreeUtils.treeToList(siteMenu.getJSONArray("menu"), "parent_key", "", "menu_key", "children"), addon, "site"); - super.saveBatch(siteMenuBeanList); - } - } - - //清理缓存 - cached.tag(CacheTagEnum.MENU_CACHE.getTagName()).clear(); - } - - /** - * installAddonMenu - */ - async installAddonMenu(...args: any[]): Promise { - this.deleteMenu(addon, false); - - const menuDir: string = this.appConfig.webRootDownAddon + addon + "/menu/"; - const adminMenu: string = menuDir + "admin.json"; - const siteMenu: string = menuDir + "site.json"; - - if (fs.existsSync(adminMenu)) { - const jsonString: string = JsonUtils.parseObject(fs.readFileSync(path.join(adminMenu); - const menuList: Record[] = TreeUtils.treeToList(JsonUtils.parseObject(jsonString), 'utf-8')).getJSONArray("menu"), "parent_key", "", "menu_key", "children"); - const adminMenuBeanList: SysMenu[] = this.menuTreeToList(menuList, addon, "admin"); - super.saveBatch(adminMenuBeanList); - } - if (fs.existsSync(siteMenu)) { - const jsonString: string = JsonUtils.parseObject(fs.readFileSync(path.join(siteMenu); - const menuList: Record[] = TreeUtils.treeToList(JsonUtils.parseObject(jsonString), 'utf-8')).getJSONArray("menu"), "parent_key", "", "menu_key", "children"); - const siteMenuBeanList: SysMenu[] = this.menuTreeToList(menuList, addon, "site"); - super.saveBatch(siteMenuBeanList); - } - - //清理缓存 - cached.tag(CacheTagEnum.MENU_CACHE.getTagName()).clear(); - } - - /** - * deleteMenu - */ - async deleteMenu(...args: any[]): Promise { - any /* TODO: QueryWrapper */ queryWrapper = /* TODO: any /* TODO: QueryWrapper */需改写为TypeORM的where条件对象 */ - .eq("addon", addon); - if (!isAll) queryWrapper.eq("source", "system"); - - this.sysMenuRepository.delete({ /* TODO: 将QueryWrapper改为where条件 */ }); - } - - /** - * refreshAllAddonMenu - */ - async refreshAllAddonMenu(...args: any[]): Promise { - //查询所有的插件 - const addonList: Addon[] = this.addonRepository.find({ /* TODO: 将QueryWrapper改为where条件 */ }); - for (const addon of addonList) { - this.refreshAddonMenu(addon.key); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-printer-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-printer-service-impl.service.ts deleted file mode 100644 index 2b9eaae6..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-printer-service-impl.service.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CorePrinterServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * setYlyTokenConfig - */ - async setYlyTokenConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(this.requestContext.siteId, "PRINTER_YLY_TOKEN", config); - } - - /** - * getYlyTokenConfig - */ - async getYlyTokenConfig(...args: any[]): Promise { - const config: CoreSysConfigVo = this.coreConfigService.getConfig(this.requestContext.siteId, "PRINTER_YLY_TOKEN"); - if (CommonUtils.isEmpty(config)) { - const valueJsonObject: Record = new Record(); - valueJsonObject.set("access_token", "") - .set("end_time", "0"); - return valueJsonObject; - } - - return JsonUtils.parseObject(config.getValueJson()); - } - - /** - * getYlyToken - */ - async getYlyToken(...args: any[]): Promise { - return getYlyToken(id, secret, false); - } - - /** - * addPrinterYly - */ - async addPrinterYly(...args: any[]): Promise { - getSdk(param.getOpenId(), param.getApikey()) - .addPrinter(param.getPrinterCode(), param.getPrinterKey()); - } - - /** - * deletePrinterYly - */ - async deletePrinterYly(...args: any[]): Promise { - getSdk(printer.getOpenId(), printer.getApikey()) - .printerDeletePrinter(printer.getPrinterCode()); - } - - /** - * printTicket - */ - async printTicket(...args: any[]): Promise { - const event: SysPrinterPrintTicketEvent = new SysPrinterPrintTicketEvent(); - event.siteId = param.siteId; - event.setParam(param); - event.setAuthority(false); - const results: SysPrinterPrintTicketResult[] = CallbackPublisher.publishReturnList(event) - .stream() - .map(result => (SysPrinterPrintTicketResult) result) - ; - - const vo: SysPrinterPrintTicketVo = new SysPrinterPrintTicketVo(); - Optional error = results.filter(result => result.getCode() != 0).findFirst(); - if (error.isPresent()) { - const result: SysPrinterPrintTicketResult = error.get(); - vo.setCode(result.getCode()); - vo.setMessage(result.message); - return vo; - } - - const items: SysPrinterPrintTicketResult.Item[] = results - .flatMap(result => result.data.stream()) - ; - if (CommonUtils.isEmpty(items)) { - vo.setCode(-1); - vo.setMessage("未找到小票模板内容"); - return vo; - } - - try { - for (SysPrinterPrintTicketResult.Item item : items) { - if (CommonUtils.isEmpty(item.getPrinterInfo())) { - continue; - } - - const printer: SysPrinter = item.getPrinterInfo(); - if (printer == null) { - continue; - } - - if (Objects.requireNonNull(SysPrinterBrandEnum.getEnumByBrand(printer.getBrand())) == SysPrinterBrandEnum.YI_LIAN_YUN) { - const sdk: YlyPrinterSdk = getSdk(printer.getOpenId(), printer.getApikey()); - sdk.printIndex(printer.getPrinterCode(), item.getContent(), String(item.getOriginId())); - } - } - } catch (e) { - log.error(e.message); - vo.setCode(-1); - vo.setMessage(e.message); - } - - return vo; - } - - /** - * refreshToken - */ - async refreshToken(...args: any[]): Promise { - return getYlyToken(printer.getOpenId(), printer.getPrinterKey(), true); - } - - /** - * printIndex - */ - async printIndex(...args: any[]): Promise { - const sdk: YlyPrinterSdk = getSdk(printer.getOpenId(), printer.getApikey()); - sdk.printIndex(printer.getPrinterCode(), content, originId); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-scan-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-scan-service-impl.service.ts deleted file mode 100644 index 9d5cbff0..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-scan-service-impl.service.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreScanServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * scan - */ - async scan(...args: any[]): Promise { - const key: string = RandomUtil.randomString(32); - data.set("status", "wait"); - data.set("is_scan", false); - data.set("action", action); - data.set("expire", DateUtils.timestampToString(Date.now() / 1000 + expire)); - cached.put("scan_" + key, data.toString(), expire); - return key; - } - - /** - * actionByScan - */ - async actionByScan(...args: any[]): Promise { - const cache: string = cached.get("scan_" + key); - if (ObjectUtil.isNotNull(cache) && (cache && cache.length > 0)) { - const cacheData: Record = JsonUtils.parseObject(cache); - cacheData.set("is_scan", true); - cacheData = JsonModuleLoader.deepMerge(cacheData, data); - cached.put("scan_" + key, cacheData.toString()); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-sys-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-sys-config-service-impl.service.ts deleted file mode 100644 index 77778a45..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-sys-config-service-impl.service.ts +++ /dev/null @@ -1,187 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService, CommonUtils, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CoreSysConfigServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWebSite - */ - async getWebSite(...args: any[]): Promise { - const model: Site = this.siteRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).last("limit 1")); - if (!model) throw new BadRequestException("站点不存在"); - - const vo: SysWebsiteVo = new SysWebsiteVo(); - Object.assign(vo, model); - - const sysService: SysServiceVo = getService(siteId); - if (sysService != null) Object.assign(vo, sysService); - - return vo; - } - - /** - * setWebSite - */ - async setWebSite(...args: any[]): Promise { - const model: Site = new Site(); - model.siteId = siteId; - Object.assign(model, configParam); - siteMapper.updateById(model); - this.coreSiteService.clearSiteCache(siteId); - - const service: Record = new Record(); - service.set("wechat_code", configParam.getWechatCode()); - service.set("enterprise_wechat", configParam.getEnterpriseWechat()); - service.set("tel", configParam.getTel()); - service.set("site_login_logo", configParam.getSiteLoginLogo()); - service.set("site_login_bg_img", configParam.getSiteLoginBgImg()); - this.coreConfigService.setConfig(siteId, "SERVICE_INFO", service); - } - - /** - * getService - */ - async getService(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "SERVICE_INFO"); - return Object.assign(new SysServiceVo(), config) /* TODO: 检查SysServiceVo构造函数 */; - } - - /** - * getCopyRight - */ - async getCopyRight(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "COPYRIGHT"); - return Object.assign(new SysCopyRightVo(), config) /* TODO: 检查SysCopyRightVo构造函数 */; - } - - /** - * setCopyRight - */ - async setCopyRight(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(configParam); - this.coreConfigService.setConfig(this.requestContext.siteId, "COPYRIGHT", json); - } - - /** - * getMap - */ - async getMap(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "MAPKEY"); - return Object.assign(new SysMapVo(), config) /* TODO: 检查SysMapVo构造函数 */; - } - - /** - * setMap - */ - async setMap(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(configParam); - this.coreConfigService.setConfig(this.requestContext.siteId, "MAPKEY", json); - - if (RequestUtils.defaultSiteId() === siteId) { - this.mapKeyChange(configParam.key); - } - } - - /** - * removeComments - */ - async removeComments(...args: any[]): Promise { - // 匹配多行注释的正则表达式 - const pattern: Pattern = Pattern.compile("/\\*.*?\\*/", Pattern.DOTALL); - const matcher: Matcher = pattern.matcher(json); - // 将匹配到的注释替换为空字符串 - const result: string = matcher.replaceAll(""); - return result; - } - - /** - * getDeveloperToken - */ - async getDeveloperToken(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(RequestUtils.defaultSiteId(), "DEVELOPER_TOKEN"); - return Object.assign(new SysDeveloperTokenVo(), config) /* TODO: 检查SysDeveloperTokenVo构造函数 */; - } - - /** - * setDeveloperToken - */ - async setDeveloperToken(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(configParam); - this.coreConfigService.setConfig(RequestUtils.defaultSiteId(), "DEVELOPER_TOKEN", json); - } - - /** - * getLayout - */ - async getLayout(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "LAYOUT_SETTING"); - return config == null ? new Record() : config; - } - - /** - * setLayout - */ - async setLayout(...args: any[]): Promise { - const config: Record = this.getLayout(siteId); - config.set(configParam.getStr("key"), configParam.getStr("value")); - this.coreConfigService.setConfig(siteId, "LAYOUT_SETTING", config); - } - - /** - * getThemeColor - */ - async getThemeColor(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "THEMECOLOR_SETTING"); - return config == null ? new Record() : config; - } - - /** - * setThemeColor - */ - async setThemeColor(...args: any[]): Promise { - const config: Record = this.getThemeColor(siteId); - config.set(configParam.getStr("key"), configParam.getStr("value")); - this.coreConfigService.setConfig(siteId, "THEMECOLOR_SETTING", config); - } - - /** - * getLogin - */ - async getLogin(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, "admin_login"); - return Object.assign(new SysLoginConfigVo(), config) /* TODO: 检查SysLoginConfigVo构造函数 */; - } - - /** - * setLogin - */ - async setLogin(...args: any[]): Promise { - const json: Record = JsonUtils.parseObject(configParam); - this.coreConfigService.setConfig(this.requestContext.siteId, "admin_login", json); - } - - /** - * getSceneDomain - */ - async getSceneDomain(...args: any[]): Promise { - const wapDomain: string = CommonUtils.isNotEmpty(this.appConfig.wapDomain) ? this.appConfig.wapDomain.replace("#/$#", "") : RequestUtils.getRequestSecure() + "://" + RequestUtils.getRequestDomain(); - - const siteInfoVo: SiteInfoVo = this.coreSiteService.getSiteCache(siteId); - const siteDomain: string = siteInfoVo.getSiteDomain(); - if ((siteDomain && siteDomain.length > 0)) siteDomain = RequestUtils.getRequestSecure() + "://" + siteDomain; - - const sceneDomainVo: SceneDomainVo = new SceneDomainVo(); - sceneDomainVo.setWapDomain(wapDomain); - sceneDomainVo.setWapUrl(CommonUtils.isNotEmpty(siteDomain) ? siteDomain + "/wap" : wapDomain + "/wap/" + siteId); - sceneDomainVo.setWebUrl(CommonUtils.isNotEmpty(siteDomain) ? siteDomain + "/web" : wapDomain + "/web/" + siteId); - return sceneDomainVo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-upload-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-upload-service-impl.service.ts deleted file mode 100644 index cd082564..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/sys/impl/core-upload-service-impl.service.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreUploadServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * upload - */ - async upload(...args: any[]): Promise { - // 上传相对目录 - attachmentUploadParam.setDir(this.rootPath + "/" + attachmentUploadParam.getDir()); - // 校验上传文件 - this.validate(attachmentUploadParam); - // 生成新的文件名 - this.generateNewName(attachmentUploadParam); - - const configObject: Record = null; - // 获取站点的上传配置 - if (CommonUtils.isNotEmpty(attachmentUploadParam.getStorageType())) { - configObject = this.coreStorageService.getStorageByType(attachmentUploadParam.siteId, attachmentUploadParam.getStorageType()); - } else { - configObject = this.coreStorageService.getDefaultStorage(attachmentUploadParam.siteId); - if (configObject == null || StringUtil.isEmpty(configObject.getStr("storage_type"))){ - configObject = this.coreStorageService.getDefaultStorage(RequestUtils.defaultSiteId()); - } - } - - // 根据配置初始化 - const uploadProvider: IUploadProvider = UploadProviderFactory.createAndInit(configObject.getStr("storage_type", StorageEnum.LOCAL.getCode()), configObject.getRecord("config_params")); - // 构建上传参数 - const uploadModel: UploadModel = new UploadModel(); - uploadModel.setUploadFile(attachmentUploadParam.getFile()); - uploadModel.setUploadType(attachmentUploadParam.getAttType()); - uploadModel.setUploadFilePath(attachmentUploadParam.getDir()); - uploadModel.setUploadFileName(attachmentUploadParam.getNewFilename()); - // 上传操作 - const uploadModelResult: UploadModelResult = uploadProvider.upload(uploadModel); - // Service返回结果 - const attachmentUploadVo: AttachmentUploadVo = new AttachmentUploadVo(); - // 是否上传到相册 - if (attachmentUploadParam.getIsAttachment() === 1) { - const newSysAttachment: SysAttachment = this.buildSysAttachment(attachmentUploadParam, uploadModelResult); - newSysAttachment.url = uploadProvider.getAccessUrl(uploadModelResult.getAccessUrl()); - this.sysAttachmentRepository.save(newSysAttachment); - attachmentUploadVo.url = uploadProvider.getAccessUrl(uploadModelResult.getAccessUrl()); - attachmentUploadVo.setAttId(newSysAttachment.getAttId()); - } else { - attachmentUploadVo.url = uploadProvider.getAccessUrl(uploadModelResult.getAccessUrl()); - } - return attachmentUploadVo; - } - - /** - * delete - */ - async delete(...args: any[]): Promise { - // 获取站点的上传配置 - const coreConfigService: ICoreConfigService = SpringContext.bean(ICoreConfigService.class); - const rootRecord: Record = this.coreConfigService.getConfigValue(siteId, "STORAGE"); - const defaultValue: string = storageType; - const configObject: Record = rootRecord.getRecord(defaultValue); - // 根据配置初始化 - const uploadProvider: IUploadProvider = UploadProviderFactory.createAndInit(defaultValue, configObject); - const deleteModel: DeleteModel = new DeleteModel(); - deleteModel.setFilePath(path); - const deleteModelResult: DeleteModelResult = uploadProvider.delete(deleteModel); - if (deleteModelResult.isResult()) { - // 删除成功 -> 忽略 - } - } - - /** - * thumb - */ - async thumb(...args: any[]): Promise { - // 获取站点的上传配置 - const coreConfigService: ICoreConfigService = SpringContext.bean(ICoreConfigService.class); - const rootRecord: Record = this.coreConfigService.getConfigValue(siteId, "STORAGE"); - const defaultValue: string = rootRecord.getStr("default", StorageEnum.LOCAL.getCode()); - const configObject: Record = rootRecord.getRecord(defaultValue); - // 根据配置初始化 - const uploadProvider: IUploadProvider = UploadProviderFactory.createAndInit(defaultValue, configObject); - - const model: ThumbModel = new ThumbModel(); - model.type = type; - model.setFilePath(path); - return uploadProvider.thumb(model); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-base64-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-base64-service-impl.service.ts deleted file mode 100644 index aee73f4b..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-base64-service-impl.service.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreBase64ServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * image - */ - async image(...args: any[]): Promise { - // 获取站点的上传配置 - const coreConfigService: ICoreConfigService = SpringContext.bean(ICoreConfigService.class); - const rootRecord: Record = this.coreConfigService.getConfigValue(siteId, "STORAGE"); - const defaultValue: string = rootRecord.getStr("default", StorageEnum.LOCAL.getCode()); - const configObject: Record = rootRecord.getRecord(defaultValue); - // 根据配置初始化 - const uploadProvider: IUploadProvider = UploadProviderFactory.createAndInit(defaultValue, configObject); - - const base64Model: Base64Model = new Base64Model(); - base64Model.setContent(content); - base64Model.setUploadFilePath("attachment/image/" + siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - base64Model.setUploadFileName(SecureUtil.md5(content) + ".jpg"); - return uploadProvider.getAccessUrl(uploadProvider.base64(base64Model)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-fetch-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-fetch-service-impl.service.ts deleted file mode 100644 index be1e7a6c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-fetch-service-impl.service.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreFetchServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * image - */ - async image(...args: any[]): Promise { - // 获取站点的上传配置 - const coreConfigService: ICoreConfigService = SpringContext.bean(ICoreConfigService.class); - const rootRecord: Record = this.coreConfigService.getConfigValue(siteId, "STORAGE"); - const defaultValue: string = rootRecord.getStr("default", StorageEnum.LOCAL.getCode()); - const configObject: Record = rootRecord.getRecord(defaultValue); - // 根据配置初始化 - const uploadProvider: IUploadProvider = UploadProviderFactory.createAndInit(defaultValue, configObject); - - const ext: string = ObjectUtil.defaultIfEmpty(url.split("\\.")[1], "jpg"); - - const fetchModel: FetchModel = new FetchModel(); - fetchModel.url = url; - fetchModel.setUploadFilePath("attachment/image/" + siteId + "/" + DateFormatUtils.getUploadFormat() + "/"); - fetchModel.setUploadFileName(SecureUtil.md5(url) + "." + ext); - - return uploadProvider.getAccessUrl(uploadProvider.fetch(fetchModel)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-storage-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-storage-service-impl.service.ts deleted file mode 100644 index c0debdfa..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/upload/impl/core-storage-service-impl.service.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreStorageServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getStorageList - */ - async getStorageList(...args: any[]): Promise { - /** - * 获取配置 - */ - const storageConfig: Record = getStorageConfig(siteId); - - const storageTypeList: Record = UploadLoader.type; - const coreStorAgeConfigVoList: CoreStorAgeConfigVo[] = []; - for (const key of storageTypeList.keySet()) { - const storageValues: Record = JsonUtils.parseObject(storageTypeList.get(key)); - const coreStorAgeConfigVo: CoreStorAgeConfigVo = new CoreStorAgeConfigVo(); - coreStorAgeConfigVo.setStorageType(key); - coreStorAgeConfigVo.setIsUse(key === storageConfig.get("default") ? StorageEnum.ON.getCode() : StorageEnum.OFF.getCode()); - coreStorAgeConfigVo.name = storageValues.get("name".toString()); - coreStorAgeConfigVo.setComponent(storageValues.get("component").toString()); - const params: Record = new Record(); - if (ObjectUtil.isNotNull(storageValues.get("params"))) { - const valuesParams: Record = JsonUtils.parseObject(storageValues.get("params")); - const configParams: Record = new Record(); - if (ObjectUtil.isNotNull(storageConfig.get(key))) { - configParams = JsonUtils.parseObject(storageConfig.get(key)); - } - for (const paramsKey of valuesParams.keySet()) { - const itemParam: Record = new Record(); - const paramsValues: string = valuesParams.get(paramsKey).toString(); - itemParam.set("name", paramsValues); - itemParam.set("value", configParams.get(paramsKey)); - params.set(paramsKey, itemParam); - } - params.set("config_params", configParams); - } - coreStorAgeConfigVo.setParams(params); - coreStorAgeConfigVoList.push(coreStorAgeConfigVo); - } - return coreStorAgeConfigVoList; - } - - /** - * getStorageConfig - */ - async getStorageConfig(...args: any[]): Promise { - const jsonObject: Record = this.coreConfigService.getConfigValue(siteId, "STORAGE"); - if (ObjectUtil.isNull(jsonObject) || CommonUtils.isEmpty(jsonObject)) { - jsonObject = new Record(); - jsonObject.set("default", FileEnum.LOCAL.getCode()); - } - return jsonObject; - } - - /** - * getDefaultStorage - */ - async getDefaultStorage(...args: any[]): Promise { - const storageList: CoreStorAgeConfigVo[] = this.getStorageList(siteId); - const config: Record = new Record(); - for (const item of storageList) { - if (item.getIsUse() === StorageEnum.ON.getCode()) { - config = item.getParams(); - config.put("storage_type", item.getStorageType()); - } - } - return config; - } - - /** - * getStorageByType - */ - async getStorageByType(...args: any[]): Promise { - const storageList: CoreStorAgeConfigVo[] = this.getStorageList(siteId); - const config: Record = new Record(); - for (const item of storageList) { - if (item.getIsUse() === StorageEnum.ON.getCode() && item.getStorageType() === StorageType) { - config = item.getParams(); - config.put("storage_type", item.getStorageType()); - } - } - return config; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/user/impl/core-user-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/user/impl/core-user-service-impl.service.ts deleted file mode 100644 index 9a59c9ca..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/user/impl/core-user-service-impl.service.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, RequestContextService } from '@wwjBoot'; - -@Injectable() -export class CoreUserServiceImplService { - constructor( - private readonly requestContext: RequestContextService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getUserInfo - */ - async getUserInfo(...args: any[]): Promise { - const sysUser: SysUser = sysUserMapper.selectById(uid); - const result: UserInfoDto = new UserInfoDto(); - Object.assign(result, sysUser); - result.setRole(this.userRoleService.getUserRole(this.requestContext.siteId, uid)); - return result; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-cloud-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-cloud-service-impl.service.ts deleted file mode 100644 index 0c23f4ed..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-cloud-service-impl.service.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, AppConfigService } from '@wwjBoot'; -import * as fs from 'fs'; - -@Injectable() -export class CoreWeappCloudServiceImplService { - constructor( - private readonly appConfig: AppConfigService, - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * uploadWeapp - */ - async uploadWeapp(...args: any[]): Promise { - const taskKey: string = String(Date.now() / 1000); - - const tempDir: string = this.appConfig.webRootDownRuntime + "weapp_build/" + taskKey + "/"; - const packageDir: string = tempDir + "package/"; - FileTools.createDirs(packageDir); - - // 整理编译文件 - const compileAddon: Addon = this.addonRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).like("compile", "weapp").last("limit 1")); - if (compileAddon == null) { - handleUniapp(packageDir + "uni-app/", param); - } else { - handleCompileWeapp(packageDir + "uni-app/", compileAddon.key, param); - } - - try { - fs.copyFileSync(this.appConfig.webRootDownResource + param.getUploadPrivateKey(), packageDir + "private.key"); - } catch (e) { - throw new BadRequestException(e.message); - } - - const zipFile: string = ZipUtil.zip(packageDir, tempDir + "build.zip"); - - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const actionQuery: Record = new const query: Record<>(); - actionQuery.put("data[product_key]", instance.getProductKey()); - const actionToken: Record = this.niucloudService.getActionToken("weappbuild", actionQuery); - - Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("compile", compileAddon != null ? 1 : 0); - query.put("appid", param.getAppId()); - query.put("version", param.version); - query.put("desc", param.desc); - query.put("do", 1); - query.put("timestamp", taskKey); - query.put("token", actionToken == null ? "" : actionToken.getStr("token")); - - const response: HttpResponse = new NiucloudUtils.Cloud().useThirdBuild().build("cloud/weapp").query(query) - .func(i => { - i.form("file", zipFile, "build.zip"); - }) - .method(Method.POST).execute(); - - const res: Record = JsonUtils.parseObject(response.body()); - - if (!res.getInt("code", 0).equals(1)) throw new BadRequestException(res.getStr("msg")); - - return taskKey; - } - - /** - * getWeappCompileLog - */ - async getWeappCompileLog(...args: any[]): Promise { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("authorize_code", instance.getCode()); - query.put("timestamp", key); - - const response: HttpResponse = new NiucloudUtils.Cloud().useThirdBuild().build("cloud/get_weapp_logs").query(query).method(Method.GET).execute(); - try { - const res: Record = JsonUtils.parseObject(response.body()); - return res; - } catch (e) { - return null; - } - } - - /** - * getWeappPreviewImage - */ - async getWeappPreviewImage(...args: any[]): Promise { - try { - const instance: NiucloudUtils = NiucloudUtils.getInstance(); - - const query: Record = {}; - query.put("authorize_code", instance.getCode()); - - const response: HttpResponse = new NiucloudUtils.Cloud().useThirdBuild().build("cloud/get_weapp_preview").query(query).execute(); - if (JSONUtil.isJson(response.body()) && JsonUtils.parseObject(response.body()).getInt("code").equals("0")) return ""; - if (checkImageType(response.bodyStream()) === "unknown") return ""; - return "data:image/"+ checkImageType(response.bodyStream()) +";base64," + Base64.getEncoder().encodeToString(response.bodyBytes()); - } catch (e) { - return ""; - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-config-service-impl.service.ts deleted file mode 100644 index f1803bca..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-config-service-impl.service.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreWeappConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWeappConfig - */ - async getWeappConfig(...args: any[]): Promise { - const coreSysConfigVo: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, ConfigKeyEnum.path.basename(WEAPP)); - const vo: WeappConfigVo = new WeappConfigVo(); - if(ObjectUtil.isNotNull(coreSysConfigVo.getValueJson())) - { - vo = Object.assign(new WeappConfigVo(), coreSysConfigVo.getValueJson()) /* TODO: 检查WeappConfigVo构造函数 */; - } - return vo; - } - - /** - * setWeappConfig - */ - async setWeappConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(WEAPP), JsonUtils.parseObject(weappConfigParam)); - } - - /** - * getWeappAuthorizationInfo - */ - async getWeappAuthorizationInfo(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO)); - if (config == null) return null; - return Object.assign(new WxOpenAuthorizerInfoResult(), config) /* TODO: 检查WxOpenAuthorizerInfoResult构造函数 */; - } - - /** - * setWeappAuthorizationInfo - */ - async setWeappAuthorizationInfo(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO), JsonUtils.parseObject(weappAuthorizationInfo)); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-delivery-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-delivery-service-impl.service.ts deleted file mode 100644 index 2b85048e..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-delivery-service-impl.service.ts +++ /dev/null @@ -1,164 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils, CommonUtils } from '@wwjBoot'; - -@Injectable() -export class CoreWeappDeliveryServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getIsTradeManaged - */ - async getIsTradeManaged(...args: any[]): Promise { - const vo: IsTradeManagedVo = new IsTradeManagedVo(); - try { - const miniapp: WxMaService = WechatUtils.miniapp(siteId); - const appid: string = miniapp.getWxMaConfig().getAppid(); - const res: WxMaOrderShippingIsTradeManagedResponse = miniapp.getWxMaOrderShippingService().isTradeManaged(appid); - if (!res.getTradeManaged()) { - console.log("小程序未开通发货信息管理服务" + res.getErrMsg()); - } - vo.setIsTradeManaged(res.getTradeManaged()); - } catch (e) { - } - return vo; - } - - /** - * setMsgJumpPath - */ - async setMsgJumpPath(...args: any[]): Promise { - try { - const config: Record = getConfig(siteId, type); - if (CommonUtils.isEmpty(config)) { - const path: string = "app/pages/weapp/order_shipping"; - const response: WxMaOrderShippingInfoBaseResponse = WechatUtils.miniapp(siteId).getWxMaOrderShippingService().setMsgJumpPath(path); - if (response.getErrCode() == 0) { - setConfig(siteId, type, path); - } - return response; - } - - const response: WxMaOrderShippingInfoBaseResponse = new WxMaOrderShippingInfoBaseResponse(); - response.setErrCode(0); - return response; - } catch (e) { - const response: WxMaOrderShippingInfoBaseResponse = new WxMaOrderShippingInfoBaseResponse(); - response.setErrCode(1); - response.setErrMsg(e.message); - return response; - } - } - - /** - * uploadShippingInfo - */ - async uploadShippingInfo(...args: any[]): Promise { - try { - log.info("PINTUAN-开始上传微信发货信息 - siteId: {}, data: {}", siteId, shippingData); - - // 获取微信支付配置 - const payChannel: PayChannel = this.payChannelRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }) - .eq(PayChannel::getSiteId, siteId) - .eq(PayChannel::getType, CertEnum.WECHATPAY.getCode()) - .eq(PayChannel::getChannel, CertEnum.WEAPP.getCode())); - - const mchId: string = ""; - if (payChannel != null && !CommonUtils.isEmpty(payChannel.config)) { - const config: string = payChannel.config; - const jsonObject: Record = JsonUtils.parseObject(config); - mchId = jsonObject.getStr("mch_id"); - } - - // 构建微信发货信息对象 - const shippingInfo: WxMaOrderShippingInfoUploadRequest = new WxMaOrderShippingInfoUploadRequest(); - - // 订单信息 - const orderKey: OrderKeyBean = new OrderKeyBean(); - orderKey.setOrderNumberType(1); - orderKey.setMchId(mchId); - orderKey.setOutTradeNo(shippingData.getOutTradeNo()); - shippingInfo.setOrderKey(orderKey); - - // 物流信息 - shippingInfo.setLogisticsType(shippingData.getLogisticsType()); - shippingInfo.setDeliveryMode(shippingData.getDeliveryMode()); - - // 处理发货列表 - const wxShippingList: ShippingListBean[] = []; - - for (WeappUploadShippingParam.UploadShippingParam item : shippingData.getShippingList()) { - const shipping: ShippingListBean = new ShippingListBean(); - Object.assign(shipping, item); - - WeappUploadShippingParam.const contact: ContactInfo = item.getContact(); - if (contact != null) { - const wxContact: ContactBean = new ContactBean(); - Object.assign(wxContact, contact); - shipping.setContact(wxContact); - } - - wxShippingList.push(shipping); - } - shippingInfo.setShippingList(wxShippingList); - - // 上传时间 - shippingInfo.setUploadTime(OffsetDateTime.now().format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)); - - // 付款人信息 - const payer: PayerBean = new PayerBean(); - payer.setOpenid(shippingData.getWeappOpenid()); - shippingInfo.setPayer(payer); - - // 发货完成标识 - shippingInfo.setIsAllDelivered(shippingData.getIsAllDelivered()); - - log.info("PINTUAN-发货信息录入接口参数: {}", JSONUtil.toJsonStr(shippingInfo)); - - // 微信订单录入有时差,延时3秒执行 - try { - Thread.sleep(3000); - } catch (e) { - Thread.currentThread().interrupt(); - } - - // 使用微信SDK调用API - const response: WxMaOrderShippingInfoBaseResponse = WechatUtils.miniapp(siteId) - .getWxMaOrderShippingService() - .upload(shippingInfo); - - log.info("PINTUAN-发货信息录入接口返回结果: {}", JSONUtil.toJsonStr(response)); - - return response; - - } catch (e) { - const errorMsg: string = String.format("uploadShippingInfo报错: %s, File: %s, line: %d", - e.message, e.getStackTrace()[0].getFileName(), e.getStackTrace()[0].getLineNumber()); - log.error(errorMsg, e); - - const errorResult: WxMaOrderShippingInfoBaseResponse = new WxMaOrderShippingInfoBaseResponse(); - errorResult.setErrCode(1); - errorResult.setErrMsg(errorMsg); - return errorResult; - } - } - - /** - * getConfig - */ - async getConfig(...args: any[]): Promise { - return this.coreConfigService.getConfigValue(siteId, "WEAPP_ORDER_SHIPPING_CONFIG_" + type); - } - - /** - * setConfig - */ - async setConfig(...args: any[]): Promise { - const value: Record = new Record(); - value.put("path", path); - this.coreConfigService.setConfig(siteId, "WEAPP_ORDER_SHIPPING_CONFIG_" + type, value); - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-service-impl.service.ts deleted file mode 100644 index a90f24bc..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/weapp/impl/core-weapp-service-impl.service.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Injectable, BadRequestException } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreWeappServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * qrcodeBytes - */ - async qrcodeBytes(...args: any[]): Promise { - try { - const scene: string[] = []; - for (const key of data.keySet()) { - scene.push(key + "-" + data.get(key).toString()); - } - - return WechatUtils.miniapp(siteId).getQrcodeService().createWxaCodeUnlimitBytes( - String.join("&", scene), - page, - false, - "release", - width, - false, - null, - false - ); - } catch (e) { - throw new BadRequestException(e.message); - } - } - - /** - * qrcodeFile - */ - async qrcodeFile(...args: any[]): Promise { - try { - const scene: string[] = []; - for (const key of data.keySet()) { - scene.push(key + "-" + data.get(key).toString()); - } - - return WechatUtils.miniapp(siteId).getQrcodeService().createWxaCodeUnlimit( - String.join("&", scene), - page, - filePath, - false, - "release", - width, - false, - null, - false - ); - } catch (e) { - throw new BadRequestException(e.message); - } - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-config-service-impl.service.ts deleted file mode 100644 index bdb1d2f2..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-config-service-impl.service.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, JsonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreWechatConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getWechatConfig - */ - async getWechatConfig(...args: any[]): Promise { - const coreSysConfigVo: CoreSysConfigVo = this.coreConfigService.getConfig(siteId, ConfigKeyEnum.path.basename(WECHAT)); - const vo: WechatConfigVo = new WechatConfigVo(); - if(ObjectUtil.isNotNull(coreSysConfigVo.getValueJson())) - { - vo = Object.assign(new WechatConfigVo(), coreSysConfigVo.getValueJson()) /* TODO: 检查WechatConfigVo构造函数 */; - } - return vo; - } - - /** - * setWechatConfig - */ - async setWechatConfig(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(WECHAT), JsonUtils.parseObject(wechatConfigParam)); - } - - /** - * setWechatAuthorizationInfo - */ - async setWechatAuthorizationInfo(...args: any[]): Promise { - this.coreConfigService.setConfig(siteId, ConfigKeyEnum.path.basename(WECHAT_AUTHORIZATION_INFO), JsonUtils.parseObject(wechatAuthorizationInfo)); - } - - /** - * getWechatAuthorizationInfo - */ - async getWechatAuthorizationInfo(...args: any[]): Promise { - const config: Record = this.coreConfigService.getConfigValue(siteId, ConfigKeyEnum.path.basename(WECHAT_AUTHORIZATION_INFO)); - if (config == null) return null; - return Object.assign(new WxOpenAuthorizerInfoResult(), config) /* TODO: 检查WxOpenAuthorizerInfoResult构造函数 */; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-reply-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-reply-service-impl.service.ts deleted file mode 100644 index 3f5b67b9..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wechat/impl/core-wechat-reply-service-impl.service.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; - -@Injectable() -export class CoreWechatReplyServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getDefault - */ - async getDefault(...args: any[]): Promise { - const model: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", siteId)); - - if (!ObjectUtil.isNotNull(model)) return null; - - const vo: WechatReplyInfoVo = new WechatReplyInfoVo(); - Object.assign(vo, model); - return vo; - } - - /** - * getSubscribe - */ - async getSubscribe(...args: any[]): Promise { - const model: WechatReply = this.wechatReplyRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ })) - .eq("site_id", siteId)); - - if (!ObjectUtil.isNotNull(model)) return null; - - const vo: WechatReplyInfoVo = new WechatReplyInfoVo(); - Object.assign(vo, model); - return vo; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-service-impl.service.ts deleted file mode 100644 index bac9c23c..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-service-impl.service.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreOplatformServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getSiteIdByAuthorizerAppid - */ - async getSiteIdByAuthorizerAppid(...args: any[]): Promise { - const configKey: string[] = new String[]{ ConfigKeyEnum.path.basename(WECHAT), ConfigKeyEnum.path.basename(WEAPP), ConfigKeyEnum.path.basename(WEAPP_AUTHORIZATION_INFO), ConfigKeyEnum.path.basename(WECHAT_AUTHORIZATION_INFO)}; - const config: SysConfig = this.sysConfigRepository.findOne({ /* TODO: 将QueryWrapper改为where条件 */ }).in("config_key", configKey).last("limit 1")); - return config == null ? 0 : config.siteId; - } -} diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-static-config-service-impl.service.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-static-config-service-impl.service.ts deleted file mode 100644 index b5de8389..00000000 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/services/core/wxoplatform/impl/core-oplatform-static-config-service-impl.service.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import { QueueService, EventBus, Result, CommonUtils } from '@wwjBoot'; -import * as path from 'path'; - -@Injectable() -export class CoreOplatformStaticConfigServiceImplService { - constructor( - private readonly eventBus: EventBus, - private readonly queueService: QueueService, - ) {} - /** - * getOplatformStaticInfo - */ - async getOplatformStaticInfo(...args: any[]): Promise { - const coreOplatformStaticConfigVo: CoreOplatformStaticConfigVo = new CoreOplatformStaticConfigVo(); - coreOplatformStaticConfigVo.setAuthServeUrl(RequestUtils.getDomain(true) + "/adminapi/wxoplatform/server"); - coreOplatformStaticConfigVo.setMessageServeUrl(RequestUtils.getDomain(true) + "/adminapi/wxoplatform/message/$APPID$"); - coreOplatformStaticConfigVo.setAuthLaunchDomain(RequestUtils.getDomain(false)); - coreOplatformStaticConfigVo.setWechatAuthDomain(RequestUtils.getDomain(false)); - try { - coreOplatformStaticConfigVo.setUploadIp(InetAddress.getByName("java.oss.niucloud.com").getHostAddress()); - } catch (e) { - coreOplatformStaticConfigVo.setUploadIp(""); - } - return coreOplatformStaticConfigVo; - } - - /** - * setOplatformConfig - */ - async setOplatformConfig(...args: any[]): Promise { - const jsonObject: Record = new Record(); - jsonObject.set("app_id", oplatformConfigParam.getAppId()); - jsonObject.set("app_secret", oplatformConfigParam.getAppSecret()); - jsonObject.set("token", oplatformConfigParam.getToken()); - jsonObject.set("aes_key", oplatformConfigParam.getAesKey()); - jsonObject.set("develop_app_id", oplatformConfigParam.getDevelopAppId()); - jsonObject.set("develop_upload_private_key", oplatformConfigParam.getDevelopUploadPrivateKey()); - this.coreConfigService.setConfig(RequestUtils.defaultSiteId(), ConfigKeyEnum.path.basename(WXOPLATFORM), jsonObject); - } - - /** - * getWxOplatformConfig - */ - async getWxOplatformConfig(...args: any[]): Promise { - const vo: OplatformConfigVo = new OplatformConfigVo(); - const config: Record = this.coreConfigService.getConfigValue(RequestUtils.defaultSiteId(), ConfigKeyEnum.path.basename(WXOPLATFORM)); - if (CommonUtils.isNotEmpty(config)) vo = Object.assign(new OplatformConfigVo(), config) /* TODO: 检查OplatformConfigVo构造函数 */; - return vo; - } -}