import request from '@/utils/request'

// 创建初核项目
export function createProject(data) {
  return request({
    url: '/ccdi/project',
    method: 'post',
    data: data
  })
}

// 查询初核项目列表（分页）
export function listProject(query) {
  return request({
    url: '/ccdi/project/list',
    method: 'get',
    params: query
  })
}

// 查询初核项目详细
export function getProject(projectId) {
  return request({
    url: '/ccdi/project/' + projectId,
    method: 'get'
  })
}

// 新增初核项目
export function addProject(data) {
  return request({
    url: '/ccdi/project',
    method: 'post',
    data: data
  })
}

// 修改初核项目
export function updateProject(data) {
  return request({
    url: '/ccdi/project',
    method: 'put',
    data: data
  })
}

// 删除初核项目
export function delProject(projectIds) {
  return request({
    url: '/ccdi/project/' + projectIds,
    method: 'delete'
  })
}

// 恢复已删除初核项目
export function restoreProject(projectId) {
  return request({
    url: '/ccdi/project/' + projectId + '/restore',
    method: 'post'
  })
}

// 导出初核项目
export function exportProject(query) {
  return request({
    url: '/ccdi/project/export',
    method: 'get',
    params: query
  })
}

// 刷新项目预警人数
export function refreshWarningCount(projectId) {
  return request({
    url: '/ccdi/project/' + projectId + '/warning',
    method: 'post'
  })
}

// 归档项目
export function archiveProject(projectId) {
  return request({
    url: '/ccdi/project/' + projectId + '/archive',
    method: 'post'
  })
}

// 项目重新分析
export function rebuildProjectTags(data) {
  return request({
    url: '/ccdi/project/tags/rebuild',
    method: 'post',
    data
  })
}

// 获取历史项目列表（用于导入）
export function listHistoryProjects(query) {
  return request({
    url: '/ccdi/project/history',
    method: 'get',
    params: query
  })
}

// 从历史项目导入
export function importFromHistory(data) {
  return request({
    url: '/ccdi/project/import',
    method: 'post',
    data: data
  })
}

// Mock数据：获取项目列表（保留用于测试）
export function getMockProjectList() {
  return Promise.resolve({
    code: 200,
    total: 3,
    rows: [
      {
        projectId: 1,
        projectName: '2024年Q1初核',
        description: '2024年第一季度纪检初核排查工作',
        createTime: '2024-01-01',
        status: '0',
        configType: 'default',
        targetCount: 500,
        highRiskCount: 5,
        mediumRiskCount: 10,
        lowRiskCount: 0,
        createBy: 'admin',
        createByName: '管理员'
      },
      {
        projectId: 2,
        projectName: '2023年Q4初核',
        description: '2023年第四季度纪检初核排查工作',
        createTime: '2023-10-01',
        status: '1',
        configType: 'custom',
        targetCount: 480,
        highRiskCount: 8,
        mediumRiskCount: 15,
        lowRiskCount: 0,
        createBy: 'admin',
        createByName: '管理员'
      },
      {
        projectId: 3,
        projectName: '2023年Q3初核',
        description: '2023年第三季度纪检初核排查工作',
        createTime: '2023-07-01',
        status: '2',
        configType: 'default',
        targetCount: 450,
        highRiskCount: 0,
        mediumRiskCount: 18,
        lowRiskCount: 5,
        createBy: 'admin',
        createByName: '管理员'
      }
    ]
  })
}

// Mock数据：获取历史项目列表
export function getMockHistoryProjects() {
  return Promise.resolve({
    code: 200,
    data: [
      {
        projectId: 3,
        projectName: '2023年Q3初核',
        description: '2023年第三季度纪检初核排查工作',
        createTime: '2023-07-01',
        status: '2',
        targetCount: 450,
        warningCount: 18
      },
      {
        projectId: 4,
        projectName: '2023年Q2初核',
        description: '2023年第二季度纪检初核排查工作',
        createTime: '2023-04-01',
        status: '2',
        targetCount: 420,
        warningCount: 12
      }
    ]
  })
}

// 查询项目状态统计
export function getStatusCounts() {
  return request({
    url: '/ccdi/project/statusCounts',
    method: 'get'
  })
}
