import { Rule, RuleType } from '@midwayjs/validate';
import { ApiProperty } from '@midwayjs/swagger';
import { dealVO } from '../../frame/VOBase';
export class FVO_expert {
  constructor(data: object) {
    dealVO(this, data);
  }
  @ApiProperty({ description: '数据id' })
  id: number = undefined;
  @ApiProperty({ description: '平台用户id' })
  'user': number = undefined;
  @ApiProperty({ description: '标签' })
  'tags': Array<any> = undefined;
  @ApiProperty({ description: '专家姓名' })
  'name': string = undefined;
  @ApiProperty({ description: '头像' })
  'icon': Array<any> = undefined;
  @ApiProperty({ description: '性别' })
  'gender': string = undefined;
  @ApiProperty({ description: '出生年月' })
  'birth': string = undefined;
  @ApiProperty({ description: '证件类型' })
  'cardType': string = undefined;
  @ApiProperty({ description: '证件号码' })
  'card': string = undefined;
  @ApiProperty({ description: '联系电话' })
  'phone': string = undefined;
  @ApiProperty({ description: '所属领域' })
  'field': string = undefined;
  @ApiProperty({ description: '研究方向' })
  'direction': string = undefined;
  @ApiProperty({ description: '学历' })
  'education': string = undefined;
  @ApiProperty({ description: '工作单位' })
  'work': string = undefined;
  @ApiProperty({ description: '工作类型' })
  'work_type': string = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '产业类型' })
  'industry_type': string = undefined;
  @ApiProperty({ description: '职称' })
  'title': string = undefined;
  @ApiProperty({ description: '简介' })
  'brief': string = undefined;
  @ApiProperty({ description: '所在地区' })
  'area': Array<any> = undefined;
  @ApiProperty({ description: '是否公开' })
  'is_show': string = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
}

export class QDTO_expert {
  @ApiProperty({ description: '平台用户id' })
  'user': number = undefined;
  @ApiProperty({ description: '标签' })
  'tags': Array<any> = undefined;
  @ApiProperty({ description: '专家姓名' })
  'name': string = undefined;
  @ApiProperty({ description: '性别' })
  'gender': string = undefined;
  @ApiProperty({ description: '联系电话' })
  'phone': string = undefined;
  @ApiProperty({ description: '所属领域' })
  'field': string = undefined;
  @ApiProperty({ description: '研究方向' })
  'direction': string = undefined;
  @ApiProperty({ description: '学历' })
  'education': string = undefined;
  @ApiProperty({ description: '职称' })
  'title': string = undefined;
  @ApiProperty({ description: '所在地区' })
  'area': Array<any> = undefined;
  @ApiProperty({ description: '工作类型' })
  'work_type': string = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '产业类型' })
  'industry_type': string = undefined;
  @ApiProperty({ description: '是否公开' })
  'is_show': string = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
}

export class QVO_expert extends FVO_expert {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class CDTO_expert {
  @ApiProperty({ description: '平台用户id' })
  @Rule(RuleType['number']().empty(''))
  'user': number = undefined;
  @ApiProperty({ description: '标签' })
  @Rule(RuleType['array']().empty(''))
  'tags': Array<any> = undefined;
  @ApiProperty({ description: '专家姓名' })
  @Rule(RuleType['string']().empty(''))
  'name': string = undefined;
  @ApiProperty({ description: '头像' })
  @Rule(RuleType['array']().empty(''))
  'icon': Array<any> = undefined;
  @ApiProperty({ description: '性别' })
  @Rule(RuleType['string']().empty(''))
  'gender': string = undefined;
  @ApiProperty({ description: '出生年月' })
  @Rule(RuleType['string']().empty(''))
  'birth': string = undefined;
  @ApiProperty({ description: '证件类型' })
  @Rule(RuleType['string']().empty(''))
  'cardType': string = undefined;
  @ApiProperty({ description: '证件号码' })
  @Rule(RuleType['string']().empty(''))
  'card': string = undefined;
  @ApiProperty({ description: '联系电话' })
  @Rule(RuleType['string']().empty(''))
  'phone': string = undefined;
  @ApiProperty({ description: '所属领域' })
  @Rule(RuleType['string']().empty(''))
  'field': string = undefined;
  @ApiProperty({ description: '研究方向' })
  @Rule(RuleType['string']().empty(''))
  'direction': string = undefined;
  @ApiProperty({ description: '学历' })
  @Rule(RuleType['string']().empty(''))
  'education': string = undefined;
  @ApiProperty({ description: '工作单位' })
  @Rule(RuleType['string']().empty(''))
  'work': string = undefined;
  @ApiProperty({ description: '产业类型' })
  @Rule(RuleType['string']().empty(''))
  'industry_type': string = undefined;
  @ApiProperty({ description: '所属产业' })
  @Rule(RuleType['string']().empty(''))
  'industry': string = undefined;
  @ApiProperty({ description: '工作类型' })
  @Rule(RuleType['string']().empty(''))
  'work_type': string = undefined;
  @ApiProperty({ description: '职称' })
  @Rule(RuleType['string']().empty(''))
  'title': string = undefined;
  @ApiProperty({ description: '简介' })
  @Rule(RuleType['string']().empty(''))
  'brief': string = undefined;
  @ApiProperty({ description: '所在地区' })
  @Rule(RuleType['array']().empty(''))
  'area': Array<any> = undefined;
  @ApiProperty({ description: '是否公开' })
  @Rule(RuleType['string']().empty(''))
  'is_show': string = undefined;
  @ApiProperty({ description: '状态' })
  @Rule(RuleType['string']().empty(''))
  'status': string = undefined;
}

export class CVO_expert extends FVO_expert {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class UDTO_expert extends CDTO_expert {
  @ApiProperty({ description: '数据id' })
  @Rule(RuleType['number']().empty(''))
  id: number = undefined;
}

export class UVAO_expert extends FVO_expert {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}
