首页>代码>基于SpringBoot实现的学生就业管理系统>/源代码/employment/src/main/java/com/project/controller/AgreementController.java
package com.project.controller;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.dto.AgreementDTO;
import com.project.entity.Agreement;
import com.project.entity.Student;
import com.project.entity.Teacher;
import com.project.entity.User;
import com.project.service.AgreementService;
import com.project.service.StudentService;
import com.project.service.TeacherService;
import com.project.service.UserService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import static com.project.enums.AgreementStatus.APPLY;
import static com.project.enums.AgreementStatus.MAIL;
import static com.project.enums.UserRole.STUDENT;
import static com.project.enums.UserRole.TEACHER;
import static com.project.uitls.Constant.CURRENT_USER;
/**
* 三方协议 邮寄地址
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/agreement" )
public class AgreementController {
private final AgreementService baseService;
@Autowired
private HttpSession session;
@Autowired
private UserService userService;
@Autowired
private TeacherService teacherService;
@Autowired
private StudentService studentService;
/**
* 分页查询
* @param page 分页对象
* @param agreement
* @return
*/
@GetMapping("/page" )
public R getPage(Page page, Agreement agreement) {
User user = (User) session.getAttribute(CURRENT_USER);
QueryWrapper<Agreement> wrapper = new QueryWrapper<>();
if (user.getRole().equals(STUDENT)) {
wrapper.eq("uid", user.getId());
} else if (user.getRole().equals(TEACHER)) {
Teacher teacher = teacherService.getByUid(user);
Student student = new Student();
student.setSpecialityId(teacher.getSpecialityId());
List<Student> students = studentService.list(Wrappers.query(student));
if (students != null && !students.isEmpty()) {
List<Integer> collect = students.stream().map(x -> x.getUid()).collect(Collectors.toList());
wrapper.in("uid", collect);
}
}
IPage<Agreement> page1 = baseService.page(page, wrapper);
List<AgreementDTO> dtos = new ArrayList<>();
page1.getRecords().forEach(x -> {
AgreementDTO dto = new AgreementDTO();
BeanUtils.copyProperties(x, dto);
dto.setUserName(userService.getById(x.getUid()).getUserName());
dtos.add(dto);
});
IPage<AgreementDTO> ipage = new Page<AgreementDTO>();
ipage.setCurrent(page.getCurrent());
ipage.setPages(page.getPages());
ipage.setRecords(dtos);
ipage.setSize(page.getSize());
ipage.setTotal(page.getTotal());
return R.ok(ipage);
}
@GetMapping("/getById")
public Object getById(@RequestParam Integer id) {
return R.ok(baseService.getById(id));
}
/**
* 新增
* @return R
*/
@RequestMapping("/saveOrUpdate")
public R save(Agreement agreement) {
if (agreement.getId() == null) {
User user = (User) session.getAttribute(CURRENT_USER);
agreement.setUid(user.getId());
baseService.save(agreement);
}else {
baseService.updateById(agreement);
}
return R.ok(null);
}
@GetMapping("/mail")
public R mail(@RequestParam Integer id) {
Agreement agreement = baseService.getById(id);
agreement.setMailTime(DateUtil.now());
agreement.setStatus(MAIL);
baseService.updateById(agreement);
return R.ok(null);
}
@GetMapping("/apply")
public R apply(@RequestParam Integer id) {
Agreement agreement = baseService.getById(id);
agreement.setCreateTime(DateUtil.now());
agreement.setStatus(APPLY);
baseService.updateById(agreement);
return R.ok(null);
}
@GetMapping("/deleteById")
public Object deleteById(@RequestParam Integer id) {
boolean b = baseService.removeById(id);
return b ? R.ok(null) : R.failed("删除失败");
}
}
最近下载更多
Luck_ZDM LV12
10月24日
小丑八怪 LV2
10月21日
luhong LV5
9月20日
vincemokea LV9
9月14日
yangchengshuai LV16
9月3日
hulewang LV8
7月16日
大神程序员 LV23
7月2日
sgrfsgrts LV2
5月15日
微信网友_6631309708414976 LV5
4月26日
SX520886 LV6
4月24日

最近浏览
