import { http } from '@/utils/http';

/** 热门商品DTO */
export interface TopGoodsDTO {
  /** 商品ID */
  goodsId: number;
  /** 商品名称 */
  goodsName: string;
  /** 封面图片 */
  coverImg: string;
  /** 出现次数 */
  occurrenceCount: number;
}

/** 今日最新订单商品DTO */
export interface TodayLatestOrderGoodsDTO {
  /** 订单商品唯一ID */
  orderGoodsId: number;
  /** 关联订单ID */
  orderId: number;
  /** 关联商品ID */
  goodsId: number;
  /** 关联格口ID */
  cellId: number;
  /** 购买数量 */
  quantity: number;
  /** 购买时单价 */
  price: number;
  /** 商品总金额 */
  totalAmount: number;
  /** 商品名称 */
  goodsName: string;
  /** 封面图URL */
  coverImg: string;
  /** 商品状态（1正常 2已退货 3已换货 4已完成 5审核中 6退货未通过） */
  status: number;
  /** 买家姓名 */
  buyerName: string;
  createTime: string;
  createTimeStr: string;
}

/** 统计数据DTO */
export interface StatsDTO {
  /** 商店数量 */
  shopCount: number;
  /** 商品数量 */
  goodsCount: number;
  /** 商品总金额 */
  goodsTotalAmount: number;
  /** 订单数量 */
  orderCount: number;
  /** 总订单金额 */
  orderAmountSum: number;
  /** 总柜子数量 */
  cabinetCount: number;
  /** 总格口数量 */
  cellCount: number;
  /** 已关联格口数量 */
  linkedCellCount: number;
  /** 未管理格口数量 */
  unmanagedCellCount: number;
  /** 网关数量 */
  gatewayCount: number;
  /** 未还商品数量 */
  unReturnedGoodsCount: number;
  /** 未还订单数量 */
  unReturnedOrderCount: number;
  /** 未还金额 */
  unReturnedAmount: number;
  /** 热门商品列表 */
  topGoods: TopGoodsDTO[];
  /** 今日最新订单商品列表 */
  todayLatestOrderGoods: TodayLatestOrderGoodsDTO[];
}

/** 
 * 获取统计数据
 * @returns 包含统计数据的响应
 */
export const getStats = (corpid: string) => {
  return http.request<ResponseData<StatsDTO>>('get', '/shop/shops/Stats', {
    params: {
      corpid,
    },
  });
};