import type { PageParam } from '@/api/index';
import { ShopCouponApplyCate } from '@/api/shop/shopCouponApplyCate/model';
import { ShopCouponApplyItem } from '@/api/shop/shopCouponApplyItem/model';

/**
 * 优惠券
 */
export interface ShopCoupon {
  // id
  id?: number;
  // 优惠券名称
  name?: string;
  // 优惠券描述
  description?: string;
  // 优惠券类型(10满减券 20折扣券 30免费劵)
  type?: number;
  // 满减券-减免金额
  reducePrice?: string;
  // 折扣券-折扣率(0-100)
  discount?: number;
  // 最低消费金额
  minPrice?: string;
  // 到期类型(10领取后生效 20固定时间)
  expireType?: number;
  // 领取后生效-有效天数
  expireDay?: number;
  // 有效期开始时间
  startTime?: string | Date;
  // 有效期结束时间
  endTime?: string | Date;
  // 适用范围(10全部商品 20指定商品 30指定分类)
  applyRange?: number;
  // 适用范围配置(json格式)
  applyRangeConfig?: string;
  // 是否过期(0未过期 1已过期)
  isExpire?: number;
  // 排序(数字越小越靠前)
  sortNumber?: number;
  // 状态, 0正常, 1禁用
  status?: number;
  // 是否删除, 0否, 1是
  deleted?: number;
  // 创建用户ID
  userId?: number;
  // 租户id
  tenantId?: number;
  // 创建时间
  createTime?: string | Date;
  // 修改时间
  updateTime?: string | Date;
  // 发放总数量(-1表示无限制)
  totalCount?: number;
  // 已发放数量
  issuedCount?: number;
  // 每人限领数量(-1表示无限制)
  limitPerUser?: number;
  // 是否启用(0禁用 1启用)
  enabled?: string;
  couponApplyCateList?: ShopCouponApplyCate[];
  couponApplyItemList?: ShopCouponApplyItem[];
}

/**
 * 优惠券搜索条件
 */
export interface ShopCouponParam extends PageParam {
  id?: number;
  name?: string;
  type?: number;
  keywords?: string;
}
