import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { environment } from '../../../../../environments/environment'; import { MatResponse } from '../../../../shared/shared.model'; import { Analysis } from './analysis.model'; @Injectable() export class AnalysisService { constructor(private http: HttpClient) { } getAnalysisList(pageNum: number = 1, pageSize: number = 10) { const params = { pageNum: `${pageNum}`, pageSize: `${pageSize}` }; return this.http.get(`${environment.url}/analysis/currentUser`, { params }); } addAnalysis(body: Analysis) { return this.http.post(`${environment.url}/analysis`, body); } updateAnalysis(id: number, body: Analysis) { return this.http.put(`${environment.url}/analysis/${id}`, body); } deleteAnalysis(ids: any) { return this.http.delete(`${environment.url}/analysis/${ids}`); } getAnalysis(id: number) { return this.http.get(`${environment.url}/analysis/${id}`); } /** * 从数据分析中删除数据记录 * @param analysisId 数据分析id * @param uuids 与用户关联的数据记录id */ deleteRecordFromAnalysis(analysisId: number, uuids: string[]) { return this.http.post(`${environment.url}/analysis/${analysisId}/unbindrecord`, uuids); } /** * 图表分析配置 * @param analysisId 数据分析id * @param tableId 所属表格id */ getChartAttr(analysisId: number, tableId: number) { return this.http.get(`${environment.url}/analysis/${analysisId}/chart/attr`, { params: { tableId: `${tableId}` } }); } /** * 图表分析表格数据 * @param analysisId 数据分析id * @param x x轴属性id * @param y y轴属性ids * @param uuids 选中的数据记录 */ getGraphChartResult(analysisId: number, x: number, y: any[], uuids: string[]) { return this.http.post(`${environment.url}/analysis/${analysisId}/chart/graph/${x}/${y}`, uuids); } /** * 图表分析非表格数据 * @param analysisId 数据分析id * @param x x轴属性id * @param y y轴属性ids * @param uuids 选中的数据记录 */ getLineChartResult(analysisId: number, x: number, y: any[], uuids: string[]) { return this.http.post(`${environment.url}/analysis/${analysisId}/chart/lineScatter/${x}/${y}`, uuids); } }