11
0

8 Коміти 66f467fa91 ... 57a7032514

Автор SHA1 Опис Дата
  huangzhichao 57a7032514 feat: agent test 1 тиждень тому
  huangzhichao fbdc1fb6de Merge branch 'feature/delete-module-configuration' of Web/web-server into master 2 тижнів тому
  huangzhichao b10f846b0a feat: 删除 2 тижнів тому
  huangzhichao 4e6d4bfa78 Merge branch 'feature/agent-management' of Web/web-server into master 2 тижнів тому
  huangzhichao acc28df44b feat: 完成开发 2 тижнів тому
  huangzhichao ebbbbce373 Merge branch 'feature/agent-management' of Web/web-server into master 3 тижнів тому
  huangzhichao d37325e893 feat: 添加删除 3 тижнів тому
  huangzhichao ec0803bbe6 Merge branch 'feature/agent-management' of Web/web-server into master 3 тижнів тому

+ 6 - 0
src/dto/agent-list.ts

@@ -75,3 +75,9 @@ export class SaveNativeAgentConfigurationDto {
   @IsOptional()
   extraParams?: string
 }
+
+export class DeleteNativeAgentConfigurationDto {
+  @IsNumber()
+  @IsNotEmpty({ message: 'agentId不能为空' })
+  agentId: number
+}

+ 24 - 17
src/dto/agent-module.ts

@@ -1,37 +1,44 @@
-import { IsString, IsNotEmpty, IsNumber } from 'class-validator'
+import { IsString, IsNotEmpty, IsNumber, IsOptional } from 'class-validator'
 
+export class GetModuleListDto {
+  @IsNumber()
+  @IsNotEmpty({ message: 'page不能为空' })
+  page: number
+
+  @IsNumber()
+  @IsNotEmpty({ message: 'pageSize不能为空' })
+  pageSize: number
+}
 export class GetModuleConfigurationDto {
-  @IsString()
-  @IsNotEmpty({ message: 'module_id不能为空' })
+  @IsNumber()
+  @IsNotEmpty({ message: 'moduleId不能为空' })
   moduleId: number
 }
 
 export class SaveModuleConfigurationDto {
   @IsNumber()
-  @IsNotEmpty({ message: 'id不能为空' })
-  id: number
+  @IsOptional()
+  moduleId: number
 
   @IsString()
   @IsNotEmpty({ message: 'name不能为空' })
   name: string
 
   @IsString()
-  @IsNotEmpty({ message: 'display_name不能为空' })
+  @IsOptional()
   displayName: string
 
   @IsNumber()
-  @IsNotEmpty({ message: 'default_agent_type不能为空' })
-  defaultAgentType: number
+  @IsOptional()
+  type: number
 
   @IsNumber()
-  @IsNotEmpty({ message: 'default_agent_id不能为空' })
-  defaultAgentId: number
-
-  @IsString()
-  @IsNotEmpty({ message: 'create_time不能为空' })
-  createTime: string
+  @IsOptional()
+  agentId: number
+}
 
-  @IsString()
-  @IsNotEmpty({ message: 'updated_time不能为空' })
-  updatedTime: string
+export class DeleteModuleConfigurationDto {
+  @IsNumber()
+  @IsNotEmpty({ message: 'moduleId不能为空' })
+  moduleId: number
 }

+ 15 - 3
src/dto/agent-test.ts

@@ -5,13 +5,17 @@ export class CreateTestTaskDto {
   @IsNotEmpty({ message: 'agentId不能为空' })
   agentId: number
 
-  @IsString()
+  @IsNumber()
   @IsNotEmpty({ message: 'moduleId不能为空' })
-  moduleId: string
+  moduleId: number
 
   @IsNumber()
   @IsNotEmpty({ message: 'evaluate不能为空' })
-  evaluate: number
+  evaluateType: number
+
+  @IsString()
+  @IsNotEmpty({ message: 'user不能为空' })
+  user: string
 }
 
 export class GetTestTaskListDto {
@@ -28,12 +32,20 @@ export class StopTestTaskDto {
   @IsNumber()
   @IsNotEmpty({ message: 'taskId不能为空' })
   taskId: number
+
+  @IsString()
+  @IsNotEmpty({ message: 'user不能为空' })
+  user: string
 }
 
 export class ResumeTestTaskDto {
   @IsNumber()
   @IsNotEmpty({ message: 'taskId不能为空' })
   taskId: number
+
+  @IsString()
+  @IsNotEmpty({ message: 'user不能为空' })
+  user: string
 }
 
 export class GetTestTaskConversationsDto {

+ 2 - 0
src/interface/agent-list.interface.ts

@@ -11,4 +11,6 @@ export interface IAgentListService {
     params: SaveAgentConfigurationType
   ): Promise<ServiceResponse<SaveAgentConfigurationType>>
   getToolList(): Promise<ServiceResponse<any>>
+
+  deleteNativeAgentConfiguration(agentId: number): Promise<ServiceResponse<any>>
 }

+ 8 - 1
src/interface/agent-module.interface.ts

@@ -1,10 +1,15 @@
 import { ServiceResponse } from '../response/response.interface'
 
 export interface IAgentModuleService {
-  getModuleList(): Promise<ServiceResponse<ModuleConfigurationType[]>>
+  getModuleList(
+    page: number,
+    pageSize: number
+  ): Promise<ServiceResponse<ModuleConfigurationType[]>>
+
   getModuleConfiguration(
     module_id: number
   ): Promise<ServiceResponse<ModuleConfigurationType>>
+
   saveModuleConfiguration(
     module_id: number,
     name: string,
@@ -12,4 +17,6 @@ export interface IAgentModuleService {
     default_agent_type: number,
     default_agent_id: number
   ): Promise<ServiceResponse<any>>
+
+  deleteModuleConfiguration(module_id: number): Promise<ServiceResponse<any>>
 }

+ 1 - 1
src/interface/agent-test.interface.ts

@@ -4,7 +4,7 @@ export interface IAgentTestService {
   createTestTask(
     params: Record<string, any>
   ): Promise<ServiceResponse<TestTaskType>>
-  getEvaluteType(
+  getEvaluateType(
     params: Record<string, any>
   ): Promise<ServiceResponse<EvaluteType>>
   getTestTaskList(

+ 10 - 1
src/module/agent-list/agent-list.controller.ts

@@ -4,7 +4,8 @@ import { ApiOperation, ApiTags } from '@nestjs/swagger'
 import {
   GetNativeAgentListDto,
   GetNativeAgentConfigurationDto,
-  SaveNativeAgentConfigurationDto
+  SaveNativeAgentConfigurationDto,
+  DeleteNativeAgentConfigurationDto
 } from '@/dto/agent-list'
 
 import { AgentListService } from './service/agent-list.service'
@@ -58,4 +59,12 @@ export class AgentListController {
   async getToolList() {
     return this.agentListService.getToolList()
   }
+
+  @Post('delete-native-agent-configuration')
+  @ApiOperation({ summary: '删除原生客服配置' })
+  async deleteNativeAgentConfiguration(
+    @Body() body: DeleteNativeAgentConfigurationDto
+  ) {
+    return this.agentListService.deleteNativeAgentConfiguration(body.agentId)
+  }
 }

+ 8 - 0
src/module/agent-list/service/agent-list-http.service.ts

@@ -53,4 +53,12 @@ export class AgentListHttpService {
   async getToolList(): Promise<ServiceResponse<any>> {
     return this.makeRequest<any>('getToolList')
   }
+
+  async deleteNativeAgentConfiguration(
+    agent_id: number
+  ): Promise<ServiceResponse<any>> {
+    return this.makeRequestPost<any>('deleteNativeAgentConfiguration', {
+      agent_id
+    })
+  }
 }

+ 19 - 0
src/module/agent-list/service/agent-list.service.ts

@@ -82,4 +82,23 @@ export class AgentListService implements IAgentListService {
       data: data
     }
   }
+
+  async deleteNativeAgentConfiguration(
+    agentId: number
+  ): Promise<ServiceResponse<any>> {
+    const { code, data, msg } =
+      await this.httpService.deleteNativeAgentConfiguration(agentId)
+    if (code !== HttpStatusCode.OK) {
+      return {
+        code: BusinessCode.BAD_REQUEST,
+        msg: msg || '删除客服列表失败',
+        data: null
+      }
+    }
+    return {
+      code: BusinessCode.SUCCESS,
+      msg: '删除客服列表成功',
+      data: data
+    }
+  }
 }

+ 14 - 6
src/module/agent-module/agent-module.controller.ts

@@ -2,8 +2,10 @@ import { Controller, Get, Query, Post, Body } from '@nestjs/common'
 import { ApiOperation, ApiTags } from '@nestjs/swagger'
 
 import {
+  GetModuleListDto,
   GetModuleConfigurationDto,
-  SaveModuleConfigurationDto
+  SaveModuleConfigurationDto,
+  DeleteModuleConfigurationDto
 } from '@/dto/agent-module'
 
 import { AgentModuleService } from './service/agent-module.service'
@@ -15,8 +17,8 @@ export class AgentModuleController {
 
   @Get('get-module-list')
   @ApiOperation({ summary: '获取模块列表' })
-  async getModuleList() {
-    return this.agentModuleService.getModuleList()
+  async getModuleList(@Query() query: GetModuleListDto) {
+    return this.agentModuleService.getModuleList(query.page, query.pageSize)
   }
 
   @Get('get-module-configuration')
@@ -29,11 +31,11 @@ export class AgentModuleController {
   @ApiOperation({ summary: '保存模块配置' })
   async saveModuleConfiguration(@Body() body: SaveModuleConfigurationDto) {
     return this.agentModuleService.saveModuleConfiguration(
-      body.id,
+      body.moduleId,
       body.name,
       body.displayName,
-      body.defaultAgentType,
-      body.defaultAgentId
+      body.type,
+      body.agentId
     )
   }
 
@@ -42,4 +44,10 @@ export class AgentModuleController {
   async getModuleAgentTypes() {
     return this.agentModuleService.getModuleAgentTypes()
   }
+
+  @Post('delete-module-configuration')
+  @ApiOperation({ summary: '删除模块配置' })
+  async deleteModuleConfiguration(@Body() body: DeleteModuleConfigurationDto) {
+    return this.agentModuleService.deleteModuleConfiguration(body.moduleId)
+  }
 }

+ 16 - 2
src/module/agent-module/service/agent-module-http.service.ts

@@ -25,8 +25,14 @@ export class AgentModuleHttpService {
     return this.httpClientService.post<T>(url, params)
   }
 
-  async getModuleList(): Promise<ServiceResponse<ModuleConfigurationType[]>> {
-    return this.makeRequest<ModuleConfigurationType[]>('getModuleList')
+  async getModuleList(
+    page: number,
+    page_size: number
+  ): Promise<ServiceResponse<ModuleConfigurationType[]>> {
+    return this.makeRequest<ModuleConfigurationType[]>('getModuleList', {
+      page,
+      page_size
+    })
   }
 
   async getModuleConfiguration(
@@ -56,4 +62,12 @@ export class AgentModuleHttpService {
   async getModuleAgentTypes(): Promise<ServiceResponse<any>> {
     return this.makeRequest<any>('getModuleAgentTypes')
   }
+
+  async deleteModuleConfiguration(
+    module_id: number
+  ): Promise<ServiceResponse<any>> {
+    return this.makeRequestPost<any>('deleteModuleConfiguration', {
+      module_id
+    })
+  }
 }

+ 27 - 2
src/module/agent-module/service/agent-module.service.ts

@@ -10,8 +10,14 @@ import { AgentModuleHttpService } from './agent-module-http.service'
 export class AgentModuleService implements IAgentModuleService {
   constructor(private readonly httpService: AgentModuleHttpService) {}
 
-  async getModuleList(): Promise<ServiceResponse<ModuleConfigurationType[]>> {
-    const { code, data, msg } = await this.httpService.getModuleList()
+  async getModuleList(
+    page: number,
+    pageSize: number
+  ): Promise<ServiceResponse<ModuleConfigurationType[]>> {
+    const { code, data, msg } = await this.httpService.getModuleList(
+      page,
+      pageSize
+    )
     if (code !== HttpStatusCode.OK) {
       return {
         code: BusinessCode.BAD_REQUEST,
@@ -88,4 +94,23 @@ export class AgentModuleService implements IAgentModuleService {
       msg: msg || '获取模块代理类型成功'
     }
   }
+
+  async deleteModuleConfiguration(
+    module_id: number
+  ): Promise<ServiceResponse<any>> {
+    const { code, data, msg } =
+      await this.httpService.deleteModuleConfiguration(module_id)
+    if (code !== HttpStatusCode.OK) {
+      return {
+        code: BusinessCode.BAD_REQUEST,
+        msg: msg || '删除模块配置失败',
+        data: null
+      }
+    }
+    return {
+      code: BusinessCode.SUCCESS,
+      data,
+      msg: msg || '删除模块配置成功'
+    }
+  }
 }

+ 3 - 3
src/module/agent-test/agent-test.controller.ts

@@ -22,10 +22,10 @@ export class AgentTestController {
     return this.agentTestService.createTestTask(body)
   }
 
-  @Get('get-evalute-type')
+  @Get('get-evaluate-type')
   @ApiOperation({ summary: '获取评估类型' })
-  async getEvaluteType() {
-    return this.agentTestService.getEvaluteType()
+  async getEvaluateType() {
+    return this.agentTestService.getEvaluateType()
   }
 
   @Get('get-test-task-list')

+ 6 - 4
src/module/agent-test/service/agent-test-http.service.ts

@@ -5,7 +5,8 @@ import { HttpClientService } from '@/shared/http-client/http-client.service'
 
 @Injectable()
 export class AgentTestHttpService {
-  private readonly baseUrl = 'http://192.168.206.189:8083/api'
+  // private readonly baseUrl = 'http://192.168.206.189:8083/api'
+  private readonly baseUrl = 'http://192.168.206.189:4090/api'
 
   constructor(private readonly httpClientService: HttpClientService) {}
 
@@ -28,17 +29,18 @@ export class AgentTestHttpService {
   async createTestTask(
     params: Record<string, any>
   ): Promise<ServiceResponse<TestTaskType>> {
+    console.log(params)
     return this.makeRequestPost<TestTaskType>('createTestTask', params)
   }
 
-  async getEvaluteType(): Promise<ServiceResponse<EvaluteType>> {
-    return this.makeRequestPost<EvaluteType>('getEvaluteType')
+  async getEvaluateType(): Promise<ServiceResponse<EvaluteType>> {
+    return this.makeRequest<EvaluteType>('getEvaluateType')
   }
 
   async getTestTaskList(
     params: Record<string, any>
   ): Promise<ServiceResponse<TestTaskListType>> {
-    return this.makeRequestPost<TestTaskListType>('getTestTaskList', params)
+    return this.makeRequest<TestTaskListType>('getTestTaskList', params)
   }
 
   async stopTestTask(

+ 2 - 2
src/module/agent-test/service/agent-test.service.ts

@@ -28,8 +28,8 @@ export class AgentTestService implements IAgentTestService {
     }
   }
 
-  async getEvaluteType(): Promise<ServiceResponse<EvaluteType>> {
-    const { code, data, msg } = await this.httpService.getEvaluteType()
+  async getEvaluateType(): Promise<ServiceResponse<EvaluteType>> {
+    const { code, data, msg } = await this.httpService.getEvaluateType()
     if (code !== HttpStatusCode.OK) {
       return {
         code: BusinessCode.BAD_REQUEST,