zs 1 vuosi sitten
vanhempi
commit
a1fe88d424

+ 8 - 0
src/controller/patent.controller.ts

@@ -21,6 +21,7 @@ import {
   ImportDTO,
   ExportDTO,
   updateUserDTO,
+  personDTO,
 } from '../interface/patent.interface';
 import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
 import { Validate } from '@midwayjs/validate';
@@ -79,6 +80,13 @@ export class PatentController extends BaseController {
     return 'ok';
   }
 
+  @Get('/personQuery')
+  @Validate()
+  async personQuery(@Query() query: personDTO) {
+    const result = await this.service.personQuery(query);
+    return result;
+  }
+
   @Post('/import')
   @Validate()
   async import(@Body() body: ImportDTO) {

+ 8 - 0
src/interface/patent.interface.ts

@@ -346,3 +346,11 @@ export class updateUserDTO {
   @Rule(RuleType['string']().empty(''))
   'name': string = undefined;
 }
+export class personDTO {
+  @ApiProperty({ description: '用户id', example: '' })
+  @Rule(RuleType['string']().empty(''))
+  'user_id': string = undefined;
+  @ApiProperty({ description: '名字', example: '' })
+  @Rule(RuleType['string']().empty(''))
+  'name': string = undefined;
+}

+ 10 - 0
src/service/patent.service.ts

@@ -54,6 +54,16 @@ export class PatentService extends BaseService<modelType> {
   @Inject()
   redisService: RedisService;
 
+  // 个人专利查询
+  async personQuery(query) {
+    const { user_id, name } = query;
+    const info: any = {};
+    if (user_id) info.users = { $elemMatch: { user_id } };
+    if (name) info.name = { $regex: name };
+    const result = await this.model.find(info);
+    return result;
+  }
+
   async beforeQuery(query) {
     const _id = _.get(this.ctx.user, '_id');
     const type = _.get(this.ctx.user, 'type');