import {get, put, post, del} from '../http'

const prefix = "dawn/api/v1/";

const voucher = {
  /**
   * 向指定用户发放优惠券
   * @param {Object} data {userPk,voucherId,remarks}
   */
  issueVoucher2User(data) {
    return post(prefix + "issue-voucher-to-single-user", data)
  },
  /**
   * 获取用户列表(模糊查询)
   * @param {Object} data {email}
   */
  getIssueUserOptions(data) {
    return get(prefix + "user-select", data)
  },
  /**
   * 获取用户优惠券表格（分页）
   * @param {Object} data {pageNum,pageSize,pageCriteria: {voucherStatus, criteria}}
   */
  getIssuanceVoucherPages(data) {
    return post(prefix + "user-voucher-pages", data)
  },
  /**
   * 获取优惠券兑换码
   */
  getVoucherRedemCode() {
    return get(prefix + "redemption-codes")
  },
  /**
   * 获取优惠券发放方式选择项
   */
  getRedemMethodOptions() {
    return get(prefix + "redemption-method-select")
  },
  /**
   * 获取优惠券表格（分页）
   * @param {Object} data {pageNum,pageSize,pageCriteria: {criteria}}
   */
  getVoucherPages(data) {
    return post(prefix + "voucher-pages", data)
  },
  /**
   * 获取优惠券选择项(模糊查询)
   * @param {Object} data {voucherName}
   */
  getVoucherOptions(data) {
    return get(prefix + "voucher-select", data)
  },
  /**
   * 获取优惠券类型选择项
   */
  getVoucherTypeOptions() {
    return get(prefix + "voucher-type-select")
  },
  /**
   * 创建优惠券
   * @param {Object} data {VoucherForm}
   */
  createVoucher(data) {
    return post(prefix + "vouchers", data)
  },
  /**
   * 更新优惠券
   * @param {Object} data {VoucherForm}
   */
  updateVoucher(data) {
    return put(prefix + "vouchers", data)
  },
  /**
   * 查看优惠券信息
   * @param {String} voucherId 优惠券ID
   */
  viewVoucher(voucherId) {
    return get(prefix + "vouchers/" + voucherId)
  },
  /**
   * 删除优惠券
   * @param {String} voucherId 优惠券ID
   */
  deleteVoucher(voucherId) {
    return del(prefix + "vouchers/" + voucherId)
  }
}

export default voucher;