coupon.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { http } from "@/utils/http";
  2. type Result = {
  3. code: number;
  4. message: string;
  5. data?: any;
  6. };
  7. type ResultTable = {
  8. code: number;
  9. message: string;
  10. data?: {
  11. list: Array<any>;
  12. total: number;
  13. pageSize: number;
  14. currentPage: number;
  15. };
  16. };
  17. export const getCouponList = (params: {
  18. page?: number;
  19. pageSize?: number;
  20. name?: string;
  21. type?: number;
  22. status?: number;
  23. }) => {
  24. return http.request<ResultTable>("get", "/marketing/coupon/list", { params });
  25. };
  26. export const getCouponById = (id: number) => {
  27. return http.request<Result>("get", `/marketing/coupon/${id}`);
  28. };
  29. export const createCoupon = (data: any) => {
  30. return http.request<Result>("post", "/marketing/coupon", { data });
  31. };
  32. export const updateCouponStatus = (id: number, status: number) => {
  33. return http.request<Result>("put", `/marketing/coupon/${id}/status?status=${status}`);
  34. };
  35. export const deleteCoupon = (id: number) => {
  36. return http.request<Result>("delete", `/marketing/coupon/${id}`);
  37. };
  38. export const distributeCoupon = (data: {
  39. templateId: number;
  40. targetType: number; // 1-全部用户,3-指定用户
  41. userIds?: number[];
  42. }) => {
  43. return http.request<Result>("post", "/marketing/coupon/distribute", { data });
  44. };
  45. export const getCouponStatistics = (id: number) => {
  46. return http.request<Result>("get", `/marketing/coupon/${id}/statistics`);
  47. };
  48. export const getAvailableCoupons = () => {
  49. return http.request<Result>("get", "/marketing/coupon/available");
  50. };