import request from '@/utils/request'

/**
 * 查询模型列表
 * @param {Object} query - 查询参数
 * @param {Number} query.projectId - 项目ID
 */
export function listModels(query) {
  return request({
    url: '/ccdi/modelParam/modelList',
    method: 'get',
    params: query
  })
}

/**
 * 查询模型参数列表
 * @param {Object} query - 查询参数
 * @param {Number} query.projectId - 项目ID
 * @param {String} query.modelCode - 模型编码
 */
export function listParams(query) {
  return request({
    url: '/ccdi/modelParam/list',
    method: 'get',
    params: query
  })
}

/**
 * 保存模型参数
 * @param {Object} data - 保存数据
 */
export function saveParams(data) {
  return request({
    url: '/ccdi/modelParam/save',
    method: 'post',
    data: data
  })
}

/**
 * 查询所有模型及其参数（按模型分组）
 * @param {Object} query - 查询参数
 * @param {Number} query.projectId - 项目ID（0表示全局配置）
 * @returns {Promise} 返回所有模型的参数配置
 */
export function listAllParams(query) {
  return request({
    url: '/ccdi/modelParam/listAll',
    method: 'get',
    params: query
  })
}

/**
 * 批量保存所有模型的参数修改
 * @param {Object} data - 保存数据
 * @param {Number} data.projectId - 项目ID
 * @param {Array} data.models - 模型参数列表
 * @returns {Promise}
 */
export function saveAllParams(data) {
  return request({
    url: '/ccdi/modelParam/saveAll',
    method: 'post',
    data: data
  })
}
