import { Rule, RuleType } from '@midwayjs/validate';
import { ApiProperty } from '@midwayjs/swagger';
import { dealVO } from '../../frame/VOBase';
export class FVO_demand {
  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: '类型' })
  'type': string = undefined;
  @ApiProperty({ description: '行业领域' })
  'field': string = undefined;
  @ApiProperty({ description: '需求紧急度' })
  'urgent': string = undefined;
  @ApiProperty({ description: '合作方式' })
  'method': string = undefined;
  @ApiProperty({ description: '开始时间' })
  'start_time': string = undefined;
  @ApiProperty({ description: '结束时间' })
  'end_time': string = undefined;
  @ApiProperty({ description: '价格' })
  'money': string = undefined;
  @ApiProperty({ description: '需求地区' })
  'area': Array<any> = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '所属企业' })
  'company': string = undefined;
  @ApiProperty({ description: '企业简况' })
  'company_brief': string = undefined;
  @ApiProperty({ description: '联系人' })
  'contacts': string = undefined;
  @ApiProperty({ description: '联系电话' })
  'tel': string = undefined;
  @ApiProperty({ description: '年份' })
  'year': string = undefined;
  @ApiProperty({ description: '月份' })
  'month': string = undefined;
  @ApiProperty({ description: '技术需求名称' })
  'tec_name': string = undefined;
  @ApiProperty({ description: '待解决问题' })
  'question': string = undefined;
  @ApiProperty({ description: '简介' })
  'brief': string = undefined;
  @ApiProperty({ description: '需求状态' })
  'demand_status': string = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
  @ApiProperty({ description: '是否公开' })
  'is_use': string = undefined;
}

export class QDTO_demand {
  @ApiProperty({ description: '用户id' })
  'user': number = undefined;
  @ApiProperty({ description: '标签' })
  'tags': Array<any> = undefined;
  @ApiProperty({ description: '名称' })
  'name': string = undefined;
  @ApiProperty({ description: '类型' })
  'type': string = undefined;
  @ApiProperty({ description: '行业领域' })
  'field': string = undefined;
  @ApiProperty({ description: '合作方式' })
  'method': string = undefined;
  @ApiProperty({ description: '需求紧急度' })
  'urgent': string = undefined;
  @ApiProperty({ description: '开始时间' })
  'start_time': string = undefined;
  @ApiProperty({ description: '结束时间' })
  'end_time': string = undefined;
  @ApiProperty({ description: '价格' })
  'money': string = undefined;
  @ApiProperty({ description: '需求地区' })
  'area': Array<any> = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '所属企业' })
  'company': string = undefined;
  @ApiProperty({ description: '企业简况' })
  'company_brief': string = undefined;
  @ApiProperty({ description: '联系人' })
  'contacts': string = undefined;
  @ApiProperty({ description: '联系电话' })
  'tel': string = undefined;
  @ApiProperty({ description: '年份' })
  'year': string = undefined;
  @ApiProperty({ description: '月份' })
  'month': string = undefined;
  @ApiProperty({ description: '技术需求名称' })
  'tec_name': string = undefined;
  @ApiProperty({ description: '待解决问题' })
  'question': string = undefined;
  @ApiProperty({ description: '需求状态' })
  'demand_status': string = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
  @ApiProperty({ description: '是否公开' })
  'is_use': string = undefined;
}

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

export class CDTO_demand {
  @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['string']().empty(''))
  'type': string = undefined;
  @ApiProperty({ description: '行业领域' })
  @Rule(RuleType['string']().empty(''))
  'field': string = undefined;
  @ApiProperty({ description: '需求紧急度' })
  @Rule(RuleType['string']().empty(''))
  'urgent': string = undefined;
  @ApiProperty({ description: '合作方式' })
  @Rule(RuleType['string']().empty(''))
  'method': string = undefined;
  @ApiProperty({ description: '开始时间' })
  @Rule(RuleType['string']().empty(''))
  'start_time': string = undefined;
  @ApiProperty({ description: '结束时间' })
  @Rule(RuleType['string']().empty(''))
  'end_time': string = undefined;
  @ApiProperty({ description: '价格' })
  @Rule(RuleType['string']().empty(''))
  'money': string = undefined;
  @ApiProperty({ description: '需求地区' })
  @Rule(RuleType['array']().empty(''))
  'area': Array<any> = undefined;
  @ApiProperty({ description: '所属产业' })
  @Rule(RuleType['string']().empty(''))
  'industry': string = undefined;
  @ApiProperty({ description: '所属企业' })
  @Rule(RuleType['string']().empty(''))
  'company': string = undefined;
  @ApiProperty({ description: '企业简况' })
  @Rule(RuleType['string']().empty(''))
  'company_brief': string = undefined;
  @ApiProperty({ description: '联系人' })
  @Rule(RuleType['string']().empty(''))
  'contacts': string = undefined;
  @ApiProperty({ description: '联系电话' })
  @Rule(RuleType['string']().empty(''))
  'tel': string = undefined;
  @ApiProperty({ description: '年份' })
  @Rule(RuleType['string']().empty(''))
  'year': string = undefined;
  @ApiProperty({ description: '月份' })
  @Rule(RuleType['string']().empty(''))
  'month': string = undefined;
  @ApiProperty({ description: '技术需求名称' })
  @Rule(RuleType['string']().empty(''))
  'tec_name': string = undefined;
  @ApiProperty({ description: '待解决问题' })
  @Rule(RuleType['string']().empty(''))
  'question': string = undefined;
  @ApiProperty({ description: '简介' })
  @Rule(RuleType['string']().empty(''))
  'brief': string = undefined;
  @ApiProperty({ description: '需求状态' })
  @Rule(RuleType['string']().empty(''))
  'demand_status': string = undefined;
  @ApiProperty({ description: '状态' })
  @Rule(RuleType['string']().empty(''))
  'status': string = undefined;
  @ApiProperty({ description: '是否公开' })
  @Rule(RuleType['string']().empty(''))
  'is_use': string = undefined;
}

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

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

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