import { requestClient } from '#/api/request';

/**
 * OA 群聊管理 API
 *
 * 群聊用于机器人维度的推送分组（N:N 绑定），按平台区分。
 * 路由前缀：oa-chat/
 *
 * 后端约定：
 * - 标准 CRUD（list/detail/create/update/delete）由 BaseController 通过反射自动注册
 * - 额外接口 listByPlatform：按平台分组的群聊列表（机器人表单按平台多选时使用）
 */
const prefix = 'oa-chat/';

/**
 * 分页查询群聊列表
 */
export async function getOaChatList(data: any) {
  return requestClient.get<any>(`${prefix}list`, { params: data });
}

/**
 * 获取群聊详情
 */
export async function getOaChatInfo(id: number) {
  return requestClient.get<any>(`${prefix}detail`, { params: { id } });
}

/**
 * 新增群聊
 */
export async function createOaChat(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}create`, data);
}

/**
 * 编辑群聊
 */
export async function updateOaChat(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}update`, data);
}

/**
 * 删除群聊（支持批量）
 */
export async function deleteOaChat(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}delete`, data);
}

/**
 * 按平台分组的群聊列表（机器人表单选群聊用）
 *
 * 返回结构示例：
 * {
 *   work_wechat: [{ id: 1, name: '财务群' }, ...],
 *   dingtalk:    [{ id: 2, name: '运营群' }, ...],
 *   feishu:      [{ id: 3, name: '产品群' }, ...],
 * }
 */
export async function getOaChatListByPlatform() {
  return requestClient.get<any>(`${prefix}list-by-platform`);
}

/**
 * 从企微 92120 同步客户群（按名称匹配本地记录）
 */
export async function syncOaCustomerGroups(data: { platform_code?: string } = {}) {
  return requestClient.post<any>(`${prefix}sync-customer-groups`, data);
}

/**
 * 调用企微 appchat/create 创建应用群并落库
 */
export async function createOaAppChat(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}create-app-chat`, data);
}
