/**
 * 履约者信息 VO
 */
export interface FlfFulfillerVO {
  id: string | number;
  userId: string | number;
  name: string;
  realName: string;
  phone: string;
  gender: string;
  birthday: string;
  age: number;
  avatar: string | number;
  avatarUrl: string;
  idCard: string;
  idCardFront: string | number;
  idCardFrontUrl: string;
  idCardBack: string | number;
  idCardBackUrl: string;
  idCardExpiry: string;
  serviceTypes: string;
  cityCode: string;
  cityName: string;
  stationId: string | number;
  stationName: string;
  workType: string;
  levelId: string | number;
  levelName: string;
  points: number;
  balance: number;
  status: string;
  authId: boolean;
  authQual: boolean;
  qualImages: string;
  qualImageUrls: string;
  orderCount: number;
  rejectCount: number;
  rating: number;
  createTime: string;
  tags: FlfTagVO[];
}

/**
 * 履约者标签 VO（简化）
 */
export interface FlfTagVO {
  id: string | number;
  name: string;
  colorType: string;
  description: string;
  status: number;
}

/**
 * 履约者表单
 */
export interface FlfFulfillerForm extends BaseEntity {
  id?: string | number;
  name?: string;
  realName?: string;
  phone?: string;
  password?: string;
  gender?: string;
  birthday?: string;
  idCard?: string;
  idCardExpiry?: string;
  idCardFront?: string | number;
  idCardBack?: string | number;
  serviceTypes?: string;
  cityCode?: string;
  cityName?: string;
  stationId?: string | number;
  workType?: string;
  levelId?: string | number;
  status?: string;
  authId?: boolean;
  authQual?: boolean;
  tagIds?: (string | number)[];
}

/**
 * 履约者查询参数
 */
export interface FlfFulfillerQuery extends PageQuery {
  keyword?: string;
  status?: string;
  cityCode?: string;
  stationId?: string | number;
  workType?: string;
}

export interface FlfFulfillerOnOrderVO {
  id: string | number;
  name?: string;
  avatar?: string;
  phone?: string;
  tags?: Array<string | number>;
  gender?: string;
}

export interface FlfFulfillerOnOrderQuery {
  content?: string;
  pageNum?: number;
  pageSize?: number;
  service?: string | number;
}

/**
 * 奖惩操作
 */
export interface FlfRewardForm {
  fulfillerId: string | number;
  type: string;
  target: string;
  amount: number;
  reason: string;
}

/**
 * 积分调整
 */
export interface FlfAdjustPointsForm {
  fulfillerId: string | number;
  type: string;
  amount: number;
  reason: string;
}

/**
 * 余额调整
 */
export interface FlfAdjustBalanceForm {
  fulfillerId: string | number;
  type: string;
  subType: string;
  amount: number;
  reason: string;
}

/**
 * 积分日志
 */
export interface FlfPointsLogVO {
  id: string | number;
  fulfillerId: string | number;
  type: string;
  bizType: string;
  amount: number;
  pointsAfter: number;
  reason: string;
  operatorId: string | number;
  createTime: string;
}

/**
 * 余额日志
 */
export interface FlfBalanceLogVO {
  id: string | number;
  fulfillerId: string | number;
  type: string;
  bizType: string;
  amount: number;
  balanceAfter: number;
  reason: string;
  operatorId: string | number;
  createTime: string;
}

/**
 * 奖惩日志
 */
export interface FlfRewardLogVO {
  id: string | number;
  fulfillerId: string | number;
  type: string;
  bizType: string;
  target: string;
  amount: number;
  reason: string;
  operatorId: string | number;
  operatorName: string;
  createTime: string;
}

export interface FlfFulfillerOnDispatchVO {
  id: string | number;
  name: string;
  avatar: string;
  status: string;
  phone: string;
  tags: (string | number)[];
  serviceTypes: string;
  nextOrderTime?: string;
  gender?: string;
}
