package com.example.controller;
import com.example.common.Result;
import com.example.entity.Account;
import com.example.entity.PeixunInfo;
import com.example.vo.PeixunInfoVo;
import com.example.service.PeixunInfoService;
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 = "/peixunInfo")
public class PeixunInfoController {
@Resource
private PeixunInfoService peixunInfoService;
@PostMapping
public Result add(@RequestBody PeixunInfo 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());
peixunInfoService.add(info);
return Result.success(info);
}
/** 发布者或者管理员编辑发布信息后提交 */
@PutMapping("/submit")
public Result updateSubmit(@RequestBody PeixunInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
PeixunInfo dbInfo = peixunInfoService.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("");
}
peixunInfoService.update(info);
return Result.success();
}
/** 更新审核内容,用户管理员审核按钮 */
@PutMapping("/verify")
public Result updateReserve(@RequestBody PeixunInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
info.setPublishVerifyName(user.getName());
peixunInfoService.update(info);
// 更新一下父节点
info.setId(info.getParentId());
info.setParentId(0L);
peixunInfoService.update(info);
return Result.success();
}
/**
* 发布提交审核,专门处理发布
*/
@PostMapping("/submit")
public Result submit(@RequestBody PeixunInfo 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());
peixunInfoService.update(info);
return Result.success();
}
/**
* 预约提交审核,专门处理预约
*/
@PostMapping("/reserve")
public Result reserve(@RequestBody PeixunInfo info, HttpServletRequest request) {
Account user = (Account) request.getSession().getAttribute("user");
if (user == null) {
return Result.error("1001", "session已失效,请重新登录");
}
PeixunInfo reserveInfo = peixunInfoService.findByReserveId(user.getId(), info.getId());
if (reserveInfo != null) {
return Result.error("1001", "请不要重复点击,耐心等待管理员审核,您可以在后台查看审核结果");
}
// 复制一份
PeixunInfo copyInfo = new PeixunInfo();
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);
peixunInfoService.add(copyInfo);
// 将原记录加个状态
info.setReserveStatus("待审核");
info.setReserveId(user.getId());
info.setReserveName(user.getName());
info.setFileId(null);
info.setFileName(null);
peixunInfoService.update(info);
return Result.success();
}
@DeleteMapping("/publish/{id}")
public Result deletePublish(@PathVariable Long id, HttpServletRequest request) {
PeixunInfo dbInfo = peixunInfoService.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", "只能删除自己发布的信息");
}
}
peixunInfoService.delete(id);
return Result.success();
}
@DeleteMapping("/reserve/{id}")
public Result deleteReserve(@PathVariable Long id, HttpServletRequest request) {
PeixunInfo dbInfo = peixunInfoService.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", "只能删除自己预约的信息");
}
}
peixunInfoService.delete(id);
return Result.success();
}
@GetMapping("/{id}")
public Result<PeixunInfo> detail(@PathVariable Long id) {
PeixunInfo info = peixunInfoService.findById(id);
return Result.success(info);
}
@GetMapping
public Result<List<PeixunInfoVo>> all() {
return Result.success(peixunInfoService.findAll());
}
@GetMapping("/page/{flag}")
public Result<PageInfo<PeixunInfoVo>> page(@RequestParam(defaultValue = "1") Integer pageNum,
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
功能模块 用户登录模块、用户信息模块、员工档案模块、薪资管理模块、部门管理模块、考勤管理模块、培训管理模块、公告管理模块 有管理员和员工两种用户权限 员工 退出系统功能(退出到登录页面) 员工每个员工拥有默认的账号和密码 员工账号登录可以看到自己的薪资状况,考勤状况,发布的培训,公告信息。 员工可以参加培训,管理员可以收到用户参加培训的请求并在培训管理模块进行管理。 管理员 退出系统功能(退出到登录页面) 管理员不可以注册,可以更改自己的基本信息和查看所有管理员的基本信息 管理员可以对所有模块进行增删改查等基本操作(查询最好可以模糊查询
资源推荐
资源详情
资源评论
收起资源包目录
基于ssm的公司人力资源管理系统设计与实现+演示 (485个子文件)
$PRODUCT_WORKSPACE_FILE$ 489B
AccountController.class 12KB
AccountController.class 12KB
EchartsController.class 10KB
EchartsController.class 10KB
AdminInfoController.class 8KB
AdminInfoController.class 8KB
KaoqinInfoController.class 8KB
KaoqinInfoController.class 8KB
YuangongInfoController.class 8KB
YuangongInfoController.class 8KB
NxSystemFileController.class 8KB
NxSystemFileController.class 8KB
PeixunInfoController.class 8KB
PeixunInfoController.class 8KB
AdvertiserInfoController.class 8KB
AdvertiserInfoController.class 8KB
XinziInfoController.class 7KB
XinziInfoController.class 7KB
BumenInfoController.class 7KB
BumenInfoController.class 7KB
MenuController.class 5KB
MenuController.class 5KB
PeixunInfo.class 5KB
PeixunInfo.class 5KB
PeixunInfoService.class 4KB
PeixunInfoService.class 4KB
YuangongInfoService.class 4KB
YuangongInfoService.class 4KB
AdminInfoService.class 4KB
AdminInfoService.class 4KB
KaoqinInfoService.class 3KB
KaoqinInfoService.class 3KB
XinziInfoService.class 3KB
XinziInfoService.class 3KB
AdminInfo.class 3KB
AdminInfo.class 3KB
AdvertiserInfoService.class 3KB
AdvertiserInfoService.class 3KB
BumenInfoService.class 3KB
BumenInfoService.class 3KB
Account.class 3KB
Account.class 3KB
NxSystemFileInfoService.class 3KB
NxSystemFileInfoService.class 3KB
YuangongInfo.class 3KB
YuangongInfo.class 3KB
Result.class 2KB
Result.class 2KB
EchartsData.class 2KB
EchartsData.class 2KB
ResultCode.class 2KB
ResultCode.class 2KB
MyInterceptor.class 2KB
MyInterceptor.class 2KB
GlobalExceptionHandler.class 2KB
GlobalExceptionHandler.class 2KB
WebMvcConfig.class 2KB
WebMvcConfig.class 2KB
EchartsData$Data.class 1KB
EchartsData$Data.class 1KB
AdvertiserInfo.class 1KB
AdvertiserInfo.class 1KB
KaoqinInfo.class 1KB
KaoqinInfo.class 1KB
XinziInfo.class 1KB
XinziInfo.class 1KB
EchartsData$Series.class 1KB
EchartsData$Series.class 1KB
AuthorityInfo.class 1KB
AuthorityInfo.class 1KB
NxSystemFileInfo.class 1KB
NxSystemFileInfo.class 1KB
AuthorityInfo$Model.class 1KB
AuthorityInfo$Model.class 1KB
CustomException.class 1KB
CustomException.class 1KB
BumenInfo.class 1KB
BumenInfo.class 1KB
PeixunInfoDao.class 945B
PeixunInfoDao.class 945B
YuangongInfoDao.class 864B
YuangongInfoDao.class 864B
KaoqinInfoDao.class 854B
KaoqinInfoDao.class 854B
AdminInfoDao.class 849B
XinziInfoDao.class 849B
AdminInfoDao.class 849B
XinziInfoDao.class 849B
NxSystemFileInfoDao.class 732B
NxSystemFileInfoDao.class 732B
BumenInfoDao.class 639B
BumenInfoDao.class 639B
AdvertiserInfoDao.class 619B
AdvertiserInfoDao.class 619B
KaoqinInfoVo.class 578B
KaoqinInfoVo.class 578B
YuangongInfoVo.class 577B
YuangongInfoVo.class 577B
XinziInfoVo.class 574B
共 485 条
- 1
- 2
- 3
- 4
- 5
资源评论
code.song
- 粉丝: 381
- 资源: 916
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功