2026/2/16 0:26:42
网站建设
项目流程
新会住房和城乡建设部网站,h5开发app用什么框架,百度seo泛解析代发排名,四平网站建设哪家效果好大家好#xff0c;我是锋哥#xff0c;看到一个不错的SpringBootVue学生作业管理系统#xff0c;分享下哈。项目介绍这次开发的作业管理系统有管理员#xff0c;教师#xff0c;学生三个角色。教师和学生都可以进行注册然后再登录。学生可以修改自己的密码#xff0c;查看…大家好我是锋哥看到一个不错的SpringBootVue学生作业管理系统分享下哈。项目介绍这次开发的作业管理系统有管理员教师学生三个角色。教师和学生都可以进行注册然后再登录。学生可以修改自己的密码查看和下载作业信息并且可以提交自己写好的作业并且可以管理自己提交的作业还可以对教师对自己的作业点评进行查看。教师可以发布作业对学生提交的作业进行点评。经过前面自己查阅的网络知识加上自己在学校课堂上学习的知识决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问采用的主流的Java语言这种面向对象的语言进行作业管理系统程序的开发在数据库的选择上面选择功能强大的MySQL数据库进行数据的存放操作。作业管理系统被人们投放于现在的生活中进行使用该款管理类软件就可以让管理人员处理信息的时间介于十几秒之间。在这十几秒内就能完成信息的编辑等操作。有了这样的管理软件作业管理信息的管理就离无纸化办公的目标更贴近了。源码下载链接https://pan.baidu.com/s/1S9QHwe3W0X3G-F9jom6NWQ提取码1234系统展示核心代码package com.controller; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baidu.aip.face.AipFace; import com.baidu.aip.face.MatchRequest; import com.baidu.aip.util.Base64Util; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.entity.ConfigEntity; import com.service.CommonService; import com.service.ConfigService; import com.utils.BaiduUtil; import com.utils.FileUtil; import com.utils.R; /** * 通用接口 */ RestController public class CommonController{ Autowired private CommonService commonService; Autowired private ConfigService configService; private static AipFace client null; private static String BAIDU_DITU_AK null; RequestMapping(/location) public R location(String lng,String lat) { if(BAIDU_DITU_AKnull) { BAIDU_DITU_AK configService.selectOne(new EntityWrapperConfigEntity().eq(name, baidu_ditu_ak)).getValue(); if(BAIDU_DITU_AKnull) { return R.error(请在配置管理中正确配置baidu_ditu_ak); } } MapString, String map BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat); return R.ok().put(data, map); } /** * 人脸比对 * * param face1 人脸1 * param face2 人脸2 * return */ RequestMapping(/matchFace) public R matchFace(String face1, String face2) { if(clientnull) { /*String AppID configService.selectOne(new EntityWrapperConfigEntity().eq(name, AppID)).getValue();*/ String APIKey configService.selectOne(new EntityWrapperConfigEntity().eq(name, APIKey)).getValue(); String SecretKey configService.selectOne(new EntityWrapperConfigEntity().eq(name, SecretKey)).getValue(); String token BaiduUtil.getAuth(APIKey, SecretKey); if(tokennull) { return R.error(请在配置管理中正确配置APIKey和SecretKey); } client new AipFace(null, APIKey, SecretKey); client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); } JSONObject res null; try { File file1 new File(ResourceUtils.getFile(classpath:static/upload).getAbsolutePath()/face1); File file2 new File(ResourceUtils.getFile(classpath:static/upload).getAbsolutePath()/face2); String img1 Base64Util.encode(FileUtil.FileToByte(file1)); String img2 Base64Util.encode(FileUtil.FileToByte(file2)); MatchRequest req1 new MatchRequest(img1, BASE64); MatchRequest req2 new MatchRequest(img2, BASE64); ArrayListMatchRequest requests new ArrayListMatchRequest(); requests.add(req1); requests.add(req2); res client.match(requests); System.out.println(res.get(result)); } catch (FileNotFoundException e) { e.printStackTrace(); return R.error(文件不存在); } catch (IOException e) { e.printStackTrace(); } return R.ok().put(data, com.alibaba.fastjson.JSONObject.parse(res.get(result).toString())); } /** * 获取table表中的column列表(联动接口) * param table * param column * return */ IgnoreAuth RequestMapping(/option/{tableName}/{columnName}) public R getOption(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName,String level,String parent) { MapString, Object params new HashMapString, Object(); params.put(table, tableName); params.put(column, columnName); if(StringUtils.isNotBlank(level)) { params.put(level, level); } if(StringUtils.isNotBlank(parent)) { params.put(parent, parent); } ListString data commonService.getOption(params); return R.ok().put(data, data); } /** * 根据table中的column获取单条记录 * param table * param column * return */ IgnoreAuth RequestMapping(/follow/{tableName}/{columnName}) public R getFollowByOption(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName, RequestParam String columnValue) { MapString, Object params new HashMapString, Object(); params.put(table, tableName); params.put(column, columnName); params.put(columnValue, columnValue); MapString, Object result commonService.getFollowByOption(params); return R.ok().put(data, result); } /** * 修改table表的sfsh状态 * param table * param map * return */ RequestMapping(/sh/{tableName}) public R sh(PathVariable(tableName) String tableName, RequestBody MapString, Object map) { map.put(table, tableName); commonService.sh(map); return R.ok(); } /** * 获取需要提醒的记录数 * param tableName * param columnName * param type 1:数字 2:日期 * param map * return */ IgnoreAuth RequestMapping(/remind/{tableName}/{columnName}/{type}) public R remindCount(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName, PathVariable(type) String type,RequestParam MapString, Object map) { map.put(table, tableName); map.put(column, columnName); map.put(type, type); if(type.equals(2)) { SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); Calendar c Calendar.getInstance(); Date remindStartDate null; Date remindEndDate null; if(map.get(remindstart)!null) { Integer remindStart Integer.parseInt(map.get(remindstart).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate c.getTime(); map.put(remindstart, sdf.format(remindStartDate)); } if(map.get(remindend)!null) { Integer remindEnd Integer.parseInt(map.get(remindend).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate c.getTime(); map.put(remindend, sdf.format(remindEndDate)); } } int count commonService.remindCount(map); return R.ok().put(count, count); } /** * 单列求和 */ IgnoreAuth RequestMapping(/cal/{tableName}/{columnName}) public R cal(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName) { MapString, Object params new HashMapString, Object(); params.put(table, tableName); params.put(column, columnName); MapString, Object result commonService.selectCal(params); return R.ok().put(data, result); } /** * 分组统计 */ IgnoreAuth RequestMapping(/group/{tableName}/{columnName}) public R group(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName) { MapString, Object params new HashMapString, Object(); params.put(table, tableName); params.put(column, columnName); ListMapString, Object result commonService.selectGroup(params); SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); for(MapString, Object m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); } } } return R.ok().put(data, result); } /** * 按值统计 */ IgnoreAuth RequestMapping(/value/{tableName}/{xColumnName}/{yColumnName}) public R value(PathVariable(tableName) String tableName, PathVariable(yColumnName) String yColumnName, PathVariable(xColumnName) String xColumnName) { MapString, Object params new HashMapString, Object(); params.put(table, tableName); params.put(xColumn, xColumnName); params.put(yColumn, yColumnName); ListMapString, Object result commonService.selectValue(params); SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); for(MapString, Object m : result) { for(String k : m.keySet()) { if(m.get(k) instanceof Date) { m.put(k, sdf.format((Date)m.get(k))); } } } return R.ok().put(data, result); } }