import request from "@/utils/request";
import { Market_BaseUrl } from "@/api/config";
const baseURL = Market_BaseUrl + "/admin/coupon";
const API = {
  getList(params: getListRequest) {
    return request<any>({
      url: `${baseURL}/page`,
      method: "get",
      params
    });
  },
  add(data: addRequest) {
    return request({
      url: `${baseURL}`,
      method: "post",
      data: data,
    });
  },

  edit(data: editRequest) {
    return request({
      url: `${baseURL}`,
      method: "put",
      data: data,
    });
  },
  // 店铺优惠券获取记录
  queryReceive(params: queryReceive) {
    return request({
      url: `${baseURL}/queryReceive`,
      method: "get",
      params
    });
  },
  // 查找优惠券 生成订单后使用
  findCoupon(params: findCouponRequest) {
    return request<any>({
      url: `${baseURL}/findCoupon`,
      method: "get",
      params
    });
  },
}
export default API;
export interface findCouponRequest {
  /**
   * 店铺用户Id
   */
  shopUserId: number;
  type?: number;
  [property: string]: any;
}
export interface queryReceive {
  /**
   * 优惠券id
   */
  couponId?: number;
  /**
   * 店铺id
   */
  shopId?: number;
  /**
   * 状态
   */
  status?: number;
  [property: string]: any;
}

export interface getListRequest {
  status?: number;
  type?: number;
  [property: string]: any;
}
/**
 * ShopCouponDTO
 */
export interface addRequest {
  createTime?: string;
  /**
   * 隔多少天生效
   */
  daysToTakeEffect?: number;
  /**
   * 描述
   */
  description?: string;
  /**
   * 减多少金额
   */
  discountAmount?: number;
  /**
   * 发放人
   */
  editor?: string;
  /**
   * 满多少金额
   */
  fullAmount?: number;
  /**
   * 自增
   */
  id?: number;
  /**
   * 剩余数量
   */
  leftNumber?: number;
  /**
   * 发放数量
   */
  number?: number;
  shopId?: number;
  /**
   * 状态0-关闭 1 正常
   */
  status?: number;
  /**
   * 名称(无意义)
   */
  title?: string;
  /**
   * 1-满减  2-商品
   */
  type?: number;
  updateTime?: string;
  /**
   * 可用结束时间
   */
  useEndTime?: string;
  /**
   * 已使用数量
   */
  useNumber?: number;
  /**
   * 周 数组["周一","周二"]
   */
  userDays?: string;
  /**
   * 可用开始时间
   */
  useStartTime?: string;
  /**
   * all-全时段 custom-指定时段
   */
  useTimeType?: string;
  /**
   * 有效天数
   */
  validDays?: number;
  /**
   * 有效结束时间
   */
  validEndTime?: string;
  /**
   * 有效期类型，可选值为 fixed（固定时间）/custom（自定义时间）
   */
  validityType?: string;
  /**
   * 有效开始时间
   */
  validStartTime?: string;
  [property: string]: any;
}

export interface editRequest extends addRequest {
  /**
   * 主键id
   */
  id: number;
  [property: string]: any;
}