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_patenttrans { constructor(data: object) { dealVO(this, data); } @ApiProperty({ description: '数据id' }) _id: string = undefined; @ApiProperty({ description: '关联用户' }) 'user_id': string = undefined; @ApiProperty({ description: '关联专利' }) 'patent_id': string = undefined; @ApiProperty({ description: '专利名称' }) 'patent_name': string = undefined; @ApiProperty({ description: '专利号' }) 'create_number': string = undefined; @ApiProperty({ description: '当前权利人(变更前权利人)' }) 'on_obligee': string = undefined; @ApiProperty({ description: '联系人' }) 'contact': string = undefined; @ApiProperty({ description: '手机号' }) 'phone': string = undefined; @ApiProperty({ description: '电子邮箱' }) 'email': string = undefined; @ApiProperty({ description: '投资预算' }) 'budget': string = undefined; @ApiProperty({ description: '交易类型' }) 'type': string = undefined; @ApiProperty({ description: '免费许可承诺书' }) 'promise_file': string = undefined; @ApiProperty({ description: '是否有评估报告' }) 'is_report': string = undefined; @ApiProperty({ description: '评估报告' }) 'report': string = undefined; @ApiProperty({ description: '技术说明' }) 'requirementdesc': string = undefined; @ApiProperty({ description: '商业预期' }) 'expect': string = undefined; @ApiProperty({ description: '合作条件及要求' }) 'condition': string = undefined; @ApiProperty({ description: '摘要' }) 'abstract': string = undefined; @ApiProperty({ description: '变更后专利权人' }) 'on_afterobligee': string = undefined; @ApiProperty({ description: '专利权转移日期' }) '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; } export class QDTO_patenttrans extends SearchBase { constructor() { const like_prop = []; const props = [ 'user_id', 'patent_id', 'patent_name', 'create_number', 'on_obligee', 'contact', 'phone', 'email', 'budget', 'type', 'is_report', 'on_afterobligee', 'transfer_date', 'is_contract', 'status', ]; const mapping = []; super({ like_prop, props, mapping }); } @ApiProperty({ description: '关联用户' }) 'user_id': string = undefined; @ApiProperty({ description: '关联专利' }) 'patent_id': string = undefined; @ApiProperty({ description: '专利名称' }) 'patent_name': string = undefined; @ApiProperty({ description: '专利号' }) 'create_number': string = undefined; @ApiProperty({ description: '当前权利人(变更前权利人)' }) 'on_obligee': string = undefined; @ApiProperty({ description: '联系人' }) 'contact': string = undefined; @ApiProperty({ description: '手机号' }) 'phone': string = undefined; @ApiProperty({ description: '电子邮箱' }) 'email': string = undefined; @ApiProperty({ description: '投资预算' }) 'budget': string = undefined; @ApiProperty({ description: '交易类型' }) 'type': string = undefined; @ApiProperty({ description: '是否有评估报告' }) 'is_report': string = undefined; @ApiProperty({ description: '变更后专利权人' }) 'on_afterobligee': string = undefined; @ApiProperty({ description: '专利权转移日期' }) 'transfer_date': string = undefined; @ApiProperty({ description: '合同类型' }) 'is_contract': string = undefined; @ApiProperty({ description: '状态' }) 'status': string = undefined; } export class QVO_patenttrans extends FVO_patenttrans { constructor(data: object) { super(data); dealVO(this, data); } } export class CDTO_patenttrans { @ApiProperty({ description: '关联用户' }) @Rule(RuleType['string']().empty('')) 'user_id': string = undefined; @ApiProperty({ description: '关联专利' }) @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('')) 'on_obligee': 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('')) 'budget': string = undefined; @ApiProperty({ description: '交易类型' }) @Rule(RuleType['string']().empty('')) 'type': string = undefined; @ApiProperty({ description: '免费许可承诺书' }) @Rule(RuleType['string']().empty('')) 'promise_file': string = undefined; @ApiProperty({ description: '是否有评估报告' }) @Rule(RuleType['string']().empty('')) 'is_report': string = undefined; @ApiProperty({ description: '评估报告' }) @Rule(RuleType['string']().empty('')) 'report': string = undefined; @ApiProperty({ description: '技术说明' }) @Rule(RuleType['string']().empty('')) 'requirementdesc': string = undefined; @ApiProperty({ description: '商业预期' }) @Rule(RuleType['string']().empty('')) 'expect': string = undefined; @ApiProperty({ description: '合作条件及要求' }) @Rule(RuleType['string']().empty('')) 'condition': string = undefined; @ApiProperty({ description: '摘要' }) @Rule(RuleType['string']().empty('')) 'abstract': string = undefined; @ApiProperty({ description: '变更后专利权人' }) @Rule(RuleType['string']().empty('')) 'on_afterobligee': string = undefined; @ApiProperty({ description: '专利权转移日期' }) @Rule(RuleType['string']().empty('')) 'transfer_date': string = undefined; @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; } export class CVO_patenttrans extends FVO_patenttrans { constructor(data: object) { super(data); dealVO(this, data); } } export class UDTO_patenttrans extends CDTO_patenttrans { @ApiProperty({ description: '数据id' }) @Rule(RuleType['string']().empty('')) _id: string = undefined; } export class UVAO_patenttrans extends FVO_patenttrans { constructor(data: object) { super(data); dealVO(this, data); } }