import Decimal from 'decimal.js';

export interface XfConsumeDetailVO {
  /**
   * 消费记录Id,主键
   */
  consumeId: string;

  /**
   * 原始记录Id,主键
   */
  originalId: string;

  /**
   * 记录Id
   */
  recordId: string | number;

  /**
   * 人员Id
   */
  userId: string | number;

  /**
   * 学/工号
   */
  userNumb: string;

  /**
   * 用户姓名
   */
  realName: string;

  /**
   * 部门Id
   */
  deptId: string | number;

  /**
   * 部门名称
   */
  deptName: string;

  /**
   * 消费日期
   */
  consumeDate: string;

  /**
   * 消费金额
   */
  consumeMoney: Decimal;

  /**
   * 卡流水号
   */
  cardNo: number;

  /**
   * 物理卡号
   */
  factoryId: string | number;

  /**
   * 卡上余额
   */
  cardValue: number;

  /**
   * 卡使用次数
   */
  cardCount: number;

  /**
   * 消费账户金额
   */
  consumeBalance: number;

  /**
   * 设备机号
   */
  termNo: number;

  /**
   * 设备名称
   */
  termName: string;

  /**
   * 机器流水号
   */
  termRecordId: string | number;

  /**
   * 是否已处理(和灰记录处理有关)
   */
  analysisFlag: number;

  /**
   * 状态标识（记录消费类型？）
   */
  statusFlag: number;

  /**
   * 营业员Id
   */
  operatorId: string | number;

  /**
   * 营业员名称
   */
  operatorName: string;

  /**
   * 结算账户Id
   */
  accountId: string | number;

  /**
   * 结算账户名称
   */
  accountName: string;

  /**
   * 房间Id
   */
  roomId: string | number;

  /**
   * 房间名称
   */
  roomName: string;

  /**
   * 钱包类型
   */
  bagType: string;

  /**
   * 餐类Id
   */
  mealType: number;

  /**
   * 餐类名称
   */
  mealName: string;

  /**
   * 是否发送短信,见 sys_yes_no字典类别
   */
  smsSend: string;

  /**
   * 消费记录标志位?
   */
  recordStatus: number;

  /**
   * 同步标志，0-未同步,1-已同步
   */
  syncStatus: number;

  /**
   * 备注
   */
  remark: string;
}

export interface XfConsumeDetailForm extends BaseEntity {
  /**
   * 人员Id
   */
  userId?: string | number;

  /**
   * 学/工号
   */
  userNumb?: string;

  /**
   * 用户姓名
   */
  realName?: string;

  /**
   * 部门Id
   */
  deptId?: string | number;

  /**
   * 部门名称
   */
  deptName?: string;

  /**
   * 消费日期
   */
  consumeDate?: string;

  /**
   * 消费金额
   */
  consumeMoney?: Decimal;

  /**
   * 卡流水号
   */
  cardNo?: number;

  /**
   * 物理卡号
   */
  factoryId?: string | number;

  /**
   * 卡上余额
   */
  cardValue?: Decimal;

  /**
   * 设备机号
   */
  termNo?: number;

  /**
   * 设备名称
   */
  termName?: string;

  /**
   * 营业员Id
   */
  operatorId?: string | number;

  /**
   * 营业员名称
   */
  operatorName?: string;

  /**
   * 结算账户Id
   */
  accountId?: string | number;

  /**
   * 结算账户名称
   */
  accountName?: string;

  /**
   * 房间Id
   */
  roomId?: string | number;

  /**
   * 房间名称
   */
  roomName?: string;

  /**
   * 钱包类型
   */
  bagType?: string;

  /**
   * 餐类Id
   */
  mealType?: number;

  /**
   * 餐类名称
   */
  mealName?: string;
  /**
   * 补款时间
   */
  fillDate: string;
  /**
   * 补款金额
   */
  operatorMoney: Decimal;
  /**
   * 钱包名称
   */
  bagName?: string;
  /**
   * 消费记录
   */
  consumeId?: string;
}

export interface XfConsumeDetailQuery extends PageQuery {
  /**
   * 原始记录Id,主键
   */
  originalId?: string | number;

  /**
   * 记录Id
   */
  recordId?: string | number;

  /**
   * 人员Id
   */
  userId?: string | number;

  /**
   * 学/工号
   */
  userNumb?: string;

  /**
   * 用户姓名
   */
  realName?: string;

  /**
   * 部门Id
   */
  deptId?: string | number;

  /**
   * 部门名称
   */
  deptName?: string;

  /**
   * 消费日期
   */
  consumeDate?: string;

  /**
   * 消费金额
   */
  consumeMoney?: number;

  /**
   * 卡流水号
   */
  cardNo?: number;

  /**
   * 物理卡号
   */
  factoryId?: string | number;

  /**
   * 卡上余额
   */
  cardValue?: number;

  /**
   * 卡使用次数
   */
  cardCount?: number;

  /**
   * 消费账户金额
   */
  consumeBalance?: number;

  /**
   * 设备机号
   */
  termNo?: number;

  /**
   * 设备名称
   */
  termName?: string;

  /**
   * 机器流水号
   */
  termRecordId?: string | number;

  /**
   * 是否已处理(和灰记录处理有关)
   */
  analysisFlag?: number;

  /**
   * 状态标识（记录消费类型？）
   */
  statusFlag?: number;

  /**
   * 营业员Id
   */
  operatorId?: string | number;

  /**
   * 营业员名称
   */
  operatorName?: string;

  /**
   * 结算账户Id
   */
  accountId?: string | number;

  /**
   * 结算账户名称
   */
  accountName?: string;

  /**
   * 房间Id
   */
  roomId?: string | number;

  /**
   * 房间名称
   */
  roomName?: string;

  /**
   * 钱包类型
   */
  bagType?: string;

  /**
   * 餐类Id
   */
  mealType?: number;

  /**
   * 餐类名称
   */
  mealName?: string;

  /**
   * 是否发送短信,见 sys_yes_no字典类别
   */
  smsSend?: string;

  /**
   * 消费记录标志位?
   */
  recordStatus?: number;

  /**
   * 同步标志，0-未同步,1-已同步
   */
  syncStatus?: number;

  /**
   * 日期范围参数
   */
  params?: any;
}
