/* eslint-disable */
import axios, { AxiosInstance, AxiosResponse } from 'axios'
import qs from 'qs'

export interface ObjectType {
  [key: string]: any;
}

export interface Config {
  $domain?: string;
  $config?: any;
}

export interface Parameters {
  [key: string]: any;
}

let domain = ''
let axiosInstance = axios.create()
export function getDomain(): string {
  return domain
}
export function setDomain($domain: string): void {
  domain = $domain
}
export function getAxiosInstance(): AxiosInstance {
  return axiosInstance
}
export function setAxiosInstance($axiosInstance: AxiosInstance): void {
  axiosInstance = $axiosInstance
}
type RequestMethod = 'get' | 'post' | 'put' | 'delete' | 'head' | 'option' | 'patch'
export function request(method: RequestMethod, url: string, body?: ObjectType, config: ObjectType = {}) {
  let queryUrl = url
  if (method === 'delete') {
    return axiosInstance[method](queryUrl,{...config, data: body || {} })
  } else if (method === 'get') {
    let params = body ? qs.stringify(body) : ''
    if (params) {
      if (queryUrl.indexOf('?') < 0) {
        params = '?' + params
      } else if (!queryUrl.endsWith('?')) {
        params = '&' + params
      }
    }
    return axiosInstance[method](queryUrl + params, config)
  } else if(method === 'post' || method === 'put' || method === 'patch'){
    return axiosInstance[method](queryUrl, body, config)
  } else if (method === 'head' || method === 'option') {
    return axiosInstance[method](queryUrl, config)
  }
}

// ActivityAwardPoolSetting
export interface ActivityAwardPoolSetting {
  activityId?: number; // 活动id
  activityLimitNum?: number; // 参与机会的次数
  activityLimitType: number; // 参与机会的类型
  awardSettings?: Array<AwardSetting>; // 奖项设置
}

// ActivityInfoVO
export interface ActivityInfoVO {
  activityId?: number; // 活动ID
  phone?: string; // 用户手机号
}

// TspActivityInfoVO
export interface TspActivityInfoVO {
  auditBy?: string;
  auditCode?: number;
  auditName?: string;
  auditOpinion?: string;
  backImageId?: number;
  backImageUrl?: string;
  buttonImageId?: number;
  buttonImageUrl?: string;
  createdBy?: string;
  createdTime?: string;
  customizeConfig?: string;
  endTime?: string;
  groundCode?: number;
  groundName?: string;
  h5Desc?: string;
  h5ImageId?: number;
  h5ImageUrl?: string;
  h5Name?: string;
  id?: number;
  isWhitelist?: boolean;
  msUrl?: string;
  name?: string;
  preImportSessionId?: number;
  products?: Array<PurchaseProduct>;
  publisherList?: Array<string>;
  purchaseLimit?: number;
  revision?: number;
  startTime?: string;
  typeCode?: number;
  typeName?: string;
  updatedBy?: string;
  updatedTime?: string;
}

// AddActivityAwardPoolRequest
export interface AddActivityAwardPoolRequest {
  activityAwardPoolSetting: ActivityAwardPoolSetting;
  settingJson: string; // 设置对应的json信息
  tspActivityInfoVO: TspActivityInfoVO;
}

// AddLotteryPageSettingRequest
export interface AddLotteryPageSettingRequest {
  activityId: number; // 活动id
  settingJson: string; // 设置对应的json信息
}

// Award
export interface Award {
  activityId?: number;
  assigned?: number;
  awardBackId?: string;
  awardBackUrl?: string;
  awardDesc?: string;
  awardGrade?: number;
  awardName?: string;
  awardNum?: number;
  awardTotalNum?: number;
  awardType?: number;
  awardTypeName?: string;
  awardUrl?: string;
  createdBy?: string;
  createdTime?: string;
  id?: number;
  isDeleted?: number;
  orderBy?: string;
  pageNum?: number;
  pageSize?: number;
  skuId?: number;
  skuName?: string;
  updatedBy?: string;
  updatedTime?: string;
}

// AwardAndPageSettingVo
export interface AwardAndPageSettingVo {
  activityId?: number; // 奖品的活动ID
  awardList?: Array<AwardH5VO>; // 奖项设置信息VO List
  settingJson?: string; // 设置对应的json信息
}

// AwardDescVO
export interface AwardDescVO {
  allocPoint?: number; // 积分的总数
  allocedPoint?: number; // 已分配的积分的总数
  assigned?: number; // 已经分配的奖品数量信息
  awardId?: number; // 奖品的活动奖项对应的id
  awardNum?: number; // 未分配的奖品数量
  awardTotalNum?: number; // 奖品总数量
  onAllocPoint?: number; // 未分配的积分数
}

// AwardH5VO
export interface AwardH5VO {
  activityId?: number; // 奖品的活动ID
  awardBackUrl?: string; // 背景图片链接
  awardDesc?: string; // 奖品描述
  awardGrade?: number; // 奖品等级
  awardName?: string; // 奖品名字
  awardType?: number; // 该活动的奖品对应的类型
  awardUrl?: string; // awardUrl
  id?: number; // 奖品的奖项ID
}

// AwardMSVO
export interface AwardMSVO {
  activityId?: number; // 奖品的活动ID
  assigned?: number; // 奖品已经分配的数量信息
  awardDesc?: string; // 奖品描述
  awardGrade?: number; // 奖品等级
  awardName?: string; // 奖品名字
  awardNum?: number; // 奖品数量
  awardTotalNum?: number; // 奖品总数量
  awardType?: number; // 该活动的奖品对应的类型
}

// AwardPoolGoodsRelationVoM
export interface AwardPoolGoodsRelationVoM {
  barCode?: string; // 券码信息
  barCodeId?: string; // 券码id
  barCodeName?: string; // 券码名
  exchangeUrl?: string; // 兑换地址
  goodsId?: string; // 商品id
  goodsName?: string; // 商品
  lotteryId?: number; // 中奖结果id
}

// AwardSetting
export interface AwardSetting {
  awardDesc?: string; // 奖项描述
  awardDescVO?: AwardDescVO;
  awardGrade: number; // 奖项级别
  awardGradeName?: string; // 奖项级别名称
  awardId?: number; // 奖项id
  awardImgBackId?: string; // 奖品背景图片id
  awardImgBackUrl?: string; // 奖品背景图片url
  awardImgId?: string; // 奖品图片id
  awardImgUrl?: string; // 奖品图片url
  awardName?: string; // 奖项名称
  awardOdds?: number; // 中奖概率
  awardType?: number; // 奖品类型
  awardTypeName?: string; // 奖品类型名称
  awardTypeNum?: number; // 奖品类型数量
  isDelete?: number; // 该奖项设置是否有效 0:有效 1:失效
  limitNumOfWins?: number; // 中奖次数限制
  poolSettings?: Array<PoolSetting>; // 奖池设置
  skuId?: number; // 商品id
  skuName?: string; // 商品名称
  whetherPoolSetting?: boolean; // 是否进行奖池的设置
}

// AwardVO
export interface AwardVO {
  activityId?: number; // 奖品的活动ID
  assigned?: number; // 奖品已经分配的数量信息
  awardBackId?: string; // 背景图片Id
  awardBackUrl?: string; // 背景图片链接
  awardDesc?: string; // 奖品描述
  awardGrade?: number; // 奖品等级
  awardId?: number; // 奖品的活动奖项对应的id
  awardName?: string; // 奖品名字
  awardNum?: number; // 奖品数量
  awardTotalNum?: number; // 奖品总数量
  awardType?: number; // 该活动的奖品对应的类型
  awardTypeName?: string; // 该活动的奖品对应的类型
  awardUrl?: string; // awardUrl
  lotteryId?: number; // 中奖结果ID
  skuId?: number; // skuId
  skuName?: string; // 商品名称
}

// AwardVONoLotteryId
export interface AwardVONoLotteryId {
  activityId?: number; // 奖品的活动ID
  assigned?: number; // 奖品已经分配的数量信息
  awardBackId?: string; // 背景图片Id
  awardBackUrl?: string; // 背景图片链接
  awardDesc?: string; // 奖品描述
  awardGrade?: number; // 奖品等级
  awardId?: number; // 奖品的活动奖项对应的id
  awardName?: string; // 奖品名字
  awardNum?: number; // 奖品数量
  awardTotalNum?: number; // 奖品总数量
  awardType?: number; // 该活动的奖品对应的类型
  awardTypeName?: string; // 该活动的奖品对应的类型
  awardUrl?: string; // awardUrl
  skuId?: number; // skuId
  skuName?: string; // 商品名称
}

// CheckActivityByIdRequest
export interface CheckActivityByIdRequest {
  activityId: number; // 活动id
}

// CountListResult
export interface CountListResult {
  auditDeniedNum?: number; // 审核未通过数
  auditPassedNum?: number; // 审核通过数
  auditWaitedNum?: number; // 待审核数
  downGroundedNum?: number; // 已下架数
  total?: number; // 活动总数
  upGroundedNum?: number; // 已上架数
}

// EditAwardSettingByActivityRequest
export interface EditAwardSettingByActivityRequest {
  activityAwardPoolSetting: ActivityAwardPoolSetting;
}

// EditAwardSettingRequest
export interface EditAwardSettingRequest {
  awardSetting: AwardSetting;
}

// GetAwardListByActivityIdFromResultRequest
export interface GetAwardListByActivityIdFromResultRequest {
  activityId: number; // 活动id
  awardId?: number; // 奖项id
  endTime?: string; // 时间的结束日期
  startTime?: string; // 时间的起始日期
}

// GetBarCodeByLotteryIdRequest
export interface GetBarCodeByLotteryIdRequest {
  lotteryId: Array<number>; // 中奖结果id
}

// GoodsVO
export interface GoodsVO {
  goodsId?: number;
  goodsName?: string;
  goodsNum?: number;
  imgUrl?: string;
}

// LotteryPageSettingOutVo
export interface LotteryPageSettingOutVo {
  activityId?: number;
  id?: number;
  setJson?: string;
}

// UserInfoLottery
export interface UserInfoLottery {
  address?: string; // 用户地址
  lotteryId?: number; // 中奖结果id
  phone?: string; // 用户手机号
  userName?: string; // 用户姓名
}

// LotteryUserInfoRequest
export interface LotteryUserInfoRequest {
  lotteryId: number; // 中奖结果id
  userId?: number; // 用户id
  userInfo: UserInfoLottery;
}

// LuckyDrawLotteryResult
export interface LuckyDrawLotteryResult {
  activityId?: number; // 活动id
  awardDesc?: string; // 奖项描述
  awardId?: number; // 奖品id
  awardType?: number; // 虚拟奖品还是实物奖品的标志
  createdBy?: string;
  createdTime?: string;
  id?: number;
  isDeleted?: number;
  phone?: string;
  result?: number; // 抽奖结果 1 中 0 否
  seriesName?: string; // 券码名称
  seriesNum?: string; // 券码编码
  sourceFrom?: string; // 数据来源
  updatedBy?: string;
  updatedTime?: string;
  userId?: string; // 用户id
  userInfo?: string; // 数据来源
}

// LuckyDrawLotteryResultVo
export interface LuckyDrawLotteryResultVo {
  activityId?: number; // 活动id
  awardDesc?: string; // 奖项描述
  awardId?: number; // 奖品id
  awardName?: string; // 奖项名
  awardType?: number; // 虚拟奖品还是实物奖品的标志
  exchangeUrl?: string; // 兑换链接
  id?: number;
  result?: number; // 抽奖结果 1 中 0 否
  seriesName?: string; // 券码名称
  seriesNum?: string; // 券码编码
  sourceFrom?: string; // 数据来源
  updatedTime?: string; // 中奖时间
  userId?: string; // 用户id
  userInfo?: UserInfoLottery;
}

// LuckyDrawNewRequest
export interface LuckyDrawNewRequest {
  activityId: number; // 活动id
  phone?: string; // 用户手机号
  sourceFrom?: string; // 用户标志调用的数据来源
  userId?: number; // 用户id
}

// LuckyDrawRequest
export interface LuckyDrawRequest {
  activityId: number; // 活动id
  phone?: string; // 用户手机号
}

// OrderPayVO
export interface OrderPayVO {
  actualAmount?: number; // 实际支付总金额，单位为分
  amount?: number; // 订单总金额，单位为分
  billId?: string; // 账单号,来自支付中心账单
  discountAmount?: number; // 优惠总金额，单位为分。实际支付金额= 订单总金额-优惠金额
  orderId?: string; // 订单号
  payChannel?: string; // 支付渠道 01:alipay 02:wechat
  payStartTime?: string; // 支付发起时间
  payTime?: string; // 支付时间，若未支付不返回字段
  payType?: string; // 支付类型: 01:h5 02:qrcode
  userId?: string; // 用户ID，来自MS
}

// OrderProductVO
export interface OrderProductVO {
  actualAmount?: number; // 实际售价,单位分
  actualUnitAmount?: number; // 实际支付单价，单位分
  amount?: number; // 商品原价,单位分
  discountRatio?: number; // 折扣比例
  memo?: string; // 备注信息
  merchantAddress?: string; // 商家地址
  merchantId?: string; // 商家id
  merchantName?: string; // 商家名称
  orderId?: string; // 订单号
  outProductId?: string; // 商品外部号
  outProductName?: string; // 商品外部名称
  outSkuId?: string; // 商品外部sku号
  outSource?: string; // 商品外部来源
  productId?: string; // 商品spu ID
  productImgUrl?: string; // 商品图片地址
  productName?: string; // 商品spu名
  productType?: string; // 商品类型 01:实物 02:虚拟
  quantity?: number; // 数量
  refundId?: string; // 退款单号
  refundQuantity?: number; // 退款数量
  skuId?: string; // 商品sku号
  skuName?: string; // 商品sku名
  unitAmount?: number; // 单价，单位分
  userId?: string; // 用户ID，来自MS
}

// OrderProduct对象
export interface OrderProduct对象 {
  discountRatio?: number; // 折扣比例
  memo?: string; // 备注信息
  merchantAddress?: string; // 商家地址
  merchantId?: string; // 商家id
  merchantName?: string; // 商家名称
  outProductId?: string; // 商品外部spu号
  outProductName?: string; // 商品外部spu名称
  outSkuId?: string; // 商品外部sku号
  outSource?: string; // 商品外部来源,01:翌擎 02:车主邦
  productId?: string; // 商品spu号
  productImgUrl?: string; // 商品图片地址
  productName?: string; // 商品spu名
  productType?: string; // 商品类型 01:实物 02:虚拟
  promotions?: Array<商品促销信息>; // 商品促销信息
  quantity?: number; // 数量
  skuId?: string; // 商品sku号
  skuName?: string; // 商品sku名
  unitAmount?: number; // 商品原有单价，单位分
}

// OrderRefundVO
export interface OrderRefundVO {
  billId?: string; // 账单号
  orderId?: string; // 订单号
  refundAmount?: number; // 退款金额，单位分
  refundReason?: string; // 退款原因
  refundStartTime?: string; // 退款发起时间，来自支付中心
  refundTime?: string; // 退款时间，若未退款不返回字段
  refundType?: string; // 退款类型 01:待发货退款 02:退款不退货 03:退款退货
  userId?: string; // 用户ID，来自MS
}

// Order对象
export interface Order对象 {
  bizId?: number; // 业务ID
  msgFrom?: string; // 订单请求消息来源,为app server中的appName,该参数可从heder中获取，key为appName
  orderSource?: string; // 订单来源 01:加油 02:活动
  outOrderId?: string; // 外部订单号(注意内部订单不用填写)
  outSource?: string; // 订单外部来源 01:翌擎 02:车主邦(注意内部订单不用填写)
  phone?: string; // 用户手机号
  products?: Array<OrderProduct对象>; // 订单关联商品
  sequenceId?: string; // 请求ID,幂等用，采用UUID方式
  userId?: string; // 用户ID，来自MS
}

// PageUtils<T>
export interface PageUtils<T> {
  currPage?: number;
  list?: Array<ObjectType>; // 分页数据
  pageSize?: number; // 每页记录数
  totalCount?: number; // 总记录数
  totalPage?: number; // 总页数
}

// PoolSetting
export interface PoolSetting {
  activityId?: number; // 活动id
  allocFlag?: number; // 该奖池是否分配， 0:已分配 1: 未分配
  awardDescVO?: AwardDescVO;
  awardGrade?: string; // 奖项级别
  awardGradeName?: string; // 奖项级别名称
  awardId?: number; // 奖项id
  awardName?: string; // 奖项名称
  awardPoolId?: number; // 奖池id
  id?: number; // 奖池设置id
  isDelete?: number; // 该奖项设置是否有效 0:有效 1:失效
  releaseNum?: number; // 奖池的释放数量
  releaseTimeEnd?: string; // 奖池的释放的结束时间
  releaseTimeStart?: string; // 奖池的释放的开始时间
}

// ProductInfoWithPromotion
export interface ProductInfoWithPromotion {
  catalog3Id?: number;
  catalog3Name?: string;
  discountRatio?: number;
  endTime?: string;
  fixedPrice?: number;
  fullPrice?: number;
  levelOneId?: number;
  levelOneKey?: string;
  levelOneName?: string;
  levelTwoId?: number;
  levelTwoKey?: string;
  levelTwoName?: string;
  lockNum?: number;
  onSaleNum?: number;
  promotionId?: number;
  promotionName?: string;
  promotionSerialNum?: string;
  realPrice?: number;
  reducePrice?: number;
  reviewStatus?: number;
  sales?: Array<SalesPromotionView>;
  skuId?: number;
  skuName?: string;
  soldNum?: number;
  startTime?: string;
  totalNum?: number;
}

// ProductWithPromotionVO
export interface ProductWithPromotionVO {
  attribute?: number; // 商品属性
  catalog3Id?: number; // 三级分类Id
  catalog3Name?: string; // 三级分类名称
  discountRatio?: number; // 折扣比例
  endTime?: string; // 促销结束时间
  fixedPrice?: number; // 一口价
  fullPrice?: number; // 商品原价
  levelTwoKey?: string; // 二级键
  num?: number; // 商品数量
  promotionId?: number; // 促销id
  realPrice?: number; // 实际售价
  reducePrice?: number; // 立减价
  rightItems?: Array<RightSkuInfoView>; // 权益列表
  shelfStatus?: number; // 商品上架状态 0:未上架，1：已上架，2：已下架
  singleSkuLimit?: number; // 单品限购数
  singleUserLimit?: number; // 单用户限购数
  skuDefaultImg?: string; // 商品默认图片
  skuDefaultImgKey?: string; // 商品默认图片key
  skuDesc?: string; // 商品描述
  skuId?: number; // 商品id
  skuName?: string; // 商品名称
  startTime?: string; // 促销开始时间
}

// PurchaseProduct
export interface PurchaseProduct {
  is_promotion?: boolean;
  skuId?: number;
}

// QueryActivityAwardByActivityIdRequest
export interface QueryActivityAwardByActivityIdRequest {
  activityId: number; // Long
}

// QueryActivityAwardPoolRequest
export interface QueryActivityAwardPoolRequest {
  activityId: number; // Long
}

// QueryActivityAwardProductRequest
export interface QueryActivityAwardProductRequest {
  awardTypeCode?: number; // 奖项类型编码
  name?: string; // 名称
  page?: number; // 分页
  size?: number; // 每页数量
}

// QueryAwardDescByAwardIdRequest
export interface QueryAwardDescByAwardIdRequest {
  awardId: number; // 活动项id
}

// QueryAwardListByActivityIdRequest
export interface QueryAwardListByActivityIdRequest {
  activityId: number; // 活动id
  awardType?: number; // 该活动的奖品对应的类型
}

// QueryAwardSettingRequest
export interface QueryAwardSettingRequest {
  activityId: number; // 活动id
}

// QueryAwardTotalConditionByIdRequest
export interface QueryAwardTotalConditionByIdRequest {
  awardId: number; // Long
}

// QueryLotteryPageSettingByActivityIdRequest
export interface QueryLotteryPageSettingByActivityIdRequest {
  activityId: number; // 活动id
}

// QueryTheListOfInterestsRequest
export interface QueryTheListOfInterestsRequest {
  activityAwardTypeCode: number; // 活动奖项类型Code
}

// QueryUserActivityRecordByActivityIdAndUserRequest
export interface QueryUserActivityRecordByActivityIdAndUserRequest {
  activityId: number; // 活动id
  phone?: string; // 用户手机号
}

// RightSkuInfoView
export interface RightSkuInfoView {
  activedNum?: number; // 激活数量
  canDecreaseNum?: number; // 可减少数量
  canIncreaseNum?: number; // 可增加数量
  catalog3Id?: number; // 商品分类id(默认3级)
  catalog3Name?: string; // 权益类别名称
  createTime?: string; // 创建时间
  drawedNum?: number; // 已领取数量
  enableStatus?: number;
  exchangeLink?: string; // 权益兑换链接
  onSaleNum?: number; // 可售数量
  operatorName?: string; // 操作人
  price?: number; // 商品价格
  skuDefaultImg?: string; // 商品图片上传地址
  skuDefaultImgKey?: string; // 商品图片key
  skuDesc?: string; // 商品描述
  skuId?: number; // skuId
  skuName?: string; // 商品名称
  spuId?: number; // 商品id
  totalNum?: number; // 总数
}

// SalesPromotionView
export interface SalesPromotionView {
  endTime?: string; // 结束时间
  id?: number; // 促销活动id
  levelOneId?: number; // 促销一级类型id
  levelOneKey?: string; // 促销一级类型key
  levelOneName?: string; // 促销一级类型名称
  levelTwoId?: number; // 促销二级类型id
  levelTwoKey?: string; // 促销二级类型key
  levelTwoName?: string; // 促销二级类型名称
  mark?: string; // 备注
  name?: string; // 促销活动名称
  promotionStatus?: number; // 审核状态
  serialNum?: string; // 促销编号
  startTime?: string; // 开始时间
  userScope?: number; // 用户范围：0-全部，1-指定用户
  userScopeSessionId?: number; // 如果是指定用户，则需带上此参数，由上传时服务端返回
  value?: number; // 促销值
}

// WhiteListPreImportResult
export interface WhiteListPreImportResult {
  sessionId?: number; // 会话id
  total?: number; // 总数
}

// 公共响应对象<T>
export interface 公共响应对象<T> {
  data?: T;
  errorCode?: string; // 错误码
  errorMsg?: string; // 错误信息
  status?: boolean; // 响应状态
}

// 商品促销信息
export interface 商品促销信息 {
  discountRatio?: number; // 折扣
  fixedPrice?: number; // 一口价
  promotionCatalog?: string; // 促销类型,对应促销表promotion_catalog中的key:ykj li zk
  promotionId?: number; // 促销id
  reducePrice?: number; // 立减
}

// 订单查询VO
export interface 订单查询VO {
  actualAmount?: number; // 订单实际支付总金额,单位分
  amount?: number; // 订单总金额，单位为分
  createdBy?: string; // 创建人
  createdTime?: string; // 创建时间
  discountAmount?: number; // 订单优惠总金额,单位分
  id?: string; // 订单号
  invoiceMemo?: string; // 发票备注
  invoiceStatus?: string; // 开票状态 01:未开票 02:已开票 03:部分开票
  orderSource?: string; // 订单来源 01:加油 02:商城
  outOrderNo?: string; // 外部订单号
  outSource?: string; // 订单外部来源
  pays?: Array<OrderPayVO>; // 订单支付信息
  phone?: string; // 用户手机号
  products?: Array<OrderProductVO>; // 订单管理商品列表
  refunds?: Array<OrderRefundVO>; // 订单退款信息
  status?: string; // 订单状态
  userId?: string; // 用户ID，来自MS
}

// 订单查询请求
export interface 订单查询请求 {
  bizId?: number; // 业务ID
  createEndTime?: string; // 创建截止时间,格式YYYY-MM-DD
  createStartTime?: string; // 创建开始时间,格式YYYY-MM-DD
  currentPage?: number;
  id?: string; // 订单ID
  orderSource?: string; // 订单来源 01:加油 02:活动
  outOrderId?: string; // 外部订单号
  pageSize?: number;
  phone?: string; // 用户手机号
  status?: Array<string>; // 订单状态 01:待支付 02:待发货(已支付) 03:待收货 04:已完成 05:已取消 06:已过期 07:退款中 08:已退款 09:退款失败
}


export interface AwardPublicgetAwardListByActivityIdFromResultParameters {
  request: GetAwardListByActivityIdFromResultRequest; // request
}

/**
 * @name: AwardPublicgetAwardListByActivityIdFromResult
 * @date: 2022/1/21
 * @description: 中奖结果信息查询
 * @param: {request} [GetAwardListByActivityIdFromResultRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<AwardVO>>>>
 */
export function AwardPublicgetAwardListByActivityIdFromResult(parameters: Config & AwardPublicgetAwardListByActivityIdFromResultParameters): Promise<AxiosResponse<公共响应对象<Array<AwardVO>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/award/getAwardListByActivityIdFromResult'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryaddActivityAwardPoolParameters {
  request: AddActivityAwardPoolRequest; // request
}

/**
 * @name: ActivityAwardLotteryaddActivityAwardPool
 * @date: 2022/1/21
 * @description: 新增活动、奖项、页面配置的信息
 * @param: {request} [AddActivityAwardPoolRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>>
 */
export function ActivityAwardLotteryaddActivityAwardPool(parameters: Config & ActivityAwardLotteryaddActivityAwardPoolParameters): Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/addActivityAwardPool'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryeditActivityAwardPoolParameters {
  request: AddActivityAwardPoolRequest; // request
}

/**
 * @name: ActivityAwardLotteryeditActivityAwardPool
 * @date: 2022/1/21
 * @description: 编辑活动、奖项、页面配置的信息
 * @param: {request} [AddActivityAwardPoolRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>>
 */
export function ActivityAwardLotteryeditActivityAwardPool(parameters: Config & ActivityAwardLotteryeditActivityAwardPoolParameters): Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/editActivityAwardPool'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryeditActivityAwardPoolDynamicParameters {
  request: AddActivityAwardPoolRequest; // request
}

/**
 * @name: ActivityAwardLotteryeditActivityAwardPoolDynamic
 * @date: 2022/1/21
 * @description: 编辑活动、奖项、页面配置的信息奖池、奖项均可动态变更
 * @param: {request} [AddActivityAwardPoolRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>>
 */
export function ActivityAwardLotteryeditActivityAwardPoolDynamic(parameters: Config & ActivityAwardLotteryeditActivityAwardPoolDynamicParameters): Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/editActivityAwardPoolDynamic'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryqueryActivityAwardPoolParameters {
  request: QueryActivityAwardPoolRequest; // request
}

/**
 * @name: ActivityAwardLotteryqueryActivityAwardPool
 * @date: 2022/1/21
 * @description: 查询活动、奖项、页面配置的信息
 * @param: {request} [QueryActivityAwardPoolRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>>
 */
export function ActivityAwardLotteryqueryActivityAwardPool(parameters: Config & ActivityAwardLotteryqueryActivityAwardPoolParameters): Promise<AxiosResponse<公共响应对象<AddActivityAwardPoolRequest>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/queryActivityAwardPool'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryqueryActivityAwardProductListParameters {
  request: QueryActivityAwardProductRequest; // request
}

/**
 * @name: ActivityAwardLotteryqueryActivityAwardProductList
 * @date: 2022/1/21
 * @description: 查询权益对应的商品信息
 * @param: {request} [QueryActivityAwardProductRequest]
 * @return: Promise<AxiosResponse<公共响应对象<PageUtils<RightSkuInfoView>>>>
 */
export function ActivityAwardLotteryqueryActivityAwardProductList(parameters: Config & ActivityAwardLotteryqueryActivityAwardProductListParameters): Promise<AxiosResponse<公共响应对象<PageUtils<RightSkuInfoView>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/queryActivityAwardProductList'

  return request('post', host + path, body, $config)
}

export interface ActivityAwardLotteryqueryAwardTotalConditionByIdParameters {
  request: QueryAwardTotalConditionByIdRequest; // request
}

/**
 * @name: ActivityAwardLotteryqueryAwardTotalConditionById
 * @date: 2022/1/21
 * @description: 查询奖项的整体情况信息
 * @param: {request} [QueryAwardTotalConditionByIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardDescVO>>>
 */
export function ActivityAwardLotteryqueryAwardTotalConditionById(parameters: Config & ActivityAwardLotteryqueryAwardTotalConditionByIdParameters): Promise<AxiosResponse<公共响应对象<AwardDescVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/api/v1/tsp/activity/award/handel/queryAwardTotalConditionById'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfoaddActivityParameters {
  tspActivityInfoVO: TspActivityInfoVO; // tspActivityInfoVO
}

/**
 * @name: TspActivityInfoaddActivity
 * @date: 2022/1/21
 * @description: 新增活动
 * @param: {tspActivityInfoVO} [TspActivityInfoVO]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfoaddActivity(parameters: Config & TspActivityInfoaddActivityParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/addActivity'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfoauditParameters {
  activityId: number; // activityId
  auditCode: number; // auditCode
  auditOpinion?: string; // auditOpinion
}

/**
 * @name: TspActivityInfoaudit
 * @date: 2022/1/21
 * @description: 审核活动
 * @param: {activityId} [integer]
 * @param: {auditCode} [integer]
 * @param: {auditOpinion} [string]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfoaudit(parameters: Config & TspActivityInfoauditParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/audit'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfodeleteParameters {
  ids: Array<number>; // ids
}

/**
 * @name: TspActivityInfodelete
 * @date: 2022/1/21
 * @description: 删除活动
 * @param: {ids} [array]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfodelete(parameters: Config & TspActivityInfodeleteParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/delete'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfogroundParameters {
  activityId: number; // activityId
  groundCode: number; // groundCode
}

/**
 * @name: TspActivityInfoground
 * @date: 2022/1/21
 * @description: 活动上下架
 * @param: {activityId} [integer]
 * @param: {groundCode} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfoground(parameters: Config & TspActivityInfogroundParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/ground'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfoinfoParameters {
  id: number; // id
}

/**
 * @name: TspActivityInfoinfo
 * @date: 2022/1/21
 * @description: 活动查询
 * @param: {id} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfoinfo(parameters: Config & TspActivityInfoinfoParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/info/{id}'

  return request('get', host + path, body, $config)
}

export interface TspActivityInfolistParameters {
  auditCode?: number;
  createTimeFrom?: string;
  createTimeTo?: string;
  endTimeFrom?: string;
  endTimeTo?: string;
  groundCode?: number;
  name?: string;
  page?: string;
  publisher?: string;
  size?: string;
  startTimeFrom?: string;
  startTimeTo?: string;
  typeCode?: number;
}

/**
 * @name: TspActivityInfolist
 * @date: 2022/1/21
 * @description: 活动列表
 * @param: {auditCode} [integer]
 * @param: {createTimeFrom} [string]
 * @param: {createTimeTo} [string]
 * @param: {endTimeFrom} [string]
 * @param: {endTimeTo} [string]
 * @param: {groundCode} [integer]
 * @param: {name} [string]
 * @param: {page} [string]
 * @param: {publisher} [string]
 * @param: {size} [string]
 * @param: {startTimeFrom} [string]
 * @param: {startTimeTo} [string]
 * @param: {typeCode} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<PageUtils<TspActivityInfoVO>>>>
 */
export function TspActivityInfolist(parameters: Config & TspActivityInfolistParameters): Promise<AxiosResponse<公共响应对象<PageUtils<TspActivityInfoVO>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/list'

  return request('get', host + path, body, $config)
}

export interface TspActivityInfoproductListParameters {
  page: number; // page
  size: number; // size
}

/**
 * @name: TspActivityInfoproductList
 * @date: 2022/1/21
 * @description: 查询商品列表
 * @param: {page} [integer]
 * @param: {size} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<PageUtils<ProductInfoWithPromotion>>>>
 */
export function TspActivityInfoproductList(parameters: Config & TspActivityInfoproductListParameters): Promise<AxiosResponse<公共响应对象<PageUtils<ProductInfoWithPromotion>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/productList'

  return request('get', host + path, body, $config)
}

export interface TspActivityInfoqueryListCountParameters {
  auditCode?: number;
  createTimeFrom?: string;
  createTimeTo?: string;
  endTimeFrom?: string;
  endTimeTo?: string;
  groundCode?: number;
  name?: string;
  page?: string;
  publisher?: string;
  size?: string;
  startTimeFrom?: string;
  startTimeTo?: string;
  typeCode?: number;
}

/**
 * @name: TspActivityInfoqueryListCount
 * @date: 2022/1/21
 * @description: 条件查询活动总数
 * @param: {auditCode} [integer]
 * @param: {createTimeFrom} [string]
 * @param: {createTimeTo} [string]
 * @param: {endTimeFrom} [string]
 * @param: {endTimeTo} [string]
 * @param: {groundCode} [integer]
 * @param: {name} [string]
 * @param: {page} [string]
 * @param: {publisher} [string]
 * @param: {size} [string]
 * @param: {startTimeFrom} [string]
 * @param: {startTimeTo} [string]
 * @param: {typeCode} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<CountListResult>>>
 */
export function TspActivityInfoqueryListCount(parameters: Config & TspActivityInfoqueryListCountParameters): Promise<AxiosResponse<公共响应对象<CountListResult>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/queryListCount'

  return request('get', host + path, body, $config)
}

export interface TspActivityInfoupdateParameters {
  tspActivityInfoVO: TspActivityInfoVO; // tspActivityInfoVO
}

/**
 * @name: TspActivityInfoupdate
 * @date: 2022/1/21
 * @description: 编辑活动
 * @param: {tspActivityInfoVO} [TspActivityInfoVO]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspActivityInfoupdate(parameters: Config & TspActivityInfoupdateParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/update'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfowhiteListCountParameters {
  activityId: number; // activityId
}

/**
 * @name: TspActivityInfowhiteListCount
 * @date: 2022/1/21
 * @description: 查询白名单总数
 * @param: {activityId} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<number>>>
 */
export function TspActivityInfowhiteListCount(parameters: Config & TspActivityInfowhiteListCountParameters): Promise<AxiosResponse<公共响应对象<number>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/info/whiteListCount'

  return request('get', host + path, body, $config)
}

export interface TspWhitelistPreImportpredownloadParameters {
  sessionId: number; // sessionId
}

/**
 * @name: TspWhitelistPreImportpredownload
 * @date: 2022/1/21
 * @description: 预导入白名单下载
 * @param: {sessionId} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspWhitelistPreImportpredownload(parameters: Config & TspWhitelistPreImportpredownloadParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/whitelistPreImport/preDownload'

  return request('get', host + path, body, $config)
}

export interface TspWhitelistPreImportpreImportRightParameters {
  file: File; // file
}

/**
 * @name: TspWhitelistPreImportpreImportRight
 * @date: 2022/1/21
 * @description: 预导入白名单
 * @param: {file} [file]
 * @return: Promise<AxiosResponse<公共响应对象<WhiteListPreImportResult>>>
 */
export function TspWhitelistPreImportpreImportRight(parameters: Config & TspWhitelistPreImportpreImportRightParameters): Promise<AxiosResponse<公共响应对象<WhiteListPreImportResult>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/whitelistPreImport/preImport'

  return request('post', host + path, body, $config)
}

/**
 * @name: TspWhitelistPreImportdownloadTemplate
 * @date: 2022/1/21
 * @description: 白名单导入模板下载
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function TspWhitelistPreImportdownloadTemplate(parameters: Config): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/admin/v1/api/whitelistPreImport/template'

  return request('get', host + path, body, $config)
}

/**
 * @name: AutoGroundretry
 * @date: 2022/1/21
 * @description: 活动自动上下架
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function AutoGroundretry(parameters: Config): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/auto-ground/ground'

  return request('get', host + path, body, $config)
}

export interface AwardPublicgetAwardListByActivityIdToMSParameters {
  request: QueryAwardListByActivityIdRequest; // request
}

/**
 * @name: AwardPublicgetAwardListByActivityIdToMS
 * @date: 2022/1/21
 * @description: ms抽奖结果
 * @param: {request} [QueryAwardListByActivityIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<AwardMSVO>>>>
 */
export function AwardPublicgetAwardListByActivityIdToMS(parameters: Config & AwardPublicgetAwardListByActivityIdToMSParameters): Promise<AxiosResponse<公共响应对象<Array<AwardMSVO>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/award/getAwardListByActivityIdToMS'

  return request('post', host + path, body, $config)
}

export interface AwardPoolGoodsRelationgetBarCodeByLotteryIdParameters {
  request?: GetBarCodeByLotteryIdRequest; // request
}

/**
 * @name: AwardPoolGoodsRelationgetBarCodeByLotteryId
 * @date: 2022/1/21
 * @description: 通过中奖结果id列表获取券码信息
 * @param: {request} [GetBarCodeByLotteryIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<AwardPoolGoodsRelationVoM>>>>
 */
export function AwardPoolGoodsRelationgetBarCodeByLotteryId(parameters: Config & AwardPoolGoodsRelationgetBarCodeByLotteryIdParameters): Promise<AxiosResponse<公共响应对象<Array<AwardPoolGoodsRelationVoM>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/award/pool/relation/getBarCodeByLotteryId'

  return request('post', host + path, body, $config)
}

/**
 * @name: AwardPoolGoodsRelationsyncAwardPoolToProduct
 * @date: 2022/1/21
 * @description: 定时任务同步商品中心扣减商品中心库存信息
 * @return: Promise<AxiosResponse<never>>
 */
export function AwardPoolGoodsRelationsyncAwardPoolToProduct(parameters: Config): Promise<AxiosResponse<never>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/award/pool/relation/sync'

  return request('get', host + path, body, $config)
}

/**
 * @name: AwardPoolSettingsyncAwardPoolToSetting
 * @date: 2022/1/21
 * @description: 定时任务处理相应的过时没有处理的奖品信息，把这些奖项剩余的当天之前的奖品信息放入不可用的状态
 * @return: Promise<AxiosResponse<never>>
 */
export function AwardPoolSettingsyncAwardPoolToSetting(parameters: Config): Promise<AxiosResponse<never>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/award/pool/setting/sync'

  return request('get', host + path, body, $config)
}

export interface LuckyDrawLotteryResultluckyDrawNewParameters {
  request: LuckyDrawNewRequest; // request
}

/**
 * @name: LuckyDrawLotteryResultluckyDrawNew
 * @date: 2022/1/21
 * @description: 根据活动id和用户id进行抽奖,需要传用户来源
 * @param: {request} [LuckyDrawNewRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardVONoLotteryId>>>
 */
export function LuckyDrawLotteryResultluckyDrawNew(parameters: Config & LuckyDrawLotteryResultluckyDrawNewParameters): Promise<AxiosResponse<公共响应对象<AwardVONoLotteryId>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/lucky/draw/lottery/result/luckyDrawNew'

  return request('post', host + path, body, $config)
}

export interface LuckyDrawLotteryResultluckyDrawNewLotteryParameters {
  request: LuckyDrawNewRequest; // request
}

/**
 * @name: LuckyDrawLotteryResultluckyDrawNewLottery
 * @date: 2022/1/21
 * @description: 根据活动id和用户id进行抽奖,需要传用户来源
 * @param: {request} [LuckyDrawNewRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardVO>>>
 */
export function LuckyDrawLotteryResultluckyDrawNewLottery(parameters: Config & LuckyDrawLotteryResultluckyDrawNewLotteryParameters): Promise<AxiosResponse<公共响应对象<AwardVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/internal/api/v1/lucky/draw/lottery/result/luckyDrawNewLottery'

  return request('post', host + path, body, $config)
}

export interface AwardPublicgetAwardListByActivityIdParameters {
  request: QueryAwardListByActivityIdRequest; // request
}

/**
 * @name: AwardPublicgetAwardListByActivityId
 * @date: 2022/1/21
 * @description: 抽奖结果
 * @param: {request} [QueryAwardListByActivityIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<AwardVO>>>>
 */
export function AwardPublicgetAwardListByActivityId(parameters: Config & AwardPublicgetAwardListByActivityIdParameters): Promise<AxiosResponse<公共响应对象<Array<AwardVO>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/award/getAwardListByActivityId'

  return request('post', host + path, body, $config)
}

export interface AwardSettingaddAwardSettingParameters {
  request: ActivityAwardPoolSetting; // request
}

/**
 * @name: AwardSettingaddAwardSetting
 * @date: 2022/1/21
 * @description: 校验活动信息新增
 * @param: {request} [ActivityAwardPoolSetting]
 * @return: Promise<AxiosResponse<公共响应对象<boolean>>>
 */
export function AwardSettingaddAwardSetting(parameters: Config & AwardSettingaddAwardSettingParameters): Promise<AxiosResponse<公共响应对象<boolean>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/awardSetting/addAwardSetting'

  return request('post', host + path, body, $config)
}

export interface AwardSettingeditAwardSettingByActivityParameters {
  request: EditAwardSettingByActivityRequest; // request
}

/**
 * @name: AwardSettingeditAwardSettingByActivity
 * @date: 2022/1/21
 * @description: 校验活动信息根据活动项进行整体编辑
 * @param: {request} [EditAwardSettingByActivityRequest]
 * @return: Promise<AxiosResponse<公共响应对象<ActivityAwardPoolSetting>>>
 */
export function AwardSettingeditAwardSettingByActivity(parameters: Config & AwardSettingeditAwardSettingByActivityParameters): Promise<AxiosResponse<公共响应对象<ActivityAwardPoolSetting>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/awardSetting/editAwardSettingByActivity'

  return request('post', host + path, body, $config)
}

export interface AwardSettingeditAwardSettingByAwardParameters {
  request: EditAwardSettingRequest; // request
}

/**
 * @name: AwardSettingeditAwardSettingByAward
 * @date: 2022/1/21
 * @description: 校验活动信息根据活动项奖品项进行编辑
 * @param: {request} [EditAwardSettingRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardSetting>>>
 */
export function AwardSettingeditAwardSettingByAward(parameters: Config & AwardSettingeditAwardSettingByAwardParameters): Promise<AxiosResponse<公共响应对象<AwardSetting>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/awardSetting/editAwardSettingByAward'

  return request('post', host + path, body, $config)
}

export interface AwardSettingqueryAwardDescByAwardIdParameters {
  request: QueryAwardDescByAwardIdRequest; // request
}

/**
 * @name: AwardSettingqueryAwardDescByAwardId
 * @date: 2022/1/21
 * @description: 根据奖项id查询奖项信息
 * @param: {request} [QueryAwardDescByAwardIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Award>>>
 */
export function AwardSettingqueryAwardDescByAwardId(parameters: Config & AwardSettingqueryAwardDescByAwardIdParameters): Promise<AxiosResponse<公共响应对象<Award>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/awardSetting/queryAwardDescByAwardId'

  return request('post', host + path, body, $config)
}

export interface AwardSettingqueryAwardSettingByActivityIdParameters {
  request: QueryAwardSettingRequest; // request
}

/**
 * @name: AwardSettingqueryAwardSettingByActivityId
 * @date: 2022/1/21
 * @description: 校验活动信息根据活动id进行查询
 * @param: {request} [QueryAwardSettingRequest]
 * @return: Promise<AxiosResponse<公共响应对象<ActivityAwardPoolSetting>>>
 */
export function AwardSettingqueryAwardSettingByActivityId(parameters: Config & AwardSettingqueryAwardSettingByActivityIdParameters): Promise<AxiosResponse<公共响应对象<ActivityAwardPoolSetting>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/awardSetting/queryAwardSettingByActivityId'

  return request('post', host + path, body, $config)
}

export interface JoinActivityRecordqueryRemainingNumberOfActivitiesParameters {
  request: QueryUserActivityRecordByActivityIdAndUserRequest; // request
}

/**
 * @name: JoinActivityRecordqueryRemainingNumberOfActivities
 * @date: 2022/1/21
 * @description: 根据活动id和用户查询用户剩余的抽奖次数信息
 * @param: {request} [QueryUserActivityRecordByActivityIdAndUserRequest]
 * @return: Promise<AxiosResponse<公共响应对象<number>>>
 */
export function JoinActivityRecordqueryRemainingNumberOfActivities(parameters: Config & JoinActivityRecordqueryRemainingNumberOfActivitiesParameters): Promise<AxiosResponse<公共响应对象<number>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/join/activity/record/queryRemainingNumberOfActivities'

  return request('post', host + path, body, $config)
}

export interface JoinActivityRecordqueryUserActivityRecordAndExchangeInfoByActivityIdAndUserParameters {
  request: QueryUserActivityRecordByActivityIdAndUserRequest; // request
}

/**
 * @name: JoinActivityRecordqueryUserActivityRecordAndExchangeInfoByActivityIdAndUser
 * @date: 2022/1/21
 * @description: 根据活动id和用户查询抽奖记录、地址、兑换链接等信息
 * @param: {request} [QueryUserActivityRecordByActivityIdAndUserRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<LuckyDrawLotteryResultVo>>>>
 */
export function JoinActivityRecordqueryUserActivityRecordAndExchangeInfoByActivityIdAndUser(parameters: Config & JoinActivityRecordqueryUserActivityRecordAndExchangeInfoByActivityIdAndUserParameters): Promise<AxiosResponse<公共响应对象<Array<LuckyDrawLotteryResultVo>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/join/activity/record/queryUserActivityRecordAndExchangeInfoByActivityIdAndUser'

  return request('post', host + path, body, $config)
}

export interface JoinActivityRecordqueryLotteryPageSettingByActivityIdParameters {
  request: QueryUserActivityRecordByActivityIdAndUserRequest; // request
}

/**
 * @name: JoinActivityRecordqueryLotteryPageSettingByActivityId
 * @date: 2022/1/21
 * @description: 根据活动id和用户查询抽奖记录信息
 * @param: {request} [QueryUserActivityRecordByActivityIdAndUserRequest]
 * @return: Promise<AxiosResponse<公共响应对象<Array<LuckyDrawLotteryResult>>>>
 */
export function JoinActivityRecordqueryLotteryPageSettingByActivityId(parameters: Config & JoinActivityRecordqueryLotteryPageSettingByActivityIdParameters): Promise<AxiosResponse<公共响应对象<Array<LuckyDrawLotteryResult>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/join/activity/record/queryUserActivityRecordByActivityIdAndUser'

  return request('post', host + path, body, $config)
}

export interface LotteryPageSettingaddOrUpdateLotteryPageSettingParameters {
  request: AddLotteryPageSettingRequest; // request
}

/**
 * @name: LotteryPageSettingaddOrUpdateLotteryPageSetting
 * @date: 2022/1/21
 * @description: 新增/编辑
 * @param: {request} [AddLotteryPageSettingRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AddLotteryPageSettingRequest>>>
 */
export function LotteryPageSettingaddOrUpdateLotteryPageSetting(parameters: Config & LotteryPageSettingaddOrUpdateLotteryPageSettingParameters): Promise<AxiosResponse<公共响应对象<AddLotteryPageSettingRequest>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/lotteryPageSetting/addOrUpdateLotteryPageSetting'

  return request('post', host + path, body, $config)
}

export interface LotteryPageSettingqueryLotteryPageSettingByActivityIdParameters {
  request: QueryLotteryPageSettingByActivityIdRequest; // request
}

/**
 * @name: LotteryPageSettingqueryLotteryPageSettingByActivityId
 * @date: 2022/1/21
 * @description: 根据活动id查询活动界面参数配置
 * @param: {request} [QueryLotteryPageSettingByActivityIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<LotteryPageSettingOutVo>>>
 */
export function LotteryPageSettingqueryLotteryPageSettingByActivityId(parameters: Config & LotteryPageSettingqueryLotteryPageSettingByActivityIdParameters): Promise<AxiosResponse<公共响应对象<LotteryPageSettingOutVo>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/lotteryPageSetting/queryLotteryPageSettingByActivityId'

  return request('post', host + path, body, $config)
}

export interface LuckyDrawLotteryResultluckyDrawParameters {
  request: LuckyDrawRequest; // request
}

/**
 * @name: LuckyDrawLotteryResultluckyDraw
 * @date: 2022/1/21
 * @description: 根据活动id和用户id进行抽奖
 * @param: {request} [LuckyDrawRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardVO>>>
 */
export function LuckyDrawLotteryResultluckyDraw(parameters: Config & LuckyDrawLotteryResultluckyDrawParameters): Promise<AxiosResponse<公共响应对象<AwardVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/lucky/draw/lottery/result/luckyDraw'

  return request('post', host + path, body, $config)
}

export interface LuckyDrawLotteryResultluckyDrawH5NewParameters {
  request: LuckyDrawNewRequest; // request
}

/**
 * @name: LuckyDrawLotteryResultluckyDrawH5New
 * @date: 2022/1/21
 * @description: 根据活动id和用户id进行抽奖,H5端
 * @param: {request} [LuckyDrawNewRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardVO>>>
 */
export function LuckyDrawLotteryResultluckyDrawH5New(parameters: Config & LuckyDrawLotteryResultluckyDrawH5NewParameters): Promise<AxiosResponse<公共响应对象<AwardVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/lucky/draw/lottery/result/luckyDrawNew'

  return request('post', host + path, body, $config)
}

export interface LuckyDrawLotteryResultuserInfoLotteryEditParameters {
  request: LotteryUserInfoRequest; // request
}

/**
 * @name: LuckyDrawLotteryResultuserInfoLotteryEdit
 * @date: 2022/1/21
 * @description: 向中奖结果中添加用户信息
 * @param: {request} [LotteryUserInfoRequest]
 * @return: Promise<AxiosResponse<公共响应对象<boolean>>>
 */
export function LuckyDrawLotteryResultuserInfoLotteryEdit(parameters: Config & LuckyDrawLotteryResultuserInfoLotteryEditParameters): Promise<AxiosResponse<公共响应对象<boolean>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/api/v1/lucky/draw/lottery/result/userInfoEdit'

  return request('post', host + path, body, $config)
}

export interface AwardGoodsRelationqueryTheListOfInterestsParameters {
  request: QueryTheListOfInterestsRequest; // request
}

/**
 * @name: AwardGoodsRelationqueryTheListOfInterests
 * @date: 2022/1/21
 * @description: 查询权益列表
 * @param: {request} [QueryTheListOfInterestsRequest]
 * @return: Promise<AxiosResponse<公共响应对象<GoodsVO>>>
 */
export function AwardGoodsRelationqueryTheListOfInterests(parameters: Config & AwardGoodsRelationqueryTheListOfInterestsParameters): Promise<AxiosResponse<公共响应对象<GoodsVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/award/goods/relation/queryTheListOfInterests'

  return request('post', host + path, body, $config)
}

export interface ActivityCheckcheckInfoParameters {
  id: number; // id
}

/**
 * @name: ActivityCheckcheckInfo
 * @date: 2022/1/21
 * @description: 校验活动信息
 * @param: {id} [integer]
 * @return: Promise<AxiosResponse<公共响应对象<TspActivityInfoVO>>>
 */
export function ActivityCheckcheckInfo(parameters: Config & ActivityCheckcheckInfoParameters): Promise<AxiosResponse<公共响应对象<TspActivityInfoVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/check/checkInfo'

  return request('post', host + path, body, $config)
}

export interface ActivityCheckcheckWhitelistParameters {
  activityInfoVO: ActivityInfoVO; // activityInfoVO
}

/**
 * @name: ActivityCheckcheckWhitelist
 * @date: 2022/1/21
 * @description: 校验活动白名单
 * @param: {activityInfoVO} [ActivityInfoVO]
 * @return: Promise<AxiosResponse<公共响应对象<TspActivityInfoVO>>>
 */
export function ActivityCheckcheckWhitelist(parameters: Config & ActivityCheckcheckWhitelistParameters): Promise<AxiosResponse<公共响应对象<TspActivityInfoVO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/check/checkWhitelist'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfoPubliccheckByIdParameters {
  request?: CheckActivityByIdRequest; // request
}

/**
 * @name: TspActivityInfoPubliccheckById
 * @date: 2022/1/21
 * @description: 根据活动id校验该活动是否有效
 * @param: {request} [CheckActivityByIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<boolean>>>
 */
export function TspActivityInfoPubliccheckById(parameters: Config & TspActivityInfoPubliccheckByIdParameters): Promise<AxiosResponse<公共响应对象<boolean>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/info/checkActivityById'

  return request('post', host + path, body, $config)
}

export interface TspActivityInfoPublicqueryAwardPoolByActivityIdParameters {
  request: QueryActivityAwardByActivityIdRequest; // request
}

/**
 * @name: TspActivityInfoPublicqueryAwardPoolByActivityId
 * @date: 2022/1/21
 * @description: 奖项、页面配置的信息
 * @param: {request} [QueryActivityAwardByActivityIdRequest]
 * @return: Promise<AxiosResponse<公共响应对象<AwardAndPageSettingVo>>>
 */
export function TspActivityInfoPublicqueryAwardPoolByActivityId(parameters: Config & TspActivityInfoPublicqueryAwardPoolByActivityIdParameters): Promise<AxiosResponse<公共响应对象<AwardAndPageSettingVo>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/info/queryAwardPoolByActivityId'

  return request('post', host + path, body, $config)
}

export interface ActivityOrdercancelOrderParameters {
  orderId: string; // orderId
}

/**
 * @name: ActivityOrdercancelOrder
 * @date: 2022/1/21
 * @description: 取消订单
 * @param: {orderId} [string]
 * @return: Promise<AxiosResponse<公共响应对象<any>>>
 */
export function ActivityOrdercancelOrder(parameters: Config & ActivityOrdercancelOrderParameters): Promise<AxiosResponse<公共响应对象<any>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/order/cancel'

  return request('get', host + path, body, $config)
}

export interface ActivityOrderplaceOrderParameters {
  addOrderRequest: Order对象; // addOrderRequest
}

/**
 * @name: ActivityOrderplaceOrder
 * @date: 2022/1/21
 * @description: 订购下单
 * @param: {addOrderRequest} [Order对象]
 * @return: Promise<AxiosResponse<公共响应对象<string>>>
 */
export function ActivityOrderplaceOrder(parameters: Config & ActivityOrderplaceOrderParameters): Promise<AxiosResponse<公共响应对象<string>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/order/placeOrder'

  return request('post', host + path, body, $config)
}

export interface ActivityOrdersearchOrderParameters {
  request: 订单查询请求; // request
}

/**
 * @name: ActivityOrdersearchOrder
 * @date: 2022/1/21
 * @description: 查询订单
 * @param: {request} [订单查询请求]
 * @return: Promise<AxiosResponse<公共响应对象<订单查询VO>>>
 */
export function ActivityOrdersearchOrder(parameters: Config & ActivityOrdersearchOrderParameters): Promise<AxiosResponse<公共响应对象<订单查询VO>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/order/searchOrder'

  return request('post', host + path, body, $config)
}

export interface ActitvityProductqueryProductParameters {
  activityId: number; // activityId
  phone: string; // phone
  skuIds: Array<number>; // skuIds
  userId: string; // userId
}

/**
 * @name: ActitvityProductqueryProduct
 * @date: 2022/1/21
 * @description: 查询商品
 * @param: {activityId} [integer]
 * @param: {phone} [string]
 * @param: {skuIds} [array]
 * @param: {userId} [string]
 * @return: Promise<AxiosResponse<公共响应对象<Array<ProductWithPromotionVO>>>>
 */
export function ActitvityProductqueryProduct(parameters: Config & ActitvityProductqueryProductParameters): Promise<AxiosResponse<公共响应对象<Array<ProductWithPromotionVO>>>> {
  const { $config, $domain, ...body} = parameters
  const host = $domain ? $domain : getDomain()
  let path = '/public/v1/api/product/queryProduct'

  return request('post', host + path, body, $config)
}