package com.example.controller;
import com.example.common.Result;
import com.example.entity.Account;
import com.example.entity.ReserveInfo;
import com.example.entity.TeacherInfo;
import com.example.service.TeacherInfoService;
import com.example.vo.ReserveInfoVo;
import com.example.service.ReserveInfoService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
@RequestMapping(value = "/reserveInfo")
public class ReserveInfoController {
@Resource
private ReserveInfoService reserveInfoService;
@Resource
private TeacherInfoService teacherInfoService;
@PostMapping
public Result add(@RequestBody ReserveInfo info, HttpServletRequest request) {
// 新增时候只有发布者,有两种用户,管理员和非管理员
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
// 管理员新增,自动发布审核通过
if (user.getLevel() == 1) {
info.setPublishStatus("审核通过");
info.setPublishReason("符合要求");
info.setPublishId(user.getId());
info.setPublishVerifyName(user.getName());
} else {
// 其他人新增,默认未提交,等待发布人提交
info.setPublishStatus("未提交");
info.setPublishId(user.getId());
}
info.setPublishName(user.getName());
reserveInfoService.add(info);
return Result.success(info);
}
/** 发布者或者管理员编辑发布信息后提交 */
@PutMapping("/submit")
public Result updateSubmit(@RequestBody ReserveInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
ReserveInfo dbInfo = reserveInfoService.findById(info.getId());
if (!dbInfo.getPublishId().equals(user.getId()) || !dbInfo.getPublishName().equals(user.getName())) {
return Result.error("1001", "只能编辑自己发布的信息");
}
if (user.getLevel() == 1) {
info.setPublishStatus("审核通过");
info.setPublishReason("符合要求");
info.setPublishId(0L);
info.setPublishVerifyName(user.getName());
} else {
info.setPublishStatus("未提交");
info.setPublishVerifyName("");
info.setPublishReason("");
}
reserveInfoService.update(info);
return Result.success();
}
/** 更新审核内容,用户管理员审核按钮 */
@PutMapping("/verify")
public Result updateReserve(@RequestBody ReserveInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
// 扣费
Long reserveId = info.getReserveId();
TeacherInfo userInfo = teacherInfoService.findById(reserveId);
if (userInfo.getAccount() < Double.parseDouble(info.getPrice())) {
info.setPublishVerifyName(user.getName());
info.setReserveStatus("审核不通过");
info.setReserveReason("账户余额不足");
reserveInfoService.update(info);
return Result.error("1001", "余额不足");
}
userInfo.setAccount(userInfo.getAccount() - Double.parseDouble(info.getPrice()));
teacherInfoService.update(userInfo);
info.setPublishVerifyName(user.getName());
reserveInfoService.update(info);
// 更新一下父节点
info.setId(info.getParentId());
info.setParentId(0L);
reserveInfoService.update(info);
return Result.success();
}
/**
* 发布提交审核,专门处理发布
*/
@PostMapping("/submit")
public Result submit(@RequestBody ReserveInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
if (1 == user.getLevel()) {
// 如果是管理员发布审核,直接审核通过
info.setPublishStatus("审核通过");
info.setPublishVerifyName(user.getName());
info.setPublishReason("管理员发布自动审核通");
} else {
info.setPublishStatus("待审核");
info.setPublishId(user.getId());
info.setPublishVerifyName("");
info.setPublishReason("");
}
info.setPublishName(user.getName());
reserveInfoService.update(info);
return Result.success();
}
/**
* 预约提交审核,专门处理预约
*/
@PostMapping("/reserve")
public Result reserve(@RequestBody ReserveInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
ReserveInfo reserveInfo = reserveInfoService.findByReserveId(user.getId(), info.getId());
if (reserveInfo != null) {
return Result.error("1001", "请不要重复点击,耐心等待管理员审核,您可以在后台查看审核结果");
}
// 复制一份
ReserveInfo copyInfo = new ReserveInfo();
BeanUtils.copyProperties(info, copyInfo);
copyInfo.setParentId(info.getId());
copyInfo.setReserveStatus("待审核");
copyInfo.setReserveReason("");
copyInfo.setReserveName(user.getName());
copyInfo.setReserveId(user.getId());
copyInfo.setFileId(info.getFileId());
copyInfo.setFileName(info.getFileName());
copyInfo.setId(null);
reserveInfoService.add(copyInfo);
// 将原记录加个状态
info.setReserveStatus("待审核");
info.setReserveId(user.getId());
info.setReserveName(user.getName());
info.setFileId(null);
info.setFileName(null);
reserveInfoService.update(info);
return Result.success();
}
@DeleteMapping("/publish/{id}")
public Result deletePublish(@PathVariable Long id, HttpServletRequest request) {
ReserveInfo dbInfo = reserveInfoService.findById(id);
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
if (user.getLevel() != 1) {
// 非管理员只能删除自己的
if (!user.getId().equals(dbInfo.getPublishId()) || !user.getName().equals(dbInfo.getPublishName())) {
return Result.error("1001", "只能删除自己发布的信息");
}
}
reserveInfoService.delete(id);
return Result.success();
}
@DeleteMapping("/reserve/{id}")
public Result deleteReserve(@PathVariable Long id, HttpServletRequest request) {
ReserveInfo dbInfo = reserveInfoService.findById(id);
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
if (user.getLevel() != 1) {
// 非管理员只能删除�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、系统分为管理员和学生两个角色 2、登录注册功能 3、管理员录入四级和六级的报名信息,包含:考试名称、费用、考试时间 4、学生可以查看要报名的信息,可以选择四级或者六级进行在线缴费,管理员审核通过后,扣费成功 5、修改密码功能 6、系统公告 管理员可以查询已经报名的学生,六级报名查询下资格,四级过了能考六级。加一个承诺书协议,报名前进行一个学籍信息
资源推荐
资源详情
资源评论
收起资源包目录
Java springboot 英语四六级考试报名缴费系统 (358个子文件)
$PRODUCT_WORKSPACE_FILE$ 489B
AccountController.class 12KB
ReserveInfoController.class 9KB
AdminInfoController.class 8KB
TeacherInfoController.class 8KB
EchartsController.class 8KB
NxSystemFileController.class 8KB
AdvertiserInfoController.class 8KB
ReserveInfo.class 5KB
SubmitInfoController.class 5KB
MenuController.class 4KB
ReserveInfoService.class 4KB
TeacherInfoService.class 4KB
AdminInfoService.class 4KB
TeacherInfo.class 4KB
AdminInfo.class 3KB
AdvertiserInfoService.class 3KB
SubmitInfoService.class 3KB
SubmitInfo.class 3KB
Account.class 3KB
NxSystemFileInfoService.class 3KB
Result.class 2KB
EchartsData.class 2KB
ResultCode.class 2KB
MyInterceptor.class 2KB
GlobalExceptionHandler.class 2KB
EchartsData$Data.class 2KB
WebMvcConfig.class 2KB
AdvertiserInfo.class 2KB
EchartsData$Series.class 1KB
AuthorityInfo.class 1KB
MyInterceptorConfig.class 1KB
NxSystemFileInfo.class 1KB
AuthorityInfo$Model.class 1KB
CustomException.class 1KB
ReserveInfoDao.class 996B
TeacherInfoDao.class 930B
AdminInfoDao.class 920B
SubmitInfoDao.class 865B
Application.class 793B
NxSystemFileInfoDao.class 773B
AdvertiserInfoDao.class 649B
AdvertiserInfoVo.class 320B
TeacherInfoVo.class 308B
ReserveInfoVo.class 308B
SubmitInfoVo.class 304B
AdminInfoVo.class 300B
index.css 227KB
index.css 227KB
index.css 227KB
index.css 227KB
bootstrap.min.css 119KB
bootstrap.min.css 119KB
bootstrap.min.css 119KB
bootstrap.min.css 119KB
font-awesome.css 28KB
font-awesome.css 28KB
font-awesome.css 26KB
font-awesome.css 26KB
quill.snow.css 24KB
quill.snow.css 24KB
swiper.min.css 13KB
swiper.min.css 13KB
nav.css 2KB
nav.css 2KB
my.css 1KB
my.css 1KB
my.css 1KB
my.css 1KB
index.css 480B
index.css 480B
common.css 476B
common.css 476B
notice.css 475B
notice.css 475B
fontawesome-webfont.eot 55KB
fontawesome-webfont.eot 55KB
fontawesome-webfont.eot 55KB
fontawesome-webfont.eot 55KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
file-info 0B
file-info 0B
my.log.2021-05-24.0.gz 4KB
reserveInfo.html 41KB
reserveInfo.html 41KB
submitInfo.html 27KB
submitInfo.html 27KB
teacherInfo.html 20KB
teacherInfo.html 20KB
adminInfo.html 19KB
adminInfo.html 19KB
advertiserInfo.html 17KB
advertiserInfo.html 17KB
submitInfoDetail.html 14KB
submitInfoDetail.html 14KB
reserveInfoDetail.html 14KB
reserveInfoDetail.html 14KB
共 358 条
- 1
- 2
- 3
- 4
资源评论
- lisimmy2024-04-12这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
- ksmivp2024-02-12感谢大佬分享的资源,对我启发很大,给了我新的灵感。
- beyondreamer2023-06-01感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
- 涯石街无畏的生姜2022-06-13用户下载后在一定时间内未进行评价,系统默认好评。程序员入门进阶2022-08-20感谢支持
程序员入门进阶
- 粉丝: 2328
- 资源: 968
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功