import request, { Response } from '~/api/request';

export interface ListPublishPageParams {
  cityCode?: number;
  date?: string;
  districtCode?: number;
  pageNo: number;
  pageSize: number;
  provinceCode?: number;
}

export interface ListPublishPageResp {
  pageNo: number;
  pageSize: number;
  list: Item[];
  totalCount: number;
  totalPage: number;
}

export interface Item {
  id: number;
  requirementTypeId: number;
  userAccountId: number;
  publishName: string;
  publishPhone: string;
  requireDescription: string;
  requirementTypeName: string;
  solved?: 0 | 1;
  createTime: string;
  updateTime?: string;
}

export interface SolveRequireParams {
  requirementsInfoId: number, //需求id
}


export default {
  /**
   * 需求发布列表
   * @param params 
   * @returns 
   */
  listPublishPage(params: ListPublishPageParams, options = {}): Promise<Response<ListPublishPageResp>> {
    return request('/release/requirements/listPublishPage', 'post', params, options);
  },
  /**
   * 需求已解决
   * @param params 
   * @returns 
   */
  solveRequire(params: SolveRequireParams): Promise<Response<null>>{
    return request('/release/requirements/solveRequire', 'get', params);
  }
}