/**
 * 竞价服务相关 types - 根据后端 VO 和 DTO 转换
 */

import { BaseVO, BaseDTO } from "@/types/base"

// BiddingProjectVO - 招标项目详情
export interface BiddingProjectVO extends BaseVO {
  /** 项目ID */
  projectId?: string
  /** 项目编号 */
  projectNo?: string
  /** 项目名称 */
  projectName?: string
  /** 项目类型 */
  projectType?: string
  /** 项目类型名称（中文） */
  projectTypeName?: string
  /** 所属行业 */
  industry?: string
  /** 来源平台 */
  sourcePlatform?: string
  /** 来源URL */
  sourceUrl?: string
  /** 发布日期 */
  publishDate?: string
  /** 投标截止日期 */
  deadline?: string
  /** 开标日期 */
  openingDate?: string
  /** 距离截止日期剩余天数 */
  daysUntilDeadline?: number
  /** 预算金额 */
  budgetAmount?: number
  /** 货币单位 */
  currency?: string
  /** 预算金额格式化显示 */
  budgetAmountFormatted?: string
  /** 项目状态 */
  projectStatus?: string
  /** 项目状态名称（中文） */
  projectStatusName?: string
  /** 中标状态 */
  winningStatus?: string
  /** 中标状态名称（中文） */
  winningStatusName?: string
  /** 中标金额 */
  winningAmount?: number
  /** 中标金额格式化显示 */
  winningAmountFormatted?: string
  /** 客户名称 */
  clientName?: string
  /** 客户联系方式 */
  clientContact?: string
  /** 联系人 */
  contactPerson?: string
  /** 项目地点 */
  projectLocation?: string
  /** 项目描述 */
  description?: string
  /** 关键词 */
  keywords?: string[]
  /** 负责人 */
  responsibleUser?: string
  /** 团队成员 */
  teamMembers?: string[]
}

// BiddingProjectDTO - 招标项目DTO（创建和更新）
export interface BiddingProjectDTO extends BaseDTO {
  /** 项目ID（更新时需要） */
  projectId?: string
  /** 项目编号 */
  projectNo?: string
  /** 项目名称 */
  projectName?: string
  /** 项目类型 */
  projectType?: string
  /** 所属行业 */
  industry?: string
  /** 来源平台 */
  sourcePlatform?: string
  /** 来源URL */
  sourceUrl?: string
  /** 发布日期 */
  publishDate?: string
  /** 投标截止日期 */
  deadline?: string
  /** 开标日期 */
  openingDate?: string
  /** 预算金额 */
  budgetAmount?: number
  /** 货币单位 */
  currency?: string
  /** 项目状态 */
  projectStatus?: string
  /** 中标状态 */
  winningStatus?: string
  /** 中标金额 */
  winningAmount?: number
  /** 客户名称 */
  clientName?: string
  /** 客户联系方式 */
  clientContact?: string
  /** 联系人 */
  contactPerson?: string
  /** 项目地点 */
  projectLocation?: string
  /** 项目描述 */
  description?: string
  /** 关键词 */
  keywords?: string[]
  /** 负责人 */
  responsibleUser?: string
  /** 团队成员 */
  teamMembers?: string[]
}
