package com.example.controller;
import com.example.common.Result;
import com.example.entity.Account;
import com.example.entity.ReserveInfo;
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;
@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.setLevel(user.getLevel());
info.setUserId(user.getId());
info.setUserName(user.getName());
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已失效,请重新登录");
}
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) {
// 非管理员只能删除自己的
if (!user.getId().equals(dbInfo.getReserveId()) || !user.getName().equals(dbInfo.getReserveName())) {
return Result.error("1001", "只能删除自己预约的信息");
}
}
reserveInfoService.delete(id);
return Result.success();
}
@GetMapping("/{id}")
public Result<ReserveInfo> detail(@PathVariable Long id) {
ReserveInfo info = reserveInfoService.findById(id);
return Result.success(info);
}
@GetMapping
public Result<List<ReserveInfoVo>> all() {
return Result.success(reserveInfoService.findAll());
}
@GetMapping("/page/{flag}")
publ
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java毕业设计,包含完整前后端源码带数据库,项目可正常运行。 环境说明: 开发语言:Java 前端框架:小程序 JDK版本:JDK1.8 数据库:mysql 5.7+ 部署容器:tomcat7+ 数据库工具:Navicat11+ 开发软件:eclipse/myeclipse/idea(推荐idea) Maven包:Maven3.3.9 环境说明: 开发语言:Java 前端框架:小程序 JDK版本:JDK1.8 数据库:mysql 5.7+ 部署容器:tomcat7+ 数据库工具:Navicat11+ 开发软件:eclipse/myeclipse/idea(推荐idea) Maven包:Maven3.3.9
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计之秋月堂茶座约茶平台的设计与实现源码.zip (380个子文件)
$PRODUCT_WORKSPACE_FILE$ 489B
AccountController.class 12KB
EchartsController.class 9KB
AdminInfoController.class 8KB
UserInfoController.class 8KB
ReserveInfoController.class 8KB
NxSystemFileController.class 8KB
AdvertiserInfoController.class 8KB
ChaguanInfoController.class 7KB
ReserveInfo.class 5KB
MenuController.class 5KB
ReserveInfoCommentService.class 4KB
ReserveInfoService.class 4KB
AdminInfoService.class 4KB
UserInfoService.class 4KB
ReserveInfoCommentController.class 4KB
AdminInfo.class 3KB
AdvertiserInfoService.class 3KB
UserInfo.class 3KB
ChaguanInfoService.class 3KB
Account.class 3KB
NxSystemFileInfoService.class 3KB
ReserveInfoPraiseService.class 2KB
Result.class 2KB
ReserveInfoPraiseController.class 2KB
EchartsData.class 2KB
ResultCode.class 2KB
ReserveInfoComment.class 2KB
MyInterceptor.class 2KB
ReserveInfoPraise.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
ReserveInfoCommentVo.class 1KB
AuthorityInfo$Model.class 1KB
CustomException.class 1KB
ChaguanInfo.class 1KB
ReserveInfoPraiseDao.class 1KB
ReserveInfoDao.class 996B
AdminInfoDao.class 920B
UserInfoDao.class 915B
ReserveInfoCommentDao.class 903B
Application.class 793B
NxSystemFileInfoDao.class 773B
ChaguanInfoDao.class 677B
AdvertiserInfoDao.class 649B
ReserveInfoVo.class 609B
ReserveInfoPraiseVo.class 332B
AdvertiserInfoVo.class 320B
ChaguanInfoVo.class 308B
AdminInfoVo.class 300B
UserInfoVo.class 296B
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
my.css 1KB
my.css 1KB
nav.css 1KB
nav.css 1KB
my.css 1KB
my.css 1KB
index.css 480B
index.css 480B
notice.css 475B
notice.css 475B
common.css 444B
common.css 444B
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
my.log.2021-03-10.0.gz 2KB
reserveInfo.html 41KB
reserveInfo.html 41KB
adminInfo.html 19KB
adminInfo.html 19KB
userInfo.html 19KB
userInfo.html 19KB
共 380 条
- 1
- 2
- 3
- 4
资源评论
大学生资源网
- 粉丝: 127
- 资源: 1334
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- Docker在Ubuntu16.04上安装和部署Apache Storm
- test_kong.zip
- springboot权限验证学习-下
- SeetaFace6人脸质量评估C++代码实现Demo
- OCAuxiliaryTools
- 制药公司QC顶岗实习专题报告
- Rust 全面指南:从基础到高级,一网打尽 Rust 的编程知识
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功