zs 2 rokov pred
rodič
commit
6c90671297
46 zmenil súbory, kde vykonal 3070 pridanie a 103 odobranie
  1. 89 0
      src/controller/analysis.controller.ts
  2. 89 0
      src/controller/apply.controller.ts
  3. 89 0
      src/controller/assessment.controller.ts
  4. 89 0
      src/controller/cpcMessage.controller.ts
  5. 89 0
      src/controller/cpcMessageerror.controller.ts
  6. 89 0
      src/controller/examNotice.controller.ts
  7. 89 0
      src/controller/notice.controller.ts
  8. 23 23
      src/controller/patenttrans.controller.ts
  9. 89 0
      src/controller/safeg.controller.ts
  10. 89 0
      src/controller/techol.controller.ts
  11. 89 0
      src/controller/transtion.controller.ts
  12. 74 0
      src/entity/analysis.entity.ts
  13. 82 0
      src/entity/apply.entity.ts
  14. 65 0
      src/entity/assessment.entity.ts
  15. 25 0
      src/entity/cpcMessage.entity.ts
  16. 19 0
      src/entity/cpcMessageerror.entity.ts
  17. 17 0
      src/entity/examNotice.entity.ts
  18. 31 0
      src/entity/notice.entity.ts
  19. 1 1
      src/entity/patent.entity.ts
  20. 19 0
      src/entity/patentWarning.entity.ts
  21. 80 0
      src/entity/safeg.entity.ts
  22. 28 0
      src/entity/techol.entity.ts
  23. 31 27
      src/entity/patenttrans.entity.ts
  24. 207 0
      src/interface/analysis.interface.ts
  25. 233 0
      src/interface/apply.interface.ts
  26. 201 0
      src/interface/assessment.interface.ts
  27. 123 0
      src/interface/cpcMessage.interface.ts
  28. 102 0
      src/interface/cpcMessageerror.interface.ts
  29. 89 0
      src/interface/examNotice.interface.ts
  30. 99 0
      src/interface/notice.interface.ts
  31. 3 3
      src/interface/patent.interface.ts
  32. 94 0
      src/interface/patentWarning.interface.ts
  33. 228 0
      src/interface/safeg.interface.ts
  34. 118 0
      src/interface/techol.interface.ts
  35. 74 45
      src/interface/patenttrans.interface.ts
  36. 4 4
      src/service/patenttrans.service.ts
  37. 11 0
      src/service/apply.service.ts
  38. 11 0
      src/service/assessment.service.ts
  39. 11 0
      src/service/cpcMessage.service.ts
  40. 11 0
      src/service/cpcMessageerror.service.ts
  41. 11 0
      src/service/examNotice.service.ts
  42. 11 0
      src/service/notice.service.ts
  43. 11 0
      src/service/patentWarning.service.ts
  44. 11 0
      src/service/safeg.service.ts
  45. 11 0
      src/service/techol.service.ts
  46. 11 0
      src/service/transtion.service.ts

+ 89 - 0
src/controller/analysis.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { AnalysisService } from '../service/analysis.service';
+import {
+  CDTO_analysis,
+  CVO_analysis,
+  FVO_analysis,
+  QDTO_analysis,
+  QVO_analysis,
+  UDTO_analysis,
+  UVAO_analysis,
+} from '../interface/analysis.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['查新检索'])
+@Controller('/analysis')
+export class AnalysisController extends BaseController {
+  @Inject()
+  service: AnalysisService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_analysis })
+  async create(@Body() data: CDTO_analysis) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_analysis(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_analysis })
+  async query(
+    @Query() filter: QDTO_analysis,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_analysis(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_analysis })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_analysis(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_analysis })
+  async update(@Param('id') id: string, @Body() body: UDTO_analysis) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/apply.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { ApplyService } from '../service/apply.service';
+import {
+  CDTO_apply,
+  CVO_apply,
+  FVO_apply,
+  QDTO_apply,
+  QVO_apply,
+  UDTO_apply,
+  UVAO_apply,
+} from '../interface/apply.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['专利申请'])
+@Controller('/apply')
+export class ApplyController extends BaseController {
+  @Inject()
+  service: ApplyService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_apply })
+  async create(@Body() data: CDTO_apply) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_apply(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_apply })
+  async query(
+    @Query() filter: QDTO_apply,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_apply(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_apply })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_apply(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_apply })
+  async update(@Param('id') id: string, @Body() body: UDTO_apply) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/assessment.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { AssessmentService } from '../service/assessment.service';
+import {
+  CDTO_assessment,
+  CVO_assessment,
+  FVO_assessment,
+  QDTO_assessment,
+  QVO_assessment,
+  UDTO_assessment,
+  UVAO_assessment,
+} from '../interface/assessment.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['价值评估'])
+@Controller('/assessment')
+export class AssessmentController extends BaseController {
+  @Inject()
+  service: AssessmentService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_assessment })
+  async create(@Body() data: CDTO_assessment) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_assessment(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_assessment })
+  async query(
+    @Query() filter: QDTO_assessment,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_assessment(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_assessment })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_assessment(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_assessment })
+  async update(@Param('id') id: string, @Body() body: UDTO_assessment) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/cpcMessage.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { CpcMessageService } from '../service/cpcMessage.service';
+import {
+  CDTO_cpcMessage,
+  CVO_cpcMessage,
+  FVO_cpcMessage,
+  QDTO_cpcMessage,
+  QVO_cpcMessage,
+  UDTO_cpcMessage,
+  UVAO_cpcMessage,
+} from '../interface/cpcMessage.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['国知局反馈信息'])
+@Controller('/cpcMessage')
+export class CpcMessageController extends BaseController {
+  @Inject()
+  service: CpcMessageService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_cpcMessage })
+  async create(@Body() data: CDTO_cpcMessage) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_cpcMessage(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_cpcMessage })
+  async query(
+    @Query() filter: QDTO_cpcMessage,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_cpcMessage(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_cpcMessage })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_cpcMessage(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_cpcMessage })
+  async update(@Param('id') id: string, @Body() body: UDTO_cpcMessage) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/cpcMessageerror.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { CpcMessageerrorService } from '../service/cpcMessageerror.service';
+import {
+  CDTO_cpcMessageerror,
+  CVO_cpcMessageerror,
+  FVO_cpcMessageerror,
+  QDTO_cpcMessageerror,
+  QVO_cpcMessageerror,
+  UDTO_cpcMessageerror,
+  UVAO_cpcMessageerror,
+} from '../interface/cpcMessageerror.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['国知局反馈信息(错误)'])
+@Controller('/cpcMessageerror')
+export class CpcMessageerrorController extends BaseController {
+  @Inject()
+  service: CpcMessageerrorService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_cpcMessageerror })
+  async create(@Body() data: CDTO_cpcMessageerror) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_cpcMessageerror(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_cpcMessageerror })
+  async query(
+    @Query() filter: QDTO_cpcMessageerror,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_cpcMessageerror(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_cpcMessageerror })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_cpcMessageerror(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_cpcMessageerror })
+  async update(@Param('id') id: string, @Body() body: UDTO_cpcMessageerror) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/examNotice.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { ExamNoticeService } from '../service/examNotice.service';
+import {
+  CDTO_examNotice,
+  CVO_examNotice,
+  FVO_examNotice,
+  QDTO_examNotice,
+  QVO_examNotice,
+  UDTO_examNotice,
+  UVAO_examNotice,
+} from '../interface/examNotice.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['审核通知消息表'])
+@Controller('/examNotice')
+export class ExamNoticeController extends BaseController {
+  @Inject()
+  service: ExamNoticeService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_examNotice })
+  async create(@Body() data: CDTO_examNotice) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_examNotice(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_examNotice })
+  async query(
+    @Query() filter: QDTO_examNotice,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_examNotice(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_examNotice })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_examNotice(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_examNotice })
+  async update(@Param('id') id: string, @Body() body: UDTO_examNotice) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/notice.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { NoticeService } from '../service/notice.service';
+import {
+  CDTO_notice,
+  CVO_notice,
+  FVO_notice,
+  QDTO_notice,
+  QVO_notice,
+  UDTO_notice,
+  UVAO_notice,
+} from '../interface/notice.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['通知消息'])
+@Controller('/notice')
+export class NoticeController extends BaseController {
+  @Inject()
+  service: NoticeService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_notice })
+  async create(@Body() data: CDTO_notice) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_notice(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_notice })
+  async query(
+    @Query() filter: QDTO_notice,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_notice(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_notice })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_notice(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_notice })
+  async update(@Param('id') id: string, @Body() body: UDTO_notice) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 23 - 23
src/controller/patenttrans.controller.ts

@@ -9,44 +9,44 @@ import {
   Query,
 } from '@midwayjs/decorator';
 import { BaseController } from 'free-midway-component';
-import { PatenttransService } from '../service/patenttrans.service';
+import { PatentWarningService } from '../service/patentWarning.service';
 import {
-  CDTO_patenttrans,
-  CVO_patenttrans,
-  FVO_patenttrans,
-  QDTO_patenttrans,
-  QVO_patenttrans,
-  UDTO_patenttrans,
-  UVAO_patenttrans,
-} from '../interface/patenttrans.interface';
+  CDTO_patentWarning,
+  CVO_patentWarning,
+  FVO_patentWarning,
+  QDTO_patentWarning,
+  QVO_patentWarning,
+  UDTO_patentWarning,
+  UVAO_patentWarning,
+} from '../interface/patentWarning.interface';
 import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
 import { Validate } from '@midwayjs/validate';
-@ApiTags(['专利交易'])
-@Controller('/patenttrans')
-export class PatenttransController extends BaseController {
+@ApiTags(['专利预警消息表'])
+@Controller('/patentWarning')
+export class PatentWarningController extends BaseController {
   @Inject()
-  service: PatenttransService;
+  service: PatentWarningService;
 
   @Post('/')
   @Validate()
-  @ApiResponse({ type: CVO_patenttrans })
-  async create(@Body() data: CDTO_patenttrans) {
+  @ApiResponse({ type: CVO_patentWarning })
+  async create(@Body() data: CDTO_patentWarning) {
     const dbData = await this.service.create(data);
-    const result = new CVO_patenttrans(dbData);
+    const result = new CVO_patentWarning(dbData);
     return result;
   }
   @Get('/')
   @ApiQuery({ name: 'query' })
-  @ApiResponse({ type: QVO_patenttrans })
+  @ApiResponse({ type: QVO_patentWarning })
   async query(
-    @Query() filter: QDTO_patenttrans,
+    @Query() filter: QDTO_patentWarning,
     @Query('skip') skip: number,
     @Query('limit') limit: number
   ) {
     const list = await this.service.query(filter, { skip, limit });
     const data = [];
     for (const i of list) {
-      const newData = new QVO_patenttrans(i);
+      const newData = new QVO_patentWarning(i);
       data.push(newData);
     }
     const total = await this.service.count(filter);
@@ -54,17 +54,17 @@ export class PatenttransController extends BaseController {
   }
 
   @Get('/:id')
-  @ApiResponse({ type: FVO_patenttrans })
+  @ApiResponse({ type: FVO_patentWarning })
   async fetch(@Param('id') id: string) {
     const data = await this.service.fetch(id);
-    const result = new FVO_patenttrans(data);
+    const result = new FVO_patentWarning(data);
     return result;
   }
 
   @Post('/:id')
   @Validate()
-  @ApiResponse({ type: UVAO_patenttrans })
-  async update(@Param('id') id: string, @Body() body: UDTO_patenttrans) {
+  @ApiResponse({ type: UVAO_patentWarning })
+  async update(@Param('id') id: string, @Body() body: UDTO_patentWarning) {
     const result = await this.service.updateOne(id, body);
     return result;
   }

+ 89 - 0
src/controller/safeg.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { SafegService } from '../service/safeg.service';
+import {
+  CDTO_safeg,
+  CVO_safeg,
+  FVO_safeg,
+  QDTO_safeg,
+  QVO_safeg,
+  UDTO_safeg,
+  UVAO_safeg,
+} from '../interface/safeg.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['专利维权'])
+@Controller('/safeg')
+export class SafegController extends BaseController {
+  @Inject()
+  service: SafegService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_safeg })
+  async create(@Body() data: CDTO_safeg) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_safeg(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_safeg })
+  async query(
+    @Query() filter: QDTO_safeg,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_safeg(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_safeg })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_safeg(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_safeg })
+  async update(@Param('id') id: string, @Body() body: UDTO_safeg) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/techol.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { TecholService } from '../service/techol.service';
+import {
+  CDTO_techol,
+  CVO_techol,
+  FVO_techol,
+  QDTO_techol,
+  QVO_techol,
+  UDTO_techol,
+  UVAO_techol,
+} from '../interface/techol.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['专利需求'])
+@Controller('/techol')
+export class TecholController extends BaseController {
+  @Inject()
+  service: TecholService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_techol })
+  async create(@Body() data: CDTO_techol) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_techol(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_techol })
+  async query(
+    @Query() filter: QDTO_techol,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_techol(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_techol })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_techol(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_techol })
+  async update(@Param('id') id: string, @Body() body: UDTO_techol) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 89 - 0
src/controller/transtion.controller.ts

@@ -0,0 +1,89 @@
+import {
+  Body,
+  Controller,
+  Del,
+  Get,
+  Inject,
+  Param,
+  Post,
+  Query,
+} from '@midwayjs/decorator';
+import { BaseController } from 'free-midway-component';
+import { TranstionService } from '../service/transtion.service';
+import {
+  CDTO_transtion,
+  CVO_transtion,
+  FVO_transtion,
+  QDTO_transtion,
+  QVO_transtion,
+  UDTO_transtion,
+  UVAO_transtion,
+} from '../interface/transtion.interface';
+import { ApiResponse, ApiTags, ApiQuery } from '@midwayjs/swagger';
+import { Validate } from '@midwayjs/validate';
+@ApiTags(['专利交易'])
+@Controller('/transtion')
+export class TranstionController extends BaseController {
+  @Inject()
+  service: TranstionService;
+
+  @Post('/')
+  @Validate()
+  @ApiResponse({ type: CVO_transtion })
+  async create(@Body() data: CDTO_transtion) {
+    const dbData = await this.service.create(data);
+    const result = new CVO_transtion(dbData);
+    return result;
+  }
+  @Get('/')
+  @ApiQuery({ name: 'query' })
+  @ApiResponse({ type: QVO_transtion })
+  async query(
+    @Query() filter: QDTO_transtion,
+    @Query('skip') skip: number,
+    @Query('limit') limit: number
+  ) {
+    const list = await this.service.query(filter, { skip, limit });
+    const data = [];
+    for (const i of list) {
+      const newData = new QVO_transtion(i);
+      data.push(newData);
+    }
+    const total = await this.service.count(filter);
+    return { data, total };
+  }
+
+  @Get('/:id')
+  @ApiResponse({ type: FVO_transtion })
+  async fetch(@Param('id') id: string) {
+    const data = await this.service.fetch(id);
+    const result = new FVO_transtion(data);
+    return result;
+  }
+
+  @Post('/:id')
+  @Validate()
+  @ApiResponse({ type: UVAO_transtion })
+  async update(@Param('id') id: string, @Body() body: UDTO_transtion) {
+    const result = await this.service.updateOne(id, body);
+    return result;
+  }
+
+  @Del('/:id')
+  @Validate()
+  async delete(@Param('id') id: string) {
+    await this.service.delete(id);
+    return 'ok';
+  }
+  async createMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async updateMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+
+  async deleteMany(...args: any[]) {
+    throw new Error('Method not implemented.');
+  }
+}

+ 74 - 0
src/entity/analysis.entity.ts

@@ -0,0 +1,74 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'analysis' },
+})
+export class Analysis extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '状态',
+    remark: '字典表:patent_analysis_status',
+    default: '0',
+  })
+  status: string;
+  @prop({ required: false, index: true, zh: '管理员id' })
+  admin_id: string;
+  @prop({ required: false, index: true, zh: '管理员姓名' })
+  admin_name: string;
+  @prop({ required: false, index: true, zh: '用户id' })
+  user_id: string;
+  @prop({ required: false, index: true, zh: '用户姓名' })
+  user_name: string;
+  @prop({ required: false, index: true, zh: '发明名称' })
+  name: string;
+  @prop({ required: false, index: true, zh: '申请人' })
+  apply_name: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '专利类型',
+    remark: '字典:patent_type【发明申请,实用新型】',
+  })
+  type: string;
+  @prop({ required: false, index: true, zh: '发明人' })
+  inventor: string;
+  @prop({ required: false, index: true, zh: '技术联系人' })
+  techol_contact: string;
+  @prop({ required: false, index: true, zh: '手机号' })
+  phone: string;
+  @prop({ required: false, index: true, zh: '电子邮箱' })
+  email: string;
+  @prop({ required: false, index: false, zh: '特殊情况说明' })
+  special: string;
+  @prop({ required: false, index: false, zh: '本发明的技术领域' })
+  techol_field: string;
+  @prop({ required: false, index: false, zh: '本发明的相关的背景技术' })
+  techol_back: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '现有技术的缺点及本发明所要解决的技术问题',
+  })
+  techol_ques: string;
+  @prop({ required: false, index: false, zh: '本发明技术方案的详细阐述' })
+  techol_prop: string;
+  @prop({ required: false, index: false, zh: '本申请的关键点和预保护点' })
+  techol_prot: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  techol_advan: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '针对本发明技术方案,是否还有的替代方案',
+  })
+  techol_alter: string;
+  @prop({ required: false, index: false, zh: '审核记录' })
+  record: Array<any>;
+  @prop({ required: false, index: false, zh: '报告文件' })
+  report_file: Array<any>;
+}

+ 82 - 0
src/entity/apply.entity.ts

@@ -0,0 +1,82 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'apply' },
+})
+export class Apply extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '状态',
+    remark: '字典表:patent_apply_status',
+    default: '0',
+  })
+  status: string;
+  @prop({ required: false, index: true, zh: '管理员id' })
+  admin_id: string;
+  @prop({ required: false, index: false, zh: '管理员姓名' })
+  admin_name: string;
+  @prop({ required: false, index: true, zh: '机构id' })
+  mech_id: string;
+  @prop({ required: false, index: true, zh: '机构姓名' })
+  mech_name: string;
+  @prop({ required: false, index: true, zh: '用户id' })
+  user_id: string;
+  @prop({ required: false, index: true, zh: '用户姓名' })
+  user_name: string;
+  @prop({ required: false, index: true, zh: '申请号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  name: string;
+  @prop({ required: false, index: true, zh: '申请人' })
+  apply_name: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '专利类型',
+    remark: '字典:patent_type【发明申请,实用新型】',
+  })
+  type: string;
+  @prop({ required: false, index: true, zh: '发明人' })
+  inventor: string;
+  @prop({ required: false, index: true, zh: '技术联系人' })
+  techol_contact: string;
+  @prop({ required: false, index: true, zh: '手机号' })
+  phone: string;
+  @prop({ required: false, index: true, zh: '电子邮箱' })
+  email: string;
+  @prop({ required: false, index: false, zh: '审查文件' })
+  exam_file: Array<any>;
+  @prop({ required: false, index: false, zh: '申请文件' })
+  agent_file: Array<any>;
+  @prop({ required: false, index: false, zh: '特殊情况说明' })
+  special: string;
+  @prop({ required: false, index: false, zh: '本发明的技术领域' })
+  techol_field: string;
+  @prop({ required: false, index: false, zh: '本发明的相关的背景技术' })
+  techol_back: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '现有技术的缺点及本发明所要解决的技术问题',
+  })
+  techol_ques: string;
+  @prop({ required: false, index: false, zh: '本发明技术方案的详细阐述' })
+  techol_prop: string;
+  @prop({ required: false, index: false, zh: '本申请的关键点和预保护点' })
+  techol_prot: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  techol_advan: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '针对本发明技术方案,是否还有的替代方案',
+  })
+  techol_alter: string;
+  @prop({ required: false, index: false, zh: '审核记录' })
+  record: Array<any>;
+}

+ 65 - 0
src/entity/assessment.entity.ts

@@ -0,0 +1,65 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'assessment' },
+})
+export class Assessment extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '状态',
+    remark: '字典表:patent_assessment_status',
+  })
+  status: string;
+  @prop({ required: false, index: true, zh: '管理员id' })
+  admin_id: string;
+  @prop({ required: false, index: true, zh: '管理员姓名' })
+  admin_name: string;
+  @prop({ required: false, index: true, zh: '用户id' })
+  user_id: string;
+  @prop({ required: false, index: true, zh: '用户姓名' })
+  user_name: string;
+  @prop({ required: false, index: true, zh: '专利id' })
+  patent_id: string;
+  @prop({ required: false, index: true, zh: '申请号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  patent_name: string;
+  @prop({ required: false, index: true, zh: '发明人' })
+  inventor: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '专利类型',
+    remark: '字典表:patent_type',
+  })
+  type: string;
+  @prop({ required: false, index: true, zh: '联系人' })
+  contact: string;
+  @prop({ required: false, index: true, zh: '手机号' })
+  phone: string;
+  @prop({ required: false, index: false, zh: '摘要' })
+  abstract: string;
+  @prop({ required: false, index: false, zh: '应用领域' })
+  field: string;
+  @prop({ required: false, index: false, zh: '技术说明' })
+  explain: string;
+  @prop({ required: false, index: false, zh: '合享价值度' })
+  shared_value: string;
+  @prop({ required: false, index: false, zh: '技术稳定性' })
+  techol_stable: string;
+  @prop({ required: false, index: false, zh: '技术先进性' })
+  techol_advanced: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '是否缴费',
+    remark: '字典表:common_isno',
+    default: '1',
+  })
+  is_money: string;
+  @prop({ required: false, index: false, zh: '审核记录' })
+  record: Array<any>;
+  @prop({ required: false, index: false, zh: '报告文件' })
+  report_file: Array<any>;
+}

+ 25 - 0
src/entity/cpcMessage.entity.ts

@@ -0,0 +1,25 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'cpcMessage' },
+})
+export class CpcMessage extends BaseModel {
+  @prop({ required: false, index: true, zh: '接收人' })
+  receive_id: string;
+  @prop({ required: false, index: true, zh: '接收人姓名' })
+  receive_name: string;
+  @prop({ required: false, index: true, zh: '专利id' })
+  patent_id: string;
+  @prop({ required: false, index: true, zh: '申请号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  patent_name: string;
+  @prop({ required: false, index: false, zh: '预警信息' })
+  content: string;
+  @prop({ required: false, index: false, zh: '预警文件' })
+  warn_file: Array<any>;
+  @prop({ required: false, index: true, zh: '发送时间' })
+  send_date: string;
+  @prop({ required: false, index: true, zh: '是否已读', default: '0' })
+  is_read: string;
+}

+ 19 - 0
src/entity/cpcMessageerror.entity.ts

@@ -0,0 +1,19 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'cpcMessageerror' },
+})
+export class CpcMessageerror extends BaseModel {
+  @prop({ required: false, index: true, zh: '申请号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  patent_name: string;
+  @prop({ required: false, index: true, zh: '专利信息key' })
+  patent_key: string;
+  @prop({ required: false, index: true, zh: '错误信息' })
+  content: string;
+  @prop({ required: false, index: false, zh: '导入的zip包' })
+  zip_url: string;
+  @prop({ required: false, index: true, zh: '导入时间' })
+  create_Date: string;
+}

+ 17 - 0
src/entity/examNotice.entity.ts

@@ -0,0 +1,17 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'examNotice' },
+})
+export class ExamNotice extends BaseModel {
+  @prop({ required: false, index: true, zh: '发送人' })
+  send_id: string;
+  @prop({ required: false, index: true, zh: '发送时间' })
+  send_date: string;
+  @prop({ required: false, index: true, zh: '接收人' })
+  receive_id: string;
+  @prop({ required: false, index: false, zh: '发送内容' })
+  content: string;
+  @prop({ required: false, index: true, zh: '是否已读', default: '0' })
+  is_read: string;
+}

+ 31 - 0
src/entity/notice.entity.ts

@@ -0,0 +1,31 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'notice' },
+})
+export class Notice extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '发送人类型',
+    remark: '字典表:patnet_notice_send_type',
+  })
+  send_type: string;
+  @prop({ required: false, index: true, zh: '发送人' })
+  send_id: string;
+  @prop({ required: false, index: true, zh: '发送时间' })
+  send_date: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '接收人类型',
+    remark: '字典表:patnet_notice_receive_type',
+  })
+  type: string;
+  @prop({ required: false, index: false, zh: '接收人' })
+  receive: Array<any>;
+  @prop({ required: false, index: false, zh: '内容' })
+  content: string;
+  @prop({ required: false, index: false, zh: '通知文件' })
+  annex_file: Array<any>;
+}

+ 1 - 1
src/entity/patent.entity.ts

@@ -41,7 +41,7 @@ export class Patent extends BaseModel {
   })
   type: string;
   @prop({ required: false, index: false, zh: '首页附图(压缩图)' })
-  file: string;
+  file: Array<any>;
   @prop({ required: false, index: false, zh: '公开国别' })
   nationality: string;
   @prop({ required: false, index: false, zh: 'IPC主分类' })

+ 19 - 0
src/entity/patentWarning.entity.ts

@@ -0,0 +1,19 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'patentWarning' },
+})
+export class PatentWarning extends BaseModel {
+  @prop({ required: false, index: true, zh: '专利号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  patnet_name: string;
+  @prop({ required: false, index: true, zh: '发送时间' })
+  send_date: string;
+  @prop({ required: false, index: true, zh: '缴费截止日期' })
+  lose_date: string;
+  @prop({ required: false, index: false, zh: '预警信息' })
+  content: string;
+  @prop({ required: false, index: false, zh: '接收人' })
+  receive: Array<any>;
+}

+ 80 - 0
src/entity/safeg.entity.ts

@@ -0,0 +1,80 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'safeg' },
+})
+export class Safeg extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '状态',
+    remark: '字典表:patent_safeg_status',
+    default: '0',
+  })
+  status: string;
+  @prop({ required: false, index: true, zh: '管理员id' })
+  admin_id: string;
+  @prop({ required: false, index: true, zh: '管理员姓名' })
+  admin_name: string;
+  @prop({ required: false, index: true, zh: '用户id' })
+  user_id: string;
+  @prop({ required: false, index: true, zh: '用户姓名' })
+  user_name: string;
+  @prop({ required: false, index: true, zh: '专利id' })
+  patent_id: string;
+  @prop({ required: false, index: true, zh: '专利名称' })
+  patent_name: string;
+  @prop({ required: false, index: true, zh: '申请号' })
+  create_number: string;
+  @prop({ required: false, index: true, zh: '申请人' })
+  apply_name: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '专利类型',
+    remark: '字典:patent_type',
+  })
+  type: string;
+  @prop({ required: false, index: true, zh: '发明人' })
+  inventor: string;
+  @prop({ required: false, index: true, zh: '联系人' })
+  contact: string;
+  @prop({ required: false, index: true, zh: '手机号' })
+  phone: string;
+  @prop({ required: false, index: true, zh: '电子邮箱' })
+  email: string;
+  @prop({ required: false, index: false, zh: '诉求' })
+  appeal: string;
+  @prop({ required: false, index: false, zh: '侵权事实' })
+  infringement: string;
+  @prop({ required: false, index: false, zh: '本发明的技术领域' })
+  techol_field: string;
+  @prop({ required: false, index: false, zh: '本发明的相关的背景技术' })
+  techol_back: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '现有技术的缺点及本发明所要解决的技术问题',
+  })
+  techol_ques: string;
+  @prop({ required: false, index: false, zh: '本发明技术方案的详细阐述' })
+  techol_prop: string;
+  @prop({ required: false, index: false, zh: '本申请的关键点和预保护点' })
+  techol_prot: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  techol_advan: string;
+  @prop({
+    required: false,
+    index: false,
+    zh: '针对本发明技术方案,是否还有的替代方案',
+  })
+  techol_alter: string;
+  @prop({ required: false, index: false, zh: '审核记录' })
+  record: Array<any>;
+  @prop({ required: false, index: false, zh: '报告文件' })
+  report_file: Array<any>;
+}

+ 28 - 0
src/entity/techol.entity.ts

@@ -0,0 +1,28 @@
+import { modelOptions, prop } from '@typegoose/typegoose';
+import { BaseModel } from 'free-midway-component';
+@modelOptions({
+  schemaOptions: { collection: 'techol' },
+})
+export class Techol extends BaseModel {
+  @prop({ required: false, index: true, zh: '需求订单号' })
+  order_num: string;
+  @prop({ required: false, index: true, zh: '需求描述(用途)' })
+  describe: string;
+  @prop({
+    required: false,
+    index: true,
+    zh: '紧急程度',
+    remark: '字典:patent_tecol_urgent',
+  })
+  urgent: string;
+  @prop({ required: false, index: true, zh: '联系人' })
+  contact: string;
+  @prop({ required: false, index: true, zh: '手机号' })
+  phone: string;
+  @prop({ required: false, index: true, zh: '电子邮箱' })
+  email: string;
+  @prop({ required: false, index: false, zh: '合作条件及要求' })
+  requirement: string;
+  @prop({ required: false, index: true, zh: '状态' })
+  status: string;
+}

+ 31 - 27
src/entity/patenttrans.entity.ts

@@ -1,18 +1,31 @@
 import { modelOptions, prop } from '@typegoose/typegoose';
 import { BaseModel } from 'free-midway-component';
 @modelOptions({
-  schemaOptions: { collection: 'patenttrans' },
+  schemaOptions: { collection: 'transtion' },
 })
-export class Patenttrans extends BaseModel {
-  @prop({ required: false, index: true, zh: '关联用户' })
+export class Transtion extends BaseModel {
+  @prop({
+    required: false,
+    index: true,
+    zh: '状态',
+    remark: '字典:patent_trans_status',
+  })
+  status: string;
+  @prop({ required: false, index: true, zh: '机构id' })
+  mech_id: string;
+  @prop({ required: false, index: true, zh: '机构名称' })
+  mech_name: string;
+  @prop({ required: false, index: true, zh: '用户id' })
   user_id: string;
-  @prop({ required: false, index: true, zh: '关联专利' })
+  @prop({ required: false, index: true, zh: '用户姓名' })
+  user_name: string;
+  @prop({ required: false, index: true, zh: '专利id' })
   patent_id: string;
   @prop({ required: false, index: true, zh: '专利名称' })
   patent_name: string;
-  @prop({ required: false, index: true, zh: '专利号' })
-  create_number: string;
-  @prop({ required: false, index: true, zh: '当前权利人(变更前权利人)' })
+  @prop({ required: false, index: true, zh: '申请号' })
+  crete_number: string;
+  @prop({ required: false, index: true, zh: '当前权利人(变更前专利权人)' })
   on_obligee: string;
   @prop({ required: false, index: true, zh: '联系人' })
   contact: string;
@@ -26,25 +39,21 @@ export class Patenttrans extends BaseModel {
     required: false,
     index: true,
     zh: '交易类型',
-    remark: '字典:trans_type',
+    remark: '字典:patent_trans_type',
   })
   type: string;
-  @prop({
-    required: false,
-    index: false,
-    zh: '免费许可承诺书',
-    remark: '交易类型为免费许可时,需填写免费许可承诺书',
-  })
-  promise_file: string;
+  @prop({ required: false, index: false, zh: '免费许可承诺书' })
+  promise_file: object;
   @prop({
     required: false,
     index: true,
     zh: '是否有评估报告',
     remark: '字典:common_isno',
+    default: '1',
   })
   is_report: string;
   @prop({ required: false, index: false, zh: '评估报告' })
-  report: string;
+  report: Array<any>;
   @prop({ required: false, index: false, zh: '技术说明' })
   requirementdesc: string;
   @prop({ required: false, index: false, zh: '商业预期' })
@@ -61,18 +70,13 @@ export class Patenttrans extends BaseModel {
     required: false,
     index: true,
     zh: '合同类型',
-    remark: '字典trans_contract_type',
+    remark: '字典:patent_trans_contract_type',
   })
   is_contract: string;
-  @prop({ required: false, index: false, zh: '线上合同' })
-  contract: string;
   @prop({ required: false, index: false, zh: '线下合同' })
-  offine_contract: string;
-  @prop({
-    required: false,
-    index: true,
-    zh: '状态',
-    remark: '字典:trans_status',
-  })
-  status: string;
+  offine_contract: Array<any>;
+  @prop({ required: false, index: false, zh: '线上合同' })
+  contract: object;
+  @prop({ required: false, index: false, zh: '审核记录' })
+  record: Array<any>;
 }

+ 207 - 0
src/interface/analysis.interface.ts

@@ -0,0 +1,207 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_analysis {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '发明名称' })
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+  @ApiProperty({ description: '特殊情况说明' })
+  'special': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  'report_file': Array<any> = undefined;
+}
+
+export class QDTO_analysis extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'status',
+      'admin_id',
+      'admin_name',
+      'user_id',
+      'user_name',
+      'name',
+      'apply_name',
+      'type',
+      'inventor',
+      'techol_contact',
+      'phone',
+      'email',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '发明名称' })
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+}
+
+export class QVO_analysis extends FVO_analysis {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_analysis {
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  @Rule(RuleType['string']().empty(''))
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'user_name': string = undefined;
+  @ApiProperty({ description: '发明名称' })
+  @Rule(RuleType['string']().empty(''))
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  @Rule(RuleType['string']().empty(''))
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  @Rule(RuleType['string']().empty(''))
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  @Rule(RuleType['string']().empty(''))
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  @Rule(RuleType['string']().empty(''))
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  @Rule(RuleType['string']().empty(''))
+  'email': string = undefined;
+  @ApiProperty({ description: '特殊情况说明' })
+  @Rule(RuleType['string']().empty(''))
+  'special': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  @Rule(RuleType['string']().empty(''))
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  @Rule(RuleType['array']().empty(''))
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  @Rule(RuleType['array']().empty(''))
+  'report_file': Array<any> = undefined;
+}
+
+export class CVO_analysis extends FVO_analysis {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_analysis extends CDTO_analysis {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_analysis extends FVO_analysis {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 233 - 0
src/interface/apply.interface.ts

@@ -0,0 +1,233 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_apply {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构姓名' })
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+  @ApiProperty({ description: '审查文件' })
+  'exam_file': Array<any> = undefined;
+  @ApiProperty({ description: '申请文件' })
+  'agent_file': Array<any> = undefined;
+  @ApiProperty({ description: '特殊情况说明' })
+  'special': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  'record': Array<any> = undefined;
+}
+
+export class QDTO_apply extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'status',
+      'admin_id',
+      'mech_id',
+      'mech_name',
+      'user_id',
+      'user_name',
+      'create_number',
+      'name',
+      'apply_name',
+      'type',
+      'inventor',
+      'techol_contact',
+      'phone',
+      'email',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构姓名' })
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+}
+
+export class QVO_apply extends FVO_apply {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_apply {
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  @Rule(RuleType['string']().empty(''))
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  @Rule(RuleType['string']().empty(''))
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'user_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'name': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  @Rule(RuleType['string']().empty(''))
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  @Rule(RuleType['string']().empty(''))
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  @Rule(RuleType['string']().empty(''))
+  'inventor': string = undefined;
+  @ApiProperty({ description: '技术联系人' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  @Rule(RuleType['string']().empty(''))
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  @Rule(RuleType['string']().empty(''))
+  'email': string = undefined;
+  @ApiProperty({ description: '审查文件' })
+  @Rule(RuleType['array']().empty(''))
+  'exam_file': Array<any> = undefined;
+  @ApiProperty({ description: '申请文件' })
+  @Rule(RuleType['array']().empty(''))
+  'agent_file': Array<any> = undefined;
+  @ApiProperty({ description: '特殊情况说明' })
+  @Rule(RuleType['string']().empty(''))
+  'special': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  @Rule(RuleType['string']().empty(''))
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  @Rule(RuleType['array']().empty(''))
+  'record': Array<any> = undefined;
+}
+
+export class CVO_apply extends FVO_apply {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_apply extends CDTO_apply {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_apply extends FVO_apply {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 201 - 0
src/interface/assessment.interface.ts

@@ -0,0 +1,201 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_assessment {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '摘要' })
+  'abstract': string = undefined;
+  @ApiProperty({ description: '应用领域' })
+  'field': string = undefined;
+  @ApiProperty({ description: '技术说明' })
+  'explain': string = undefined;
+  @ApiProperty({ description: '合享价值度' })
+  'shared_value': string = undefined;
+  @ApiProperty({ description: '技术稳定性' })
+  'techol_stable': string = undefined;
+  @ApiProperty({ description: '技术先进性' })
+  'techol_advanced': string = undefined;
+  @ApiProperty({ description: '是否缴费' })
+  'is_money': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  'report_file': Array<any> = undefined;
+}
+
+export class QDTO_assessment extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'status',
+      'admin_id',
+      'admin_name',
+      'user_id',
+      'user_name',
+      'patent_id',
+      'create_number',
+      'patent_name',
+      'inventor',
+      'type',
+      'contact',
+      'phone',
+      'is_money',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '是否缴费' })
+  'is_money': string = undefined;
+}
+
+export class QVO_assessment extends FVO_assessment {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_assessment {
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  @Rule(RuleType['string']().empty(''))
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  @Rule(RuleType['string']().empty(''))
+  'inventor': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  @Rule(RuleType['string']().empty(''))
+  'type': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  @Rule(RuleType['string']().empty(''))
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  @Rule(RuleType['string']().empty(''))
+  'phone': string = undefined;
+  @ApiProperty({ description: '摘要' })
+  @Rule(RuleType['string']().empty(''))
+  'abstract': string = undefined;
+  @ApiProperty({ description: '应用领域' })
+  @Rule(RuleType['string']().empty(''))
+  'field': string = undefined;
+  @ApiProperty({ description: '技术说明' })
+  @Rule(RuleType['string']().empty(''))
+  'explain': string = undefined;
+  @ApiProperty({ description: '合享价值度' })
+  @Rule(RuleType['string']().empty(''))
+  'shared_value': string = undefined;
+  @ApiProperty({ description: '技术稳定性' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_stable': string = undefined;
+  @ApiProperty({ description: '技术先进性' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_advanced': string = undefined;
+  @ApiProperty({ description: '是否缴费' })
+  @Rule(RuleType['string']().empty(''))
+  'is_money': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  @Rule(RuleType['array']().empty(''))
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  @Rule(RuleType['array']().empty(''))
+  'report_file': Array<any> = undefined;
+}
+
+export class CVO_assessment extends FVO_assessment {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_assessment extends CDTO_assessment {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_assessment extends FVO_assessment {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 123 - 0
src/interface/cpcMessage.interface.ts

@@ -0,0 +1,123 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_cpcMessage {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '接收人' })
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '接收人姓名' })
+  'receive_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '预警信息' })
+  'content': string = undefined;
+  @ApiProperty({ description: '预警文件' })
+  'warn_file': Array<any> = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  'is_read': string = undefined;
+}
+
+export class QDTO_cpcMessage extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'receive_id',
+      'receive_name',
+      'patent_id',
+      'create_number',
+      'patent_name',
+      'send_date',
+      'is_read',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '接收人' })
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '接收人姓名' })
+  'receive_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  'is_read': string = undefined;
+}
+
+export class QVO_cpcMessage extends FVO_cpcMessage {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_cpcMessage {
+  @ApiProperty({ description: '接收人' })
+  @Rule(RuleType['string']().empty(''))
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '接收人姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'receive_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '预警信息' })
+  @Rule(RuleType['string']().empty(''))
+  'content': string = undefined;
+  @ApiProperty({ description: '预警文件' })
+  @Rule(RuleType['array']().empty(''))
+  'warn_file': Array<any> = undefined;
+  @ApiProperty({ description: '发送时间' })
+  @Rule(RuleType['string']().empty(''))
+  'send_date': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  @Rule(RuleType['string']().empty(''))
+  'is_read': string = undefined;
+}
+
+export class CVO_cpcMessage extends FVO_cpcMessage {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_cpcMessage extends CDTO_cpcMessage {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_cpcMessage extends FVO_cpcMessage {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 102 - 0
src/interface/cpcMessageerror.interface.ts

@@ -0,0 +1,102 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_cpcMessageerror {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '专利信息key' })
+  'patent_key': string = undefined;
+  @ApiProperty({ description: '错误信息' })
+  'content': string = undefined;
+  @ApiProperty({ description: '导入的zip包' })
+  'zip_url': string = undefined;
+  @ApiProperty({ description: '导入时间' })
+  'create_Date': string = undefined;
+}
+
+export class QDTO_cpcMessageerror extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'create_number',
+      'patent_name',
+      'patent_key',
+      'content',
+      'create_Date',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '专利信息key' })
+  'patent_key': string = undefined;
+  @ApiProperty({ description: '错误信息' })
+  'content': string = undefined;
+  @ApiProperty({ description: '导入时间' })
+  'create_Date': string = undefined;
+}
+
+export class QVO_cpcMessageerror extends FVO_cpcMessageerror {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_cpcMessageerror {
+  @ApiProperty({ description: '申请号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '专利信息key' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_key': string = undefined;
+  @ApiProperty({ description: '错误信息' })
+  @Rule(RuleType['string']().empty(''))
+  'content': string = undefined;
+  @ApiProperty({ description: '导入的zip包' })
+  @Rule(RuleType['string']().empty(''))
+  'zip_url': string = undefined;
+  @ApiProperty({ description: '导入时间' })
+  @Rule(RuleType['string']().empty(''))
+  'create_Date': string = undefined;
+}
+
+export class CVO_cpcMessageerror extends FVO_cpcMessageerror {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_cpcMessageerror extends CDTO_cpcMessageerror {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_cpcMessageerror extends FVO_cpcMessageerror {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 89 - 0
src/interface/examNotice.interface.ts

@@ -0,0 +1,89 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_examNotice {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '发送人' })
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '发送内容' })
+  'content': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  'is_read': string = undefined;
+}
+
+export class QDTO_examNotice extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = ['send_id', 'send_date', 'receive_id', 'is_read'];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '发送人' })
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  'is_read': string = undefined;
+}
+
+export class QVO_examNotice extends FVO_examNotice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_examNotice {
+  @ApiProperty({ description: '发送人' })
+  @Rule(RuleType['string']().empty(''))
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  @Rule(RuleType['string']().empty(''))
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  @Rule(RuleType['string']().empty(''))
+  'receive_id': string = undefined;
+  @ApiProperty({ description: '发送内容' })
+  @Rule(RuleType['string']().empty(''))
+  'content': string = undefined;
+  @ApiProperty({ description: '是否已读' })
+  @Rule(RuleType['string']().empty(''))
+  'is_read': string = undefined;
+}
+
+export class CVO_examNotice extends FVO_examNotice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_examNotice extends CDTO_examNotice {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_examNotice extends FVO_examNotice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 99 - 0
src/interface/notice.interface.ts

@@ -0,0 +1,99 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_notice {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '发送人类型' })
+  'send_type': string = undefined;
+  @ApiProperty({ description: '发送人' })
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  'receive': Array<any> = undefined;
+  @ApiProperty({ description: '内容' })
+  'content': string = undefined;
+  @ApiProperty({ description: '通知文件' })
+  'annex_file': Array<any> = undefined;
+}
+
+export class QDTO_notice extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = ['send_type', 'send_id', 'send_date', 'type'];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '发送人类型' })
+  'send_type': string = undefined;
+  @ApiProperty({ description: '发送人' })
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人类型' })
+  'type': string = undefined;
+}
+
+export class QVO_notice extends FVO_notice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_notice {
+  @ApiProperty({ description: '发送人类型' })
+  @Rule(RuleType['string']().empty(''))
+  'send_type': string = undefined;
+  @ApiProperty({ description: '发送人' })
+  @Rule(RuleType['string']().empty(''))
+  'send_id': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  @Rule(RuleType['string']().empty(''))
+  'send_date': string = undefined;
+  @ApiProperty({ description: '接收人类型' })
+  @Rule(RuleType['string']().empty(''))
+  'type': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  @Rule(RuleType['array']().empty(''))
+  'receive': Array<any> = undefined;
+  @ApiProperty({ description: '内容' })
+  @Rule(RuleType['string']().empty(''))
+  'content': string = undefined;
+  @ApiProperty({ description: '通知文件' })
+  @Rule(RuleType['array']().empty(''))
+  'annex_file': Array<any> = undefined;
+}
+
+export class CVO_notice extends FVO_notice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_notice extends CDTO_notice {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_notice extends FVO_notice {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 3 - 3
src/interface/patent.interface.ts

@@ -41,7 +41,7 @@ export class FVO_patent {
   @ApiProperty({ description: '专利类型' })
   'type': string = undefined;
   @ApiProperty({ description: '首页附图(压缩图)' })
-  'file': string = undefined;
+  'file': Array<any> = undefined;
   @ApiProperty({ description: '公开国别' })
   'nationality': string = undefined;
   @ApiProperty({ description: 'IPC主分类' })
@@ -195,8 +195,8 @@ export class CDTO_patent {
   @Rule(RuleType['string']().empty(''))
   'type': string = undefined;
   @ApiProperty({ description: '首页附图(压缩图)' })
-  @Rule(RuleType['string']().empty(''))
-  'file': string = undefined;
+  @Rule(RuleType['array']().empty(''))
+  'file': Array<any> = undefined;
   @ApiProperty({ description: '公开国别' })
   @Rule(RuleType['string']().empty(''))
   'nationality': string = undefined;

+ 94 - 0
src/interface/patentWarning.interface.ts

@@ -0,0 +1,94 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_patentWarning {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '专利号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patnet_name': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '缴费截止日期' })
+  'lose_date': string = undefined;
+  @ApiProperty({ description: '预警信息' })
+  'content': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  'receive': Array<any> = undefined;
+}
+
+export class QDTO_patentWarning extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = ['create_number', 'patnet_name', 'send_date', 'lose_date'];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '专利号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patnet_name': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  'send_date': string = undefined;
+  @ApiProperty({ description: '缴费截止日期' })
+  'lose_date': string = undefined;
+}
+
+export class QVO_patentWarning extends FVO_patentWarning {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_patentWarning {
+  @ApiProperty({ description: '专利号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'patnet_name': string = undefined;
+  @ApiProperty({ description: '发送时间' })
+  @Rule(RuleType['string']().empty(''))
+  'send_date': string = undefined;
+  @ApiProperty({ description: '缴费截止日期' })
+  @Rule(RuleType['string']().empty(''))
+  'lose_date': string = undefined;
+  @ApiProperty({ description: '预警信息' })
+  @Rule(RuleType['string']().empty(''))
+  'content': string = undefined;
+  @ApiProperty({ description: '接收人' })
+  @Rule(RuleType['array']().empty(''))
+  'receive': Array<any> = undefined;
+}
+
+export class CVO_patentWarning extends FVO_patentWarning {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_patentWarning extends CDTO_patentWarning {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_patentWarning extends FVO_patentWarning {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 228 - 0
src/interface/safeg.interface.ts

@@ -0,0 +1,228 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_safeg {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+  @ApiProperty({ description: '诉求' })
+  'appeal': string = undefined;
+  @ApiProperty({ description: '侵权事实' })
+  'infringement': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  'report_file': Array<any> = undefined;
+}
+
+export class QDTO_safeg extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'status',
+      'admin_id',
+      'admin_name',
+      'user_id',
+      'user_name',
+      'patent_id',
+      'patent_name',
+      'create_number',
+      'apply_name',
+      'type',
+      'inventor',
+      'contact',
+      'phone',
+      'email',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  'create_number': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  'inventor': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+}
+
+export class QVO_safeg extends FVO_safeg {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_safeg {
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+  @ApiProperty({ description: '管理员id' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_id': string = undefined;
+  @ApiProperty({ description: '管理员姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'admin_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
+  @Rule(RuleType['string']().empty(''))
+  'user_id': string = undefined;
+  @ApiProperty({ description: '用户姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_id': string = undefined;
+  @ApiProperty({ description: '专利名称' })
+  @Rule(RuleType['string']().empty(''))
+  'patent_name': string = undefined;
+  @ApiProperty({ description: '申请号' })
+  @Rule(RuleType['string']().empty(''))
+  'create_number': string = undefined;
+  @ApiProperty({ description: '申请人' })
+  @Rule(RuleType['string']().empty(''))
+  'apply_name': string = undefined;
+  @ApiProperty({ description: '专利类型' })
+  @Rule(RuleType['string']().empty(''))
+  'type': string = undefined;
+  @ApiProperty({ description: '发明人' })
+  @Rule(RuleType['string']().empty(''))
+  'inventor': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  @Rule(RuleType['string']().empty(''))
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  @Rule(RuleType['string']().empty(''))
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  @Rule(RuleType['string']().empty(''))
+  'email': string = undefined;
+  @ApiProperty({ description: '诉求' })
+  @Rule(RuleType['string']().empty(''))
+  'appeal': string = undefined;
+  @ApiProperty({ description: '侵权事实' })
+  @Rule(RuleType['string']().empty(''))
+  'infringement': string = undefined;
+  @ApiProperty({ description: '本发明的技术领域' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_field': string = undefined;
+  @ApiProperty({ description: '本发明的相关的背景技术' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_back': string = undefined;
+  @ApiProperty({ description: '现有技术的缺点及本发明所要解决的技术问题' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_ques': string = undefined;
+  @ApiProperty({ description: '本发明技术方案的详细阐述' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prop': string = undefined;
+  @ApiProperty({ description: '本申请的关键点和预保护点' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_prot': string = undefined;
+  @ApiProperty({
+    description: '本发明最相似,相近的实现技术,方案相比,本发明有何优点',
+  })
+  @Rule(RuleType['string']().empty(''))
+  'techol_advan': string = undefined;
+  @ApiProperty({ description: '针对本发明技术方案,是否还有的替代方案' })
+  @Rule(RuleType['string']().empty(''))
+  'techol_alter': string = undefined;
+  @ApiProperty({ description: '审核记录' })
+  @Rule(RuleType['array']().empty(''))
+  'record': Array<any> = undefined;
+  @ApiProperty({ description: '报告文件' })
+  @Rule(RuleType['array']().empty(''))
+  'report_file': Array<any> = undefined;
+}
+
+export class CVO_safeg extends FVO_safeg {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_safeg extends CDTO_safeg {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_safeg extends FVO_safeg {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 118 - 0
src/interface/techol.interface.ts

@@ -0,0 +1,118 @@
+import { Rule, RuleType } from '@midwayjs/validate';
+import { ApiProperty } from '@midwayjs/swagger';
+import { SearchBase } from 'free-midway-component';
+import get = require('lodash/get');
+const dealVO = (cla, data) => {
+  for (const key in cla) {
+    const val = get(data, key);
+    if (val || val === 0) cla[key] = val;
+  }
+};
+export class FVO_techol {
+  constructor(data: object) {
+    dealVO(this, data);
+  }
+  @ApiProperty({ description: '数据id' })
+  _id: string = undefined;
+  @ApiProperty({ description: '需求订单号' })
+  'order_num': string = undefined;
+  @ApiProperty({ description: '需求描述(用途)' })
+  'describe': string = undefined;
+  @ApiProperty({ description: '紧急程度' })
+  'urgent': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+  @ApiProperty({ description: '合作条件及要求' })
+  'requirement': string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+}
+
+export class QDTO_techol extends SearchBase {
+  constructor() {
+    const like_prop = [];
+    const props = [
+      'order_num',
+      'describe',
+      'urgent',
+      'contact',
+      'phone',
+      'email',
+      'status',
+    ];
+    const mapping = [];
+    super({ like_prop, props, mapping });
+  }
+  @ApiProperty({ description: '需求订单号' })
+  'order_num': string = undefined;
+  @ApiProperty({ description: '需求描述(用途)' })
+  'describe': string = undefined;
+  @ApiProperty({ description: '紧急程度' })
+  'urgent': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  'email': string = undefined;
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+}
+
+export class QVO_techol extends FVO_techol {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class CDTO_techol {
+  @ApiProperty({ description: '需求订单号' })
+  @Rule(RuleType['string']().empty(''))
+  'order_num': string = undefined;
+  @ApiProperty({ description: '需求描述(用途)' })
+  @Rule(RuleType['string']().empty(''))
+  'describe': string = undefined;
+  @ApiProperty({ description: '紧急程度' })
+  @Rule(RuleType['string']().empty(''))
+  'urgent': string = undefined;
+  @ApiProperty({ description: '联系人' })
+  @Rule(RuleType['string']().empty(''))
+  'contact': string = undefined;
+  @ApiProperty({ description: '手机号' })
+  @Rule(RuleType['string']().empty(''))
+  'phone': string = undefined;
+  @ApiProperty({ description: '电子邮箱' })
+  @Rule(RuleType['string']().empty(''))
+  'email': string = undefined;
+  @ApiProperty({ description: '合作条件及要求' })
+  @Rule(RuleType['string']().empty(''))
+  'requirement': string = undefined;
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+}
+
+export class CVO_techol extends FVO_techol {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}
+
+export class UDTO_techol extends CDTO_techol {
+  @ApiProperty({ description: '数据id' })
+  @Rule(RuleType['string']().empty(''))
+  _id: string = undefined;
+}
+
+export class UVAO_techol extends FVO_techol {
+  constructor(data: object) {
+    super(data);
+    dealVO(this, data);
+  }
+}

+ 74 - 45
src/interface/patenttrans.interface.ts

@@ -8,21 +8,29 @@ const dealVO = (cla, data) => {
     if (val || val === 0) cla[key] = val;
   }
 };
-export class FVO_patenttrans {
+export class FVO_transtion {
   constructor(data: object) {
     dealVO(this, data);
   }
   @ApiProperty({ description: '数据id' })
   _id: string = undefined;
-  @ApiProperty({ description: '关联用户' })
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构名称' })
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
   'user_id': string = undefined;
-  @ApiProperty({ description: '关联专利' })
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
   'patent_id': string = undefined;
   @ApiProperty({ description: '专利名称' })
   'patent_name': string = undefined;
-  @ApiProperty({ description: '专利号' })
-  'create_number': string = undefined;
-  @ApiProperty({ description: '当前权利人(变更前权人)' })
+  @ApiProperty({ description: '申请号' })
+  'crete_number': string = undefined;
+  @ApiProperty({ description: '当前权利人(变更前专利权人)' })
   'on_obligee': string = undefined;
   @ApiProperty({ description: '联系人' })
   'contact': string = undefined;
@@ -35,11 +43,11 @@ export class FVO_patenttrans {
   @ApiProperty({ description: '交易类型' })
   'type': string = undefined;
   @ApiProperty({ description: '免费许可承诺书' })
-  'promise_file': string = undefined;
+  'promise_file': object = undefined;
   @ApiProperty({ description: '是否有评估报告' })
   'is_report': string = undefined;
   @ApiProperty({ description: '评估报告' })
-  'report': string = undefined;
+  'report': Array<any> = undefined;
   @ApiProperty({ description: '技术说明' })
   'requirementdesc': string = undefined;
   @ApiProperty({ description: '商业预期' })
@@ -54,22 +62,26 @@ export class FVO_patenttrans {
   'transfer_date': string = undefined;
   @ApiProperty({ description: '合同类型' })
   'is_contract': string = undefined;
-  @ApiProperty({ description: '线上合同' })
-  'contract': string = undefined;
   @ApiProperty({ description: '线下合同' })
-  'offine_contract': string = undefined;
-  @ApiProperty({ description: '状态' })
-  'status': string = undefined;
+  'offine_contract': Array<any> = undefined;
+  @ApiProperty({ description: '线上合同' })
+  'contract': object = undefined;
+  @ApiProperty({ description: '审核记录' })
+  'record': Array<any> = undefined;
 }
 
-export class QDTO_patenttrans extends SearchBase {
+export class QDTO_transtion extends SearchBase {
   constructor() {
     const like_prop = [];
     const props = [
+      'status',
+      'mech_id',
+      'mech_name',
       'user_id',
+      'user_name',
       'patent_id',
       'patent_name',
-      'create_number',
+      'crete_number',
       'on_obligee',
       'contact',
       'phone',
@@ -80,20 +92,27 @@ export class QDTO_patenttrans extends SearchBase {
       'on_afterobligee',
       'transfer_date',
       'is_contract',
-      'status',
     ];
     const mapping = [];
     super({ like_prop, props, mapping });
   }
-  @ApiProperty({ description: '关联用户' })
+  @ApiProperty({ description: '状态' })
+  'status': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构名称' })
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
   'user_id': string = undefined;
-  @ApiProperty({ description: '关联专利' })
+  @ApiProperty({ description: '用户姓名' })
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
   'patent_id': string = undefined;
   @ApiProperty({ description: '专利名称' })
   'patent_name': string = undefined;
-  @ApiProperty({ description: '专利号' })
-  'create_number': string = undefined;
-  @ApiProperty({ description: '当前权利人(变更前权人)' })
+  @ApiProperty({ description: '申请号' })
+  'crete_number': string = undefined;
+  @ApiProperty({ description: '当前权利人(变更前专利权人)' })
   'on_obligee': string = undefined;
   @ApiProperty({ description: '联系人' })
   'contact': string = undefined;
@@ -113,31 +132,41 @@ export class QDTO_patenttrans extends SearchBase {
   'transfer_date': string = undefined;
   @ApiProperty({ description: '合同类型' })
   'is_contract': string = undefined;
-  @ApiProperty({ description: '状态' })
-  'status': string = undefined;
 }
 
-export class QVO_patenttrans extends FVO_patenttrans {
+export class QVO_transtion extends FVO_transtion {
   constructor(data: object) {
     super(data);
     dealVO(this, data);
   }
 }
 
-export class CDTO_patenttrans {
-  @ApiProperty({ description: '关联用户' })
+export class CDTO_transtion {
+  @ApiProperty({ description: '状态' })
+  @Rule(RuleType['string']().empty(''))
+  'status': string = undefined;
+  @ApiProperty({ description: '机构id' })
+  @Rule(RuleType['string']().empty(''))
+  'mech_id': string = undefined;
+  @ApiProperty({ description: '机构名称' })
+  @Rule(RuleType['string']().empty(''))
+  'mech_name': string = undefined;
+  @ApiProperty({ description: '用户id' })
   @Rule(RuleType['string']().empty(''))
   'user_id': string = undefined;
-  @ApiProperty({ description: '关联专利' })
+  @ApiProperty({ description: '用户姓名' })
+  @Rule(RuleType['string']().empty(''))
+  'user_name': string = undefined;
+  @ApiProperty({ description: '专利id' })
   @Rule(RuleType['string']().empty(''))
   'patent_id': string = undefined;
   @ApiProperty({ description: '专利名称' })
   @Rule(RuleType['string']().empty(''))
   'patent_name': string = undefined;
-  @ApiProperty({ description: '专利号' })
+  @ApiProperty({ description: '申请号' })
   @Rule(RuleType['string']().empty(''))
-  'create_number': string = undefined;
-  @ApiProperty({ description: '当前权利人(变更前权人)' })
+  'crete_number': string = undefined;
+  @ApiProperty({ description: '当前权利人(变更前专利权人)' })
   @Rule(RuleType['string']().empty(''))
   'on_obligee': string = undefined;
   @ApiProperty({ description: '联系人' })
@@ -156,14 +185,14 @@ export class CDTO_patenttrans {
   @Rule(RuleType['string']().empty(''))
   'type': string = undefined;
   @ApiProperty({ description: '免费许可承诺书' })
-  @Rule(RuleType['string']().empty(''))
-  'promise_file': string = undefined;
+  @Rule(RuleType['object']().empty(''))
+  'promise_file': object = undefined;
   @ApiProperty({ description: '是否有评估报告' })
   @Rule(RuleType['string']().empty(''))
   'is_report': string = undefined;
   @ApiProperty({ description: '评估报告' })
-  @Rule(RuleType['string']().empty(''))
-  'report': string = undefined;
+  @Rule(RuleType['array']().empty(''))
+  'report': Array<any> = undefined;
   @ApiProperty({ description: '技术说明' })
   @Rule(RuleType['string']().empty(''))
   'requirementdesc': string = undefined;
@@ -185,31 +214,31 @@ export class CDTO_patenttrans {
   @ApiProperty({ description: '合同类型' })
   @Rule(RuleType['string']().empty(''))
   'is_contract': string = undefined;
-  @ApiProperty({ description: '线上合同' })
-  @Rule(RuleType['string']().empty(''))
-  'contract': string = undefined;
   @ApiProperty({ description: '线下合同' })
-  @Rule(RuleType['string']().empty(''))
-  'offine_contract': string = undefined;
-  @ApiProperty({ description: '状态' })
-  @Rule(RuleType['string']().empty(''))
-  'status': string = undefined;
+  @Rule(RuleType['array']().empty(''))
+  'offine_contract': Array<any> = undefined;
+  @ApiProperty({ description: '线上合同' })
+  @Rule(RuleType['object']().empty(''))
+  'contract': object = undefined;
+  @ApiProperty({ description: '审核记录' })
+  @Rule(RuleType['array']().empty(''))
+  'record': Array<any> = undefined;
 }
 
-export class CVO_patenttrans extends FVO_patenttrans {
+export class CVO_transtion extends FVO_transtion {
   constructor(data: object) {
     super(data);
     dealVO(this, data);
   }
 }
 
-export class UDTO_patenttrans extends CDTO_patenttrans {
+export class UDTO_transtion extends CDTO_transtion {
   @ApiProperty({ description: '数据id' })
   @Rule(RuleType['string']().empty(''))
   _id: string = undefined;
 }
 
-export class UVAO_patenttrans extends FVO_patenttrans {
+export class UVAO_transtion extends FVO_transtion {
   constructor(data: object) {
     super(data);
     dealVO(this, data);

+ 4 - 4
src/service/patenttrans.service.ts

@@ -2,10 +2,10 @@ import { Provide } from '@midwayjs/decorator';
 import { InjectEntityModel } from '@midwayjs/typegoose';
 import { ReturnModelType } from '@typegoose/typegoose';
 import { BaseService } from 'free-midway-component';
-import { Patenttrans } from '../entity/patenttrans.entity';
-type modelType = ReturnModelType<typeof Patenttrans>;
+import { Analysis } from '../entity/analysis.entity';
+type modelType = ReturnModelType<typeof Analysis>;
 @Provide()
-export class PatenttransService extends BaseService<modelType> {
-  @InjectEntityModel(Patenttrans)
+export class AnalysisService extends BaseService<modelType> {
+  @InjectEntityModel(Analysis)
   model: modelType;
 }

+ 11 - 0
src/service/apply.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Apply } from '../entity/apply.entity';
+type modelType = ReturnModelType<typeof Apply>;
+@Provide()
+export class ApplyService extends BaseService<modelType> {
+  @InjectEntityModel(Apply)
+  model: modelType;
+}

+ 11 - 0
src/service/assessment.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Assessment } from '../entity/assessment.entity';
+type modelType = ReturnModelType<typeof Assessment>;
+@Provide()
+export class AssessmentService extends BaseService<modelType> {
+  @InjectEntityModel(Assessment)
+  model: modelType;
+}

+ 11 - 0
src/service/cpcMessage.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { CpcMessage } from '../entity/cpcMessage.entity';
+type modelType = ReturnModelType<typeof CpcMessage>;
+@Provide()
+export class CpcMessageService extends BaseService<modelType> {
+  @InjectEntityModel(CpcMessage)
+  model: modelType;
+}

+ 11 - 0
src/service/cpcMessageerror.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { CpcMessageerror } from '../entity/cpcMessageerror.entity';
+type modelType = ReturnModelType<typeof CpcMessageerror>;
+@Provide()
+export class CpcMessageerrorService extends BaseService<modelType> {
+  @InjectEntityModel(CpcMessageerror)
+  model: modelType;
+}

+ 11 - 0
src/service/examNotice.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { ExamNotice } from '../entity/examNotice.entity';
+type modelType = ReturnModelType<typeof ExamNotice>;
+@Provide()
+export class ExamNoticeService extends BaseService<modelType> {
+  @InjectEntityModel(ExamNotice)
+  model: modelType;
+}

+ 11 - 0
src/service/notice.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Notice } from '../entity/notice.entity';
+type modelType = ReturnModelType<typeof Notice>;
+@Provide()
+export class NoticeService extends BaseService<modelType> {
+  @InjectEntityModel(Notice)
+  model: modelType;
+}

+ 11 - 0
src/service/patentWarning.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { PatentWarning } from '../entity/patentWarning.entity';
+type modelType = ReturnModelType<typeof PatentWarning>;
+@Provide()
+export class PatentWarningService extends BaseService<modelType> {
+  @InjectEntityModel(PatentWarning)
+  model: modelType;
+}

+ 11 - 0
src/service/safeg.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Safeg } from '../entity/safeg.entity';
+type modelType = ReturnModelType<typeof Safeg>;
+@Provide()
+export class SafegService extends BaseService<modelType> {
+  @InjectEntityModel(Safeg)
+  model: modelType;
+}

+ 11 - 0
src/service/techol.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Techol } from '../entity/techol.entity';
+type modelType = ReturnModelType<typeof Techol>;
+@Provide()
+export class TecholService extends BaseService<modelType> {
+  @InjectEntityModel(Techol)
+  model: modelType;
+}

+ 11 - 0
src/service/transtion.service.ts

@@ -0,0 +1,11 @@
+import { Provide } from '@midwayjs/decorator';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { BaseService } from 'free-midway-component';
+import { Transtion } from '../entity/transtion.entity';
+type modelType = ReturnModelType<typeof Transtion>;
+@Provide()
+export class TranstionService extends BaseService<modelType> {
+  @InjectEntityModel(Transtion)
+  model: modelType;
+}