package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.XueshengEntity;
import com.entity.view.XueshengView;
import com.service.XueshengService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 学生
* 后端接口
* @author
* @email
* @date 2021-05-03 11:24:10
*/
@RestController
@RequestMapping("/xuesheng")
public class XueshengController {
@Autowired
private XueshengService xueshengService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"xuesheng", "学生" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody XueshengEntity xuesheng){
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
xuesheng.setId(uId);
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
XueshengEntity user = xueshengService.selectById(id);
return R.ok().put("data", user);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", username));
if(user==null) {
return R.error("账号不存在");
}
user.setMima("123456");
xueshengService.updateById(user);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( XueshengEntity xuesheng){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng"));
return R.ok().put("data", xueshengService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(XueshengEntity xuesheng){
EntityWrapper< XueshengEntity> ew = new EntityWrapper< XueshengEntity>();
ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng"));
XueshengView xueshengView = xueshengService.selectView(ew);
return R.ok("查询学生成功").put("data", xueshengView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
XueshengEntity xuesheng = xueshengService.selectById(id);
return R.ok().put("data", xuesheng);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
XueshengEntity xuesheng = xueshengService.selectById(id);
return R.ok().put("data", xuesheng);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()));
if(user!=null) {
return R.error("用户已存在");
}
xuesheng.setId(new Date().getTime());
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()));
if(user!=null) {
return R.error("用户已存在");
}
xuesheng.setId(new Date().getTime());
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
//ValidatorUtils.validateEntity(xuesheng);
xueshengService.updateById(xuesheng);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
xueshengService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
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 remindEndD
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
大学生竞赛管理系统源码(高分毕设),个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码[代码]、该项目可以直接作为毕设使用。项目技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 系统源码(高分毕设),个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码[代码]、该项目可以直接作为毕设使用。项目技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug! 系统源码(高分毕设),个人经导师指导并认可通过的98分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码[代码]、该项目可以直接作为毕设使用。项目技术栈:前端是vue,后端是springboot,项目代码都经过严格调试,代码没有任何bug!
资源推荐
资源详情
资源评论
收起资源包目录
基于Springboot和Vue的大学生竞赛管理系统源码 大学生竞赛管理系统代码(高分优秀毕业设计) (390个子文件)
update-password.vue.bak 3KB
IndexAsideStatic.vue.bak 2KB
BreadCrumbs.vue.bak 2KB
IndexHeader.vue.bak 2KB
3-build.bat 15B
2-run.bat 14B
1-install.bat 12B
.classpath 2KB
mvnw.cmd 7KB
app.fbddeac7.css 247KB
chunk-vendors.0fdd4e14.css 37KB
必读推荐.docx 15KB
.factorypath 15KB
.gitignore 364B
index.html 924B
index.html 552B
favicon.ico 4KB
favicon.ico 4KB
maven-wrapper.jar 50KB
XueshengController.java 9KB
JiaoshiController.java 9KB
CommonController.java 8KB
JingsaibaomingController.java 7KB
ZuopindafenController.java 7KB
JingsaixinxiController.java 7KB
BanjileixingController.java 7KB
JingsaibaomingEntity.java 6KB
MPUtil.java 5KB
UserController.java 5KB
MavenWrapperDownloader.java 5KB
JingsaixinxiEntity.java 5KB
JingsaibaomingModel.java 5KB
JingsaibaomingVO.java 5KB
ZuopindafenEntity.java 5KB
JiaoshiEntity.java 4KB
XueshengEntity.java 4KB
BaiduUtil.java 4KB
FileController.java 4KB
JingsaixinxiModel.java 4KB
JingsaixinxiVO.java 3KB
ZuopindafenModel.java 3KB
AuthorizationInterceptor.java 3KB
ZuopindafenVO.java 3KB
ConfigController.java 3KB
JiaoshiModel.java 3KB
XueshengModel.java 3KB
JiaoshiVO.java 3KB
XueshengVO.java 3KB
Query.java 3KB
TokenServiceImpl.java 2KB
TokenEntity.java 2KB
JingsaibaomingServiceImpl.java 2KB
BanjileixingEntity.java 2KB
BanjileixingServiceImpl.java 2KB
JingsaixinxiServiceImpl.java 2KB
PageUtils.java 2KB
ZuopindafenServiceImpl.java 2KB
XueshengServiceImpl.java 2KB
JiaoshiServiceImpl.java 2KB
InterceptorConfig.java 1KB
UserServiceImpl.java 1KB
CommonServiceImpl.java 1KB
UserEntity.java 1KB
SpringContextUtils.java 1KB
ValidatorUtils.java 1KB
JingsaibaomingService.java 1KB
SQLFilter.java 1KB
JingsaixinxiService.java 1KB
BanjileixingService.java 1KB
JingsaibaomingDao.java 1KB
ZuopindafenService.java 1KB
HttpClientUtils.java 1013B
BanjileixingDao.java 1004B
JingsaixinxiDao.java 1004B
ZuopindafenDao.java 989B
XueshengService.java 978B
JiaoshiService.java 964B
JingsaibaomingView.java 964B
BanjileixingView.java 946B
JingsaixinxiView.java 946B
XueshengDao.java 938B
ZuopindafenView.java 937B
JiaoshiDao.java 923B
XueshengView.java 904B
ConfigServiceImpl.java 895B
JiaoshiView.java 895B
R.java 884B
ConfigEntity.java 851B
EIException.java 845B
SpringbootSchemaApplication.java 802B
JQPageInfo.java 790B
BanjileixingModel.java 696B
TokenService.java 684B
FileUtil.java 680B
CommonDao.java 622B
UserService.java 597B
BanjileixingVO.java 596B
CommonUtil.java 566B
TokenDao.java 560B
UserDao.java 554B
共 390 条
- 1
- 2
- 3
- 4
资源评论
伟庭大师兄
- 粉丝: 4w+
- 资源: 5341
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python数字聚焦纹影系统算法及软件源码
- sssdddsasdhlkhasdkskfjkass
- NoSQL数据库实习头歌实验知识点整理(一)-Linux部分
- NoSQL数据库实习头歌实验知识点整理(二)-MongoDB部分
- 升讯威在线客服与营销系统 1.15.5.0
- HengCe-18900-2024-2030中国风电齿轮箱市场现状研究分析与发展前景预测报告-样本.docx
- HengCe-18900-2024-2030全球与中国微生物检测市场现状及未来发展趋势-样本.docx
- HengCe-18900-2024-2030全球与中国电子制造服务市场现状及未来发展趋势-样本.docx
- 洛谷 入门与面试(Basic题)-2024.11.01(C).pdf
- 基于MAMbaS+transformer时间序列预测模型(Python完整源码和数据)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功