import type { PageParam } from '@/api/index';

/**
 * 用户优惠券
 */
export interface ShopUserCoupon {
  // id
  id?: string;
  // 优惠券模板ID
  couponId?: number;
  // 用户ID
  userId?: number;
  // 优惠券名称
  name?: string;
  // 优惠券描述
  description?: string;
  // 优惠券类型(10满减券 20折扣券 30免费劵)
  type?: number;
  // 满减券-减免金额
  reducePrice?: string;
  // 折扣券-折扣率(0-100)
  discount?: number;
  // 最低消费金额
  minPrice?: string;
  // 适用范围(10全部商品 20指定商品 30指定分类)
  applyRange?: number;
  // 适用范围配置(json格式)
  applyRangeConfig?: string;
  // 有效期开始时间
  startTime?: string;
  // 有效期结束时间
  endTime?: string;
  // 使用状态(0未使用 1已使用 2已过期)
  status?: number;
  // 状态文本描述
  statusText?: string;
  // 是否过期, 0否, 1是
  isExpire?: number;
  // 是否即将过期（后端计算）
  isExpiringSoon?: boolean;
  // 剩余天数（后端计算）
  daysRemaining?: number;
  // 剩余小时数（后端计算）
  hoursRemaining?: number;
  // 使用时间
  takeTime?: string;
  // 使用订单ID
  orderId?: string;
  // 使用订单号
  orderNo?: string;
  // 获取方式(10主动领取 20系统发放 30活动赠送)
  obtainType?: number;
  // 获取来源描述
  obtainSource?: string;
  // 是否删除, 0否, 1是
  deleted?: string;
  // 租户id
  tenantId?: number;
  // 创建时间
  createTime?: string;
  // 修改时间
  updateTime?: string;
}

/**
 * 用户优惠券搜索条件
 */
export interface ShopUserCouponParam extends PageParam {
  id?: number;
  userId?: number;
  status?: number;
  isExpire?: number;
  sortBy?: string;
  sortOrder?: string;
  // 仅查询有效的优惠券
  validOnly?: boolean;
  // 仅查询已过期的优惠券
  expired?: boolean;
  // 查询即将过期的优惠券
  expiringSoon?: boolean;
  // 当前时间（用于测试）
  currentTime?: string;
  keywords?: string;
}
