import request from '@/utils/request'

/** 站内信消息项 */
export interface MessageDto {
  /** 消息ID */
  id: number
  /** 消息类型 1=系统消息 2=运营消息 3=订单消息 */
  type: number
  /** 消息标题 */
  title: string
  /** 消息内容 */
  content: string
  /** 关联业务类型 */
  bizType: string
  /** 关联业务ID */
  bizId: number
  /** 是否已读 */
  read: boolean
  /** 创建时间（毫秒时间戳） */
  createTime: number
}

/** 分页响应结构 */
export interface MessagePageResult {
  pageNum: number
  pageSize: number
  total: number
  list: MessageDto[]
}

/** 请求参数 */
export interface MessageListParams {
  pageNum?: number
  pageSize?: number
  keyword?: string
  type?: number | null
}

/**
 * 获取站内信消息列表（分页）
 * POST /message/list
 */
export function fetchMessageList(params: MessageListParams) {
  return request.get<any, any>('/message/list', { params })
}

/**
 * 获取未读消息数量
 * GET /message/unread-count
 */
export function fetchUnreadCount() {
  return request.get<any, any>('/message/unread-count')
}

/**
 * 标记消息已读
 * POST /message/read/{messageId}
 */
export function markMessageRead(messageId: number | string) {
  return request.post<any, any>(`/message/read/${messageId}`)
}
