package com.lee.supersuse.controller.admin;
import com.github.pagehelper.PageInfo;
import com.lee.supersuse.admin_service.AdminInstitutionService;
import com.lee.supersuse.admin_service.AdminUserService;
import com.lee.supersuse.enums.ErrorEnum;
import com.lee.supersuse.exception.JsonException;
import com.lee.supersuse.pojo.*;
import com.lee.supersuse.utils.ResultUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 学院管理控制器
*/
@Controller
@Slf4j
@RequestMapping("/admin")
public class AdminInstitutionController {
@Autowired
AdminInstitutionService adminInstitutionService;
@Autowired
AdminUserService adminUserService;
@RequestMapping("/inst-list")
public String getInstList() {
return "/admin/inst-list";
}
@RequestMapping("/inst-edit/{instCode}")
public String getInstInfo(@PathVariable String instCode,
Model model) {
Institute institute = adminInstitutionService.getInstByCode(instCode);
model.addAttribute("institute", institute);
model.addAttribute("instCode",instCode);
return "/admin/inst-edit";
}
@RequestMapping("/inst/edit")
@ResponseBody
public Result getInstInfo(@RequestBody Institute institute) {
log.info("获取到的学院信息:" + institute.toString());
Integer count = adminInstitutionService.updateInst(institute);
return ResultUtil.success(count);
}
@RequestMapping("/inst-add")
public String addInst() {
return "/admin/inst-add";
}
@RequestMapping("/inst/add")
@ResponseBody
public Result addInst(@RequestBody Institute institute) {
log.info("获取到的学院信息:" + institute.toString());
Integer count = adminInstitutionService.addInst(institute);
if (count > 0) {
return ResultUtil.success(count);
} else {
return ResultUtil.error(ErrorEnum.DATA_ERROR);
}
}
@RequestMapping("/inst-list/json")
@ResponseBody
public Result getInstListJson(@RequestParam Integer page,
@RequestParam Integer limit,
@RequestParam Map map) {
//分页获取Inst
PageInfo pageInfo = adminInstitutionService.getAllInstByPage(page, limit, map);
return ResultUtil.success(pageInfo.getList(), ((Long) pageInfo.getTotal()).intValue());
}
@RequestMapping("/inst/delete")
@ResponseBody
public Result editInst(@RequestParam String instCode){
log.info("即将删除的系代码:"+instCode);
Integer count = adminInstitutionService.deleteInstByCode(instCode);
log.info("删除学院的数量:"+count);
if (count > 0){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DELETE_ERROR);
}
}
@RequestMapping("/inst/deleteAll")
@ResponseBody
public Result deleteInstAll(@RequestParam String[] instCodes){
log.info("即将删除的专业代码:"+instCodes.toString());
Integer count = adminInstitutionService.deleteAllInsts(instCodes);
if (count > 0){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DELETE_ERROR);
}
}
@RequestMapping("/dept-list")
public String getDeptList(Model model) {
log.info("进入系列表dept-list");
List<Map<String, Object>> insts = adminInstitutionService.getAllInsts();
model.addAttribute("instituteList", insts);
return "/admin/dept-list";
}
@RequestMapping("/dept-list/json")
@ResponseBody
public Result getDeptList(@RequestParam Integer page,
@RequestParam Integer limit,
@RequestParam Map map) {
log.info("获取系信息dept-list/json");
//分页获取所有的系信息
PageInfo pageInfo = adminInstitutionService.getAllDeptByPage(page, limit, map);
return ResultUtil.success(pageInfo.getList(), ((Long) pageInfo.getTotal()).intValue());
}
@RequestMapping("/dept-add")
public String addDept(Model model){
//初始化学院下拉列表框
List<Map<String, Object>> insts = adminInstitutionService.getAllInsts();
model.addAttribute("instituteList", insts);
return "/admin/dept-add";
}
@RequestMapping("/dept/add")
@ResponseBody
public Result addDept(@RequestBody Department department){
log.info("即将添加的系信息:"+department.toString());
Integer count = adminInstitutionService.addDept(department);
if(count == 1){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DEPT_ERROR);
}
}
@RequestMapping("/dept-edit/{deptCode}")
public String editDept(Model model,
@PathVariable String deptCode){
//初始化信息专业对应的学院-系-专业代码
Map<String,Object> codes = adminInstitutionService.getCodesByDeptCode(deptCode);
model.addAttribute("codes",codes);
//初始化学院下拉列表框
List<Map<String, Object>> insts = adminInstitutionService.getAllInsts();
model.addAttribute("instituteList", insts);
return "/admin/dept-edit";
}
@RequestMapping("/dept/edit")
@ResponseBody
public Result editDept(@RequestBody Department department){
log.info("department信息:"+department.toString());
Integer count = adminInstitutionService.updateDepartment(department);
if (count > 0){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DEPT_ERROR);
}
}
@RequestMapping("/dept/delete")
@ResponseBody
public Result editDept(@RequestParam String deptCode){
log.info("即将删除的系代码:"+deptCode);
Integer count = adminInstitutionService.deleteDeptByCode(deptCode);
log.info("删除系的数量:"+count);
if (count > 0){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DELETE_ERROR);
}
}
@RequestMapping("/dept/deleteAll")
@ResponseBody
public Result deleteDeptAll(@RequestParam String[] deptCodes){
log.info("即将删除的专业代码:"+deptCodes.toString());
Integer count = adminInstitutionService.deleteAllDepts(deptCodes);
if (count > 0){
return ResultUtil.success(count);
}else {
return ResultUtil.error(ErrorEnum.DELETE_ERROR);
}
}
@RequestMapping("/majo-list")
public String getMajoList(Model model) {
log.info("进入系列表majo-list");
//获取学院
List<Map<String, Object>> insts = adminInstitutionService.getAllInsts();
model.addAttribute("instituteList", insts);
return "/admin/major-list";
}
@RequestMapping("/majo-list/json")
@ResponseBody
public Result getMajoList(@RequestParam Integer page,
@RequestParam Integer limit,
@RequestParam Map map) {
log.info("获取系信息majo-list/json");
//分页获取所有的系信息
PageInfo pageInfo = adminInstitutionService.getAllMajoByPage(page, limit, map);
return ResultUtil.success(pageInfo.getList(), ((Long) pageInfo.getTotal()).intValue());
}
@RequestMapping("/majo-add")
public String addMajo(Model model){
//初始化学院下拉列表框
List<Map<String, Object>> insts = adminInstitutionService.getAllInsts();
model.add
SpringBoot+Thymeleaf+MyBatis制作的校园事务管理系统.zip
需积分: 0 24 浏览量
更新于2024-03-26
收藏 46.49MB ZIP 举报
标题 "SpringBoot+Thymeleaf+MyBatis制作的校园事务管理系统.zip" 提供了我们正在探讨的是一个使用特定技术栈开发的校园事务管理系统的源码。这个系统利用了SpringBoot作为主要的后端框架,Thymeleaf作为前端模板引擎,而MyBatis作为持久层框架。这样的组合在Java Web开发中非常常见,因为它们各自提供了强大且灵活的功能。
SpringBoot是Spring框架的一个简化版,旨在简化初始设置和日常开发工作。它集成了大量常用的库和配置,如Spring MVC、Spring Data、JPA等,使得开发者能够快速地搭建应用。SpringBoot还支持自动配置,使得组件能够根据项目需求自动配置,减少了手动配置的工作量。
Thymeleaf是一个现代的服务器端HTML模板引擎,它允许开发者使用自然的HTML语法来编写视图。Thymeleaf的主要优点在于其在浏览器中查看时仍然保持可读性,这对于开发者和非开发者来说都是友好的。它支持条件语句、循环、国际化等功能,使开发者在前端能够方便地处理动态数据。
MyBatis是一个轻量级的持久层框架,它解决了Java开发中的数据库操作问题。MyBatis允许开发者编写SQL语句,并将这些语句与Java代码直接关联,提供了更加灵活的数据访问方式。它支持XML或注解形式的映射配置,可以方便地处理复杂的查询和事务。
在“毕业设计”这一标签下,我们可以推测这是一个学生为了完成学业任务而创建的项目。这样的项目通常要求涵盖完整的功能模块,如用户管理、事务创建、审批流程等,以及良好的可扩展性和稳定性,以便于展示全面的编程技能和理解。
至于"源码"标签,表明我们可以从压缩包中获取到项目的实际代码,这对于学习、研究或者二次开发是非常宝贵的资源。然而,由于没有提供具体的子文件列表,我们无法详细讨论每个文件的功能。但可以预期,压缩包可能包含`pom.xml`(Maven的项目配置文件)、`application.properties`(SpringBoot的配置文件)、Thymeleaf的HTML模板文件、MyBatis的Mapper接口和XML映射文件、以及业务逻辑相关的Java类。
这个校园事务管理系统项目展示了如何利用SpringBoot、Thymeleaf和MyBatis这些工具构建一个高效、易于维护的Java Web应用。通过学习和分析源码,开发者不仅可以了解这些技术的实践应用,还能提升自己的软件工程能力。对于初学者,这是一个很好的实战案例,可以帮助他们理解和掌握企业级开发的基本流程和规范。而对于有经验的开发者,这个项目可以作为一个参考,了解最佳实践并进行技术改进。
奔强的程序
- 粉丝: 1028
- 资源: 2750
最新资源
- 白色大气风格的境外游景区景点模板下载.zip
- 白色大气风格的景区导游专题模板.zip
- 白色大气风格的境外游景区模板下载.zip
- 白色大气风格的酒店官网网站模板下载.zip
- 白色大气风格的科研教育HTML网站模板.zip
- 白色大气风格的科技探索HTML5网站模板.zip
- 白色大气风格的恐龙化石博物馆网站模板下载.zip
- 白色大气风格的科研教育模板下载.zip
- 白色大气风格的恐龙化石博物馆模板下载.zip
- 白色大气风格的乐器爱好者网站模板下载.zip
- 白色大气风格的楼宇建设设计师网站模板.zip
- CH579 以太网转串口 串口服务器代码 需要自己编程提升能力的非常值得参考的代码 几乎所有的编程思路编程技巧资源都涉及到了,代码简单易懂 ,注释清楚,本代码实现最串口服务器的功能,有电路图
- 白色大气风格的楼盘销售公司企业网站源码下载.zip
- 白色大气风格的旅行网站模板下载.zip
- 白色大气风格的旅游观光模板下载.zip
- 白色大气风格的旅行作品展示网站模板下载.zip