p-honggang.li
5 天以前 80ca024e9ae633df0dc9f4e8f533f33b526afb3d
src/api/pointsApi.ts
@@ -5,7 +5,7 @@
const pointsApi = {
  // 积分规则设置相关接口
  // 获取积分规则配置
  getPointsRules(data?: object): ApiPromise {
  getPointsRules(data: object): ApiPromise {
    return createAxios({
      url: `${url}main/page`,
      data: data,
@@ -13,28 +13,30 @@
  },
  // 根据ID获取积分规则
  getPointsRuleById(ruleId: string): ApiPromise {
  getPointsRuleById(data: URLSearchParams): ApiPromise {
    return createAxios({
      url: `${url}rules/getById`,
      method: 'get',
      params: { ruleId }
      url: `${url}rule/list`,
      method: 'post',
      data: data,
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    }) as ApiPromise
  },
  // 保存积分规则配置
  savePointsRules(data: object): ApiPromise {
    return createAxios({
      url: `${url}rules/save`,
      url: `${url}rule/update`,
      data: data,
    }) as ApiPromise
  },
  // 个人积分相关接口
  // 获取个人积分统计
  getPersonalPointsStats(): ApiPromise {
  getPersonalPointsStats(userId: number): ApiPromise {
    return createAxios({
      url: `${url}personal/stats`,
      url: `${url}/total/user/` + userId,
      method: 'get',
    }) as ApiPromise
  },
@@ -42,7 +44,7 @@
  // 获取个人积分流水
  getPersonalPointsFlow(data: object): ApiPromise {
    return createAxios({
      url: `${url}personal/flow`,
      url: `${url}flow/personal/page`,
      data: data,
    }) as ApiPromise
  },
@@ -79,6 +81,40 @@
      data,
    }) as ApiPromise
  },
  // 获取积分流水数据类目列表
  getPointsFlowCategories(): ApiPromise {
    return createAxios({
      url: `${url}flow/categories`,
      method: 'get',
    }) as ApiPromise
  },
  // 获取用户积分余额 - 使用已存在的接口
  getUserPoints(userId: number): ApiPromise {
    return createAxios({
      url: `${url}total/user/${userId}`,  // 修改为实际存在的路径
      method: 'get',
    }) as ApiPromise
  },
  // 使用专门的积分扣减接口
  deductPointsByFlow(userId: string, unitId: string, points: number, orderId: string, remark?: string, dataCategory?: string, providerId?: String): ApiPromise {
    return createAxios({
      url: `${url}user/deduct`,  // 使用新的专门积分扣减接口
      method: 'post',
      data: {
        userId,
        unitId,
        points,                    // 直接传入要扣减的积分数量
        orderId,
        remark: remark || `订单${orderId}交易扣减积分`,
        dataCategory: dataCategory || 'resource_transaction',
        dataType: 1,               // 1表示消耗
        providerId: providerId
      },
    }) as ApiPromise
  },
}
export default pointsApi