package pers.huangyuhui.sms.controller; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import pers.huangyuhui.sms.bean.Clazz; import pers.huangyuhui.sms.service.ClazzService; import pers.huangyuhui.sms.service.GradeService; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @project: sms * @description: 控制器-管理班级信息页面 * @author: 黄宇辉 * @date: 6/14/2019-5:02 PM * @version: 1.0 * @website: https://yubuntu0109.github.io/ */ @Controller @RequestMapping("/clazz") public class ClazzController { //注入业务对象 @Autowired private ClazzService clazzService; @Autowired private GradeService gradeService; //存储预返回页面的数据对象 private Map<String, Object> result = new HashMap<>(); /** * @description: 跳转到班级信息管理页面 * @param: modelAndView * @date: 2019-06-15 2:02 PM * @return: org.springframework.web.servlet.ModelAndView */ @GetMapping("/goClazzListView") public ModelAndView goClazzListPage(ModelAndView modelAndView) { //向页面发送一个存储着Grade的List对象 modelAndView.addObject("gradeList", gradeService.selectAll()); modelAndView.setViewName("clazz/clazzList"); return modelAndView; } /** * @description: 分页查询班级信息列表:根据班级与年级名查询指定/全部班级信息列表 * @param: page 当前页码 * @param: rows 列表行数 * @param: gradename 年级名称 * @param: clazzname 班级名称 * @date: 2019-06-14 10:00 PM * @return: java.util.Map<java.lang.String, java.lang.Object> */ @PostMapping("/getClazzList") @ResponseBody public Map<String, Object> getClazzList(Integer page, Integer rows, String clazzname, String gradename) { //存储查询的clazzname,gradename信息 Clazz clazz = new Clazz(clazzname, gradename); //设置每页的记录数 PageHelper.startPage(page, rows); //根据班级与年级名获取指定或全部班级信息列表 List<Clazz> list = clazzService.selectList(clazz); //封装列表信息 PageInfo<Clazz> pageInfo = new PageInfo<>(list); //获取总记录数 long total = pageInfo.getTotal(); //获取当前页数据列表 List<Clazz> clazzList = pageInfo.getList(); //存储数据对象 result.put("total", total); result.put("rows", clazzList); return result; } /** * @description: 添加班级信息 * @param: clazz * @date: 2019-06-15 2:23 PM * @return: java.util.Map<java.lang.String, java.lang.Object> */ @PostMapping("/addClazz") @ResponseBody public Map<String, Object> addClazz(Clazz clazz) { //判断班级名是否已存在 Clazz name = clazzService.findByName(clazz.getName()); if (name == null) { if (clazzService.insert(clazz) > 0) { result.put("success", true); } else { result.put("success", false); result.put("msg", "添加失败! (ಥ_ಥ)服务器端发生异常!"); } } else { result.put("success", false); result.put("msg", "该班级名称已存在! 请修改后重试!"); } return result; } /** * @description: 根据id修改指定的班级信息 * @param: clazz * @date: 2019-06-15 2:28 PM * @return: java.util.Map<java.lang.String, java.lang.Object> */ @PostMapping("/editClazz") @ResponseBody public Map<String, Object> editClazz(Clazz clazz) { //需排除用户只修改班级名以外的信息 Clazz c = clazzService.findByName(clazz.getName()); if (c != null) { if (!(clazz.getId().equals(c.getId()))) { result.put("success", false); result.put("msg", "该班级名称已存在! 请修改后重试!"); return result; } } //添加操作 if (clazzService.update(clazz) > 0) { result.put("success", true); } else { result.put("success", false); result.put("msg", "添加失败! (ಥ_ಥ)服务器端发生异常!"); } return result; } /** * @description: 删除指定id的班级信息 * @param: ids 拼接后的id * @date: 2019-06-15 2:16 PM * @return: java.util.Map<java.lang.String, java.lang.Object> */ @PostMapping("/deleteClazz") @ResponseBody public Map<String, Object> deleteGrade(@RequestParam(value = "ids[]", required = true) Integer[] ids) { if (clazzService.deleteById(ids) > 0) { result.put("success", true); } else { result.put("success", false); } return result; } }