This commit is contained in:
ublue 2020-09-18 17:44:31 +08:00
parent 82114ebc49
commit fed98c0dad
7 changed files with 157 additions and 1 deletions

View File

@ -0,0 +1,11 @@
package com.codesdream.ase.model.chart;
import java.lang.String;
import java.util.List;
public class BarChart extends Chart{
public String[] x;
public String xname;
public String yname;
}

View File

@ -0,0 +1,13 @@
package com.codesdream.ase.model.chart;
import java.util.List;
import java.lang.String;
import lombok.Data;
@Data
public class Chart{
public double[] y;
public String title;
}

View File

@ -0,0 +1,8 @@
package com.codesdream.ase.model.chart;
import java.util.*;
import java.lang.String;
public class FanChart extends Chart{
public String[] x;
}

View File

@ -0,0 +1,9 @@
package com.codesdream.ase.model.chart;
import java.lang.String;
public class Form {
public String title;
public String[][] body;
}

View File

@ -0,0 +1,9 @@
package com.codesdream.ase.model.chart;
import java.lang.String;
import java.util.List;
public class LineChart extends Chart{
public double[] x;
public String xname;
public String yname;
}

View File

@ -33,7 +33,7 @@ public class ParentService {
* @param studentId 学生ID
* @param parentId 家长id一般为家长的电话
* @param parentName 家长姓名
* @return 创建的家长实体
* @return 创建的家长
*/
public Parent createParent(int studentId, int parentId, String parentName){

View File

@ -0,0 +1,106 @@
package com.codesdream.ase.service;
import com.codesdream.ase.exception.innerservererror.InvalidDataException;
import com.codesdream.ase.model.chart.BarChart;
import com.codesdream.ase.model.chart.LineChart;
import com.codesdream.ase.model.chart.FanChart;
import com.codesdream.ase.model.chart.Chart;
import com.codesdream.ase.model.chart.Form;
import org.springframework.stereotype.Service;
import java.lang.*;
@Service
public class VisualService {
/**
* 用于创建条形统计图的数据表
* @author gzq
* @param data 一个表格第一行为x第二行为y,(只有两行每行列数相同类型为string)
* @param xname x坐标名称
* @param yname y坐标名称
* @return 创建的数据表对象
*/
public BarChart createBarChart(Form data,String xname,String yname){
BarChart r=new BarChart();
r.title= data.title;
r.xname=xname;
r.yname=yname;
if(data.body.length!=2){
throw new InvalidDataException( "表格行数只能为2");
}
int len=data.body[0].length;
try{
for(int i=0;i<len;i++){
r.x[i]=data.body[0][i];
r.y[i]=Double.parseDouble(data.body[1][i]);
}
}catch (Exception e){
e.printStackTrace();
}
return r;
}
/**
* 用于创建折线统计图的数据表
* @author gzq
* @param data 一个表格第一行为x第二行为y,(只有两行每行列数相同类型为string)
* @param xname x坐标名称
* @param yname y坐标名称
* @return 创建的数据表对象
*/
public LineChart createLineChart(Form data,String xname,String yname){
LineChart r=new LineChart();
r.title=data.title;
r.xname=xname;
r.yname=yname;
if(data.body.length!=2){
throw new InvalidDataException( "表格行数只能为2");
}
int len=data.body[0].length;
try{
for(int i=0;i<len;i++){
r.x[i]=Double.parseDouble(data.body[0][i]);
r.y[i]=Double.parseDouble(data.body[1][i]);
}
}catch (Exception e){
e.printStackTrace();
}
return r;
}
/**
* 用于创建扇形统计图的数据表
* @author gzq
* @param data 一个表格第一行为x第二行为y,(只有两行每行列数相同类型为stringy之和为100)
* @return 创建的数据表对象
*/
public FanChart createFanChart(Form data){
FanChart r=new FanChart();
r.title= data.title;
if(data.body.length!=2){
throw new InvalidDataException( "表格行数只能为2");
}
int len=data.body[0].length;
try{
for(int i=0;i<len;i++){
r.x[i]=data.body[0][i];
r.y[i]=Double.parseDouble(data.body[1][i]);
}
}catch (Exception e){
e.printStackTrace();
}
return r;
}
}