校园小助手–智慧成绩统计服务平台

校园小助手–智慧成绩统计服务平台

校园小助手–智慧成绩统计服务平台

API文档

接口总地址: http://120.78.188.40:8080/

基本功能

登录

url:/login

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名
password String 密码

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息

image-20210726194026062

image-20210726194033982

注册

url:/register

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名
password String 密码
email String 邮箱

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "注册成功!我们已经向您的邮箱发送了邮件,请您及时进行查收。由于网络原因,您收到邮件的时间存在延迟,敬请谅解~");
map.put("code", 0);
map.put("msg", "注册失败!");

忘记密码

url:/resetPassword

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名
password String 密码

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "重置成功!");

map.put("code", 0);
map.put("msg", "重置失败!");

用户

用户接口:/user

修改密码

url:/updatePassword

请求方式:post/get

请求参数

名称 类型 必填 说明
password String 密码

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "修改成功!");

map.put("code", 0);
map.put("msg", "修改失败!");

更新用户资料

url:/updateUser

请求方式:post/get

请求参数

名称 类型 必填 说明
name String 姓名
college String 所属学院
email String 邮箱

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "修改成功!");

map.put("code", 0);
map.put("msg", "修改失败!");

验证原密码

用于修改密码时,判断用户输入是否为正确的原密码

url:/verifyPassword

请求方式:post/get

请求参数

名称 类型 必填 说明
password String 原密码

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "原密码正确!");

map.put("code", 0);
map.put("msg", "原密码不正确!");

注销

url:/logout

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "注销成功!");

获取用户

用于修改用户资料,进行表单回显

url:/getUser

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
user User 用户实体
public class User {
   
    private String id;
    private String username;//不可修改,表单展示
    private String password;
    private String name;//表单展示
    private String college;//表单展示
    //存放文件地址
    private String filePath;//不可修改,表单展示
    private String email;//表单展示
    //存储容量
    private int storageCapacity;//不可修改,表单展示
}

验证

验证码接口:/captcha

图片

url:/codeImage

请求方式:post/get

注意:

点击验证码图片换验证码时,img 标签 的 onclick 事件里面做的就是改变 img 标签的 src 属性,所以要给 url 带一个随机数,这样每次点击验证码图片时,都会由于 src 改变而重新请求。

$('#codeImg').attr('src',"/kaptcha/codeImage?"+ new Date().getTime());

验证码

url:/code

请求方式:post/get

返回参数

名称 类型 说明
captchaCode String 验证码

邮箱验证码

url:/email

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名
email String 邮箱

返回参数

名称 类型 说明
emailCode String 邮箱验证码

验证用户名是否重复

用于注册时,保证用户名唯一

url:/verifyUsername

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "该用户名可使用!");

map.put("code", 0);
map.put("msg", "该用户名已存在!");

验证邮箱是否属于用户

url:/verifyEmail

请求方式:post/get

请求参数

名称 类型 必填 说明
username String 用户名
email String 邮箱

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "邮箱正确!");

map.put("code", 0);
map.put("msg", "该邮箱不属于该账号!请重新输入!");

文件

文件接口:/user/file

上传

url:/upload

请求方式:post

<div class="a">
    <p>上传文件</p>
    <form action="/file/upload" enctype="multipart/form-data" method="post">
        <input type="file" name="file">
        <input type="submit" value="上传">
    </form>
</div>

请求参数

名称 类型 必填 说明
file CommonsMultipartFile 文件

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "上传失败!总存储容量超出50MB,请清理无用的文件");

map.put("code", 0);
map.put("msg", "上传失败!文件类型不符合");

map.put("code", 200);
map.put("msg", "上传成功!");

下载

url:/download

请求方式:post/get

请求参数

名称 类型 必填 说明
id String 文件id

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "下载成功!");

删除

url:/delete

请求方式:post/get

请求参数

名称 类型 必填 说明
id String 文件id

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "删除成功!");
map.put("code", 0);
map.put("msg", "删除失败!文件不存在");

重命名

url:/rename

请求方式:post/get

请求参数

名称 类型 必填 说明
id String 文件id
newName String 新文件名

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "重命名成功!");
map.put("code", 0);
map.put("msg", "重命名失败!文件不存在");

获取文件集合

url:/getFileList

请求方式:post/get

请求参数

名称 类型 必填 说明
currentPage Integer 当前页
pageSize Integer 页面大小

如果不需要分页,可以不需要传参

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
data List<File> 文件信息集合
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("data",files);
private String id;//展示
private String userId;
private String name;//展示
private String filePath;
private int size;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//页面写入数据库时格式化
@JSONField(format = "yyyy-MM-dd HH:mm:ss")//数据库导出页面时json格式化
private Date updateTime;//展示
private String showSize;//展示

Excel操作

接口:/user/excel

导入配置文件

url:/importPlanConfig

请求方式:post/get

请求参数

名称 类型 必填 说明
fileName String 文件名

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "已经导入配置文件,请勿重新导入!");
map.put("code", 200);
map.put("msg", "导入配置文件成功!");
map.put("code", 0);
map.put("msg", "导入配置文件失败!请重新导入!");

导入更新的配置文件

url:/importUpdatePlanConfig

请求方式:post/get

请求参数

名称 类型 必填 说明
fileName String 文件名

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "已经导入更新的配置文件,请勿重新导入!");
map.put("code", 200);
map.put("msg", "导入配置文件成功!");
map.put("code", 0);
map.put("msg", "导入配置文件失败!请重新导入!");

导入专业成绩文件

用于数据处理模块

url:/importStudentCourseResultInfo

请求方式:post/get

请求参数

名称 类型 必填 说明
fileName String 文件名
grade String 从配置文件的筛选条件中的年级获取

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "未导入配置文件,请先导入配置文件!");
map.put("code", 0);
map.put("msg", "已经导入专业成绩文件,请勿重新导入!");
map.put("code", 200);
map.put("msg", "导入专业成绩文件成功!");
map.put("code", 0);
map.put("msg", "导入专业成绩文件失败!请重新导入!");

导入专业成绩文件

用于更新配置文件模块

url:/importAllStudentCourseResultInfo

请求方式:post/get

请求参数

名称 类型 必填 说明
fileName String 文件名

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "未导入配置文件,请先导入配置文件!");
map.put("code", 0);
map.put("msg", "已经导入专业成绩文件,请勿重新导入!");
map.put("code", 200);
map.put("msg", "导入专业成绩文件成功!");
map.put("code", 0);
map.put("msg", "导入专业成绩文件失败!请重新导入!");

获得年级筛选条件

url:/getFilterGrade

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
grade List<String> 年级列表
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("grade", filterGrade);

获得学期筛选条件

url:/getFilterSemester

请求方式:post/get

请求参数

名称 类型 必填 说明
grade String 从配置文件的筛选条件中的年级获取

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
semester List<String> 学期列表
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("semester", filterSemester);

更新配置文件

url:/updatePlanConfigure

请求方式:post/get

请求参数

名称 类型 必填 说明
grade String 筛选年级
semesters String[] 筛选学期

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "配置文件更新完成!请在文件列表中下载后核对!");

数据处理

url:/dataProcessing

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "数据处理完成!");
map.put("code", 0);
map.put("msg", "数据处理失败!");

清空配置文件

url:/emptyPlanConfigure

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "专业配置文件数据已清空!请重新导入!");

清空更新的配置文件

url:/emptyUpdatePlanConfigure

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "更新的配置文件数据已清空!请重新导入!");

清空成绩文件

url:/emptyProfessionalScore

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 200);
map.put("msg", "专业成绩文件数据已清空!请重新导入!");

通过关键词搜索学生成绩情况

url:/searchStudent

请求方式:post/get

请求参数

名称 类型 必填 说明
keyword String 关键词

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
data List<StudentOverallResultInfo> 学生信息集合
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 0);
map.put("msg", "未输入任何关键字!");
map.put("code", 0);
map.put("msg", "未找到任何符合条件的记录!");
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("data", studentOverallResultInfos);
public class StudentOverallResultInfo {
   
    @ExcelProperty("学号")
    private String studentId;//展示
    @ExcelProperty("姓名")
    private String name;//展示
    @ExcelProperty("班级")
    private String clazz;//展示
    @ExcelProperty("专业")
    private String professional;//展示
    /** * 修习类别与对应已获得学分 */
    private Map<CourseType, Double> earnedCreditsMap;
    /** * 修习类别是否通过 */
    private Map<CourseType, String> flagMap = new HashMap<>();
    /** * 修习类别对应的课程成绩 */
    private Map<CourseType, List<StudentCourseScoreInfo>> courseScoreInfoMap;

    /** * 每个学期对应的平均绩点 */
    private Map<String, Double> gradePointMap;
    /** * 每种修习类别未修过课程 */
    private Map<CourseType, List<Course>> unrepairedCourseMap;

    /** * 课程对应是否通过 */
    private Map<Course, Boolean> flagCourseMap;
    /** * 判断该学生是否合格 */
    private boolean qualified;//展示

    /** * 平均绩点 */
    private Double gradePointAverage = 0.0;//展示

    /** * 专业排名 */
    private Integer rank = 0;  //展示
}

根据学生id获取修习情况

url:/getStudentPracticeInfo

请求方式:post/get

请求参数

名称 类型 必填 说明
id String 学号

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
data List<StudentPracticeInfo> 学生修习情况集合
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("data", studentPracticeInfoById);
//全部展示
public class StudentPracticeInfo {
   
    @ColumnWidth(11)
    @ExcelProperty("修习类别")
    private String practiceCategory;
    @ColumnWidth(7)
    @ExcelProperty("学分要求")
    private Double credits;
    @ColumnWidth(9)
    @ExcelProperty("已获得学分")
    private Double earnedCredits;
    @ColumnWidth(9)
    @ExcelProperty("所差学分")
    private Double poorCredits;
    @ColumnWidth(7)
    @ExcelProperty("是否通过")
    private String flag;
}

导出学生成绩信息

url:/exportStudent

请求方式:post/get

请求参数

名称 类型 必填 说明
id String 学号

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "导出成功!请在文件列表中下载");

获取专业成绩总体分析结果

url:/getPracticeCategoryStatisticsInfo

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
data List<PracticeCategoryStatisticsInfo> 学生修习情况集合
map.put("code", 200);
map.put("msg", "获取成功!");
map.put("data", excelServiceImpl.getPracticeCategoryStatisticsInfoList());
public class PracticeCategoryStatisticsInfo {
   
    @ExcelProperty("修习类别")
    private String practiceCategory;
    @ExcelProperty("学分要求")
    private Double credits;
    @ExcelProperty("通过人数")
    private Integer passCount;
}

导出全体学生成绩分析

url:/exportAllStudentResults

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "导出成功!请在文件列表中下载");

导出不合格学生成绩分析

url:/exportOfUnqualifiedStudentResults

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "导出成功!请在文件列表中下载");

导出专业排名分析

url:/exportProfessionalRankings

请求方式:post/get

返回参数

名称 类型 说明
code int 状态码(成功:200,失败:0)
msg String 返回信息
map.put("code", 0);
map.put("msg", "还未导入更新的配置文件或专业成绩文件!");
map.put("code", 200);
map.put("msg", "导出成功!请在文件列表中下载");
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114419.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月7日 上午11:00
下一篇 2021年10月7日 下午12:00


相关推荐

  • 基本数据类型与表达式6 – 零基础入门学习Delphi07

    基本数据类型与表达式6 – 零基础入门学习Delphi07

    2021年8月13日
    61
  • 金融大数据平台建设_智慧银行数字化运营大赛

    金融大数据平台建设_智慧银行数字化运营大赛来源:方案经理选编:秀方案网https://www.fangan100.com/fangan/1213.html互联网金融的本质是金融,核心是数据,载体是平台,关键是客户体验,发展趋势是互联网与金融的深度融合,要提升大数据贡献度。探索银行业务创新,实现数据资源的综合应用、深度应用,已成为提升企业核心竞争力,实现企业信息化可持续发展的关键途径。大数据技术在银行业的应用范围包括:客户洞察、营销…

    2022年5月3日
    69
  • 快速幂的大数运算_快速幂模

    快速幂的大数运算_快速幂模快速幂运算1.什么是快速幂2.快速幂的“小数”运算3.高精度(大数)的快速幂1.什么是快速幂快速幂,是指在进行幂运算的时候,用一种快速方法得出答案。比如,要求2^100的值,那按照最简单的方式,就是一个一个2去相乘,然后最终得到答案,那么这样就要计算100次,非常浪费时间,那么快速幂就是使用一种技巧使得将其计算次数减少,快速得到答案。2.快速幂的“小数”运算对于系统内置类型的整型,暂且叫他“小数”,这个时候进行快速幂运算,代码如下:#include<cstdio>#include&l

    2025年7月14日
    5
  • openssl安装方式(Ubuntu下)

    openssl安装方式官方网站1、解压2、编译安装3、生成软连接4、测试官方网站https://www.openssl.org/source/1、解压我这里安装的版本时1.0.2,其实都一样,默认版本是1.1.1拿到源码后先解压源码文件openssl-1.0.2u.tar.gz2、编译安装进入源码目录:cdopenssl-1.0.2u指定安装路径编译安装sudo./config–prefix=/usr/local/opensslsudomake

    2022年4月7日
    298
  • 多线程面试题(值得收藏)「建议收藏」

    多线程面试题(值得收藏)「建议收藏」史上最强多线程面试47题(含答案),建议收藏金九银十快到了,即将进入找工作的高峰期,最新整理的最全多线程并发面试47题和答案总结,希望对想进BAT的同学有帮助,由于篇幅较长,建议收藏后细看~1、并发编程三要素?1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修…

    2022年6月6日
    30
  • idea 2021激活码【永久激活】

    (idea 2021激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlWK…

    2022年3月22日
    289

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号