import request from "@/utils/request";
import { Market_BaseUrl } from "@/api/config";
const baseURL = Market_BaseUrl + "/admin/member";
const API = {
  getConfig(params: any) {
    return request<any>({
      url: `${baseURL}`,
      method: "get",
      params
    });
  },
  editConfig(data: editRequest) {
    return request({
      url: `${baseURL}`,
      method: "post",
      data: data,
    });
  },
  levelAdd(data: levelAddRequest) {
    return request({
      url: `${baseURL}/level`,
      method: "post",
      data: data,
    });
  },
  levelEdit(data: levelEditRequest) {
    return request({
      url: `${baseURL}/level`,
      method: "put",
      data: data,
    });
  },
  levelDel(data: levelDelRequest) {
    return request<any>({
      url: `${baseURL}/level/${data.id}`,
      method: "delete",
      // data
    });
  },
  levelList(params: any) {
    return request<any>({
      url: `${baseURL}/level/list`,
      method: "get",
      params
    });
  },
}
export default API;

/**
 * MemberConfigDTO
 */
export interface editRequest {
  /**
   * 条件开通条件项
   */
  conditionList?: Condition[] | null;
  /**
   * 金额购买方案列表
   */
  configList?: ConfigList[] | null;
  /**
   * 每消费一元经验值
   */
  costReward?: number | null;
  /**
   * id
   */
  id: number | null;
  /**
   * 是否享受会员价
   */
  isMemberPrice: number | null;
  /**
   * 是否开启
   */
  isOpen: string;
  /**
   * 提交生日/姓名
   */
  isSubmitInfo: number | null;
  /**
   * 参与会员价门店
   */
  memberPriceShopIdList?: number[] | null;
  /**
   * 每充值一元经验值
   */
  rechargeReward?: number | null;
  /**
   * 规则说明
   */
  remark: null | string;
  [property: string]: any;
}

/**
* com.czg.account.dto.MemberConfigDTO.condition
*
* condition
*/
export interface Condition {
  code?: null | string;
  value?: null | string;
  [property: string]: any;
}

/**
* com.czg.account.dto.MemberConfigDTO.ConfigList
*
* ConfigList
*/
export interface ConfigList {
  /**
   * 会员周期 1月 1日
   */
  circleTime: null | string;
  /**
   * 赠送优惠券
   */
  couponIdList?: number[] | null;
  /**
   * 名称
   */
  name: null | string;
  /**
   * 价格
   */
  price: number | null;
  /**
   * 赠送成长值
   */
  reward?: number | null;
  [property: string]: any;
}


/**
 * MemberLevelDTO
 */
export interface levelAddRequest {
  /**
   * 消费送积分，消费n元送1积分, 0为禁用
   */
  costRewardPoints?: number | null;
  /**
   * 优惠券列表
   */
  cycleRewardCouponList?: number[] | null;
  /**
   * 赠送积分
   */
  cycleRewardPoints?: number | null;
  /**
   * 周期时间包含周 月 年 日
   */
  cycleTime?: null | string;
  /**
   * 会员折扣
   */
  discount: number | null;
  /**
   * 所需成长值
   */
  experienceValue: number | null;
  /**
   * ID
   */
  id?: number | null;
  /**
   * 周期奖励状态 0禁用 1启用
   */
  isCycleReward: number | null;
  /**
   * logo
   */
  logo?: null | string;
  /**
   * 会员名称
   */
  name: null | string;
  /**
   * 描述说明
   */
  remark: string;
  [property: string]: any;
}


/**
 * MemberLevelDTOUpdateGroup
 */
export interface levelEditRequest {
  /**
   * 消费送积分，消费n元送1积分, 0为禁用
   */
  costRewardPoints?: number | null;
  /**
   * 优惠券列表
   */
  cycleRewardCouponList?: number[] | null;
  /**
   * 赠送积分
   */
  cycleRewardPoints?: number | null;
  /**
   * 周期时间包含周 月 年 日
   */
  cycleTime?: null | string;
  /**
   * 会员折扣
   */
  discount?: number | null;
  /**
   * 所需成长值
   */
  experienceValue?: number | null;
  /**
   * ID
   */
  id: number | null;
  /**
   * 周期奖励状态 0禁用 1启用
   */
  isCycleReward?: number | null;
  /**
   * logo
   */
  logo?: null | string;
  /**
   * 会员名称
   */
  name?: null | string;
  [property: string]: any;
}

export interface levelDelRequest {
  id: number;
  [property: string]: any;
}