作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
高校党员信息管理系统,分为普通用户和管理员两种角色。
普通用户登录后主要功能有:
我的中心:首页、个人资料、修改密码;
党费信息:党费信息查询、党费缴纳;
通知查询:查看通知;
党员成绩信息:党课信息查询
个人操作日志:个人操作日志;
管理员登录后主要功能有:
系统用户管理:首页、管理员账号管理、添加管理kmuu账号、修改密码;
普通用户管理:用户信息查询、用户信息添加;
党员信息管理:正式党员查询、预备党员查询、发展对象查询、入党积极分子查询、入党申请人查询;
党组织管理:党组织查询、党组织添加;
党员党课成绩:党课信息查询、党课添加;
党费信息管理:党费信息管理
党员成绩管理:党员成绩查询、党员成绩添加;
通知信息管理:通知信息查询、通知信息添加;
党员活动管理:活动信息查询、活动信息添加;
操作日志管理:操作日志查询;
数据备份:数据备份;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
1. 后端:Spring SpringMVC MyBatis
2. 前端:JSP+Bootstrap+JQuery+AmazeUI
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
5. 运行项目,输入localhost:8081 登录
运行截图
相关代码
(Active)表控制层
package com.bs.controller;
import com.bs.pojo.*;
import com.bs.service.ActiveService;
import com.bs.service.OptionService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpSession;
import java.util.Date;
/**
* (Active)表控制层
*
* @author makejava
* @since 2020-03-31 20:40:23
*/
@Controller
@RequestMapping("active")
public class ActiveController {
/**
* 服务对象
*/
@Autowired
private ActiveService activeService;
private static Option option = new Option();
private static ResultBean resultBean = new ResultBean();
@Autowired
private OptionService optionService;
/**
* 管理员操作方法
*
* @param rootUser
*/
public void adminOption(Admin rootUser) {
option.setOptionUser(rootUser.getAdminAccount());
option.setRoleName(rootUser.getAdminRole());
option.setOptionTime(new Date());
option.setAdminId(rootUser.getAdminId());
}
/**
* 超级管理员 查看所有课程信息
*
* @param page
* @param pageSize
* @param model
* @return
*/
@RequestMapping("activeList")
public String activeList(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
Model model, HttpSession session, Active active) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//查询所有
PageInfo<Active> activePageInfo = activeService.queryAll(page, pageSize, active);
System.out.println("====所有信息===" + activePageInfo.getList());
if (rootUser != null) {
//添加操作日志
option.setOptionName("查看所有通知信息.");
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
model.addAttribute("activePageInfo", activePageInfo);
return "admin/active-list";
}
/**
* 前往添加界面
*
* @return
*/
@RequestMapping("goAdd")
public String goAdd(HttpSession session, Model model) {
session.removeAttribute("insertmessage");
session.removeAttribute("editmassage");
return "admin/add-active";
}
/**
* 管理员添加
*
* @param active
* @param model
* @return
*/
@RequestMapping(value = "addActive", method = RequestMethod.POST)
public String addActive(Active active, Model model, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//添加操作
if (active != null) {
System.out.println("=====存入的信息====" + active);
active = activeService.insert(active);
if (rootUser != null) {
//添加操作日志
option.setOptionName("添加的活动为:" + active.getActiveTitle());
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
session.setAttribute("insertmessage", "success");
return "redirect:/active/activeList";
} else {
session.setAttribute("insertmessage", "isEmpty");
return "redirect:/active/activeList";
}
}
/**
* 管理员 前往修改界面
*
* @return
*/
@RequestMapping("goEdit")
public String goEditGrade(Integer activeId, Model model, HttpSession session) {
session.removeAttribute("editmassage");
session.removeAttribute("insertmessage");
//当前信息
Active active = activeService.queryById(activeId);
System.out.println("当前信息===" + active);
model.addAttribute("activeInfo", active);
return "admin/edit-active";
}
/**
* 管理员 查看-修改信息
*
* @param active
* @param model
* @param session
* @return
*/
@RequestMapping(value = "editActive", method = RequestMethod.POST)
public String editActive(Active active, Model model, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//修改操作
if (active != null) {
System.out.println("=======存入的信息为:"+active);
active = activeService.update(active);
if (rootUser != null) {
//添加操作日志操作
option.setOptionName("修改标题为 " +active.getActiveTitle()+"的信息");
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
session.setAttribute("editmassage", "success");
model.addAttribute("activeInfo", active);
return "redirect:/active/activeList";
} else {
session.setAttribute("editmassage", "isEmpty");
return "redirect:/active/activeList";
}
}
/**
* 管理员删除
*
* @param activeId
* @param session
* @return
*/
@RequestMapping(value = "remove", method = RequestMethod.POST)
@ResponseBody
public ResultBean remove(@RequestParam Integer activeId, HttpSession session) {
session.removeAttribute("editmassage");
session.removeAttribute("insertmessage");
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//删除普通管理员操作
if (activeId != null) {
Active queryById = activeService.queryById(activeId);
boolean delete = activeService.deleteById(activeId);
if (delete) {
//添加操作日志操作
option.setOptionName("移除标题为" + queryById.getActiveTitle() + "的信息");
//调用管理员操作方法
adminOption(rootUser);
}
optionService.insert(option);
resultBean.setErrno(0);
resultBean.setMessage("操作成功");
}
return resultBean;
}
}
(Admin)表控制层
package com.bs.controller;
import com.bs.pojo.Admin;
import com.bs.pojo.Option;
import com.bs.pojo.ResultBean;
import com.bs.service.AdminService;
import com.bs.service.OptionService;
import com.github.pagehelper.PageInfo;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpSession;
import java.util.Date;
/**
* (Admin)表控制层
*
* @author makejava
* @since 2020-04-01 07:55:11
*/
@Controller
@RequestMapping("admin")
public class AdminController {
private static Option option = new Option();
private static ResultBean resultBean = new ResultBean();
/**
* 服务对象
*/
@Autowired
private AdminService adminService;
@Autowired
private OptionService optionService;
/**
* 验证码验证
*
* @param session
* @param message
* @return 指定页面
*/
@RequestMapping("/loginView")
public String loginView(HttpSession session, String message) {
session.setAttribute("loginMsg", "登陆失败,验证码错误");
System.out.println("验证码错误");
return "redirect:/view/404";
}
/**
* 登录
*
* @param admin
* @return
*/
@RequestMapping("checkLogin")
public String checkLogin(Admin admin, Model model, HttpSession session) {
System.out.println("====================开始登陆=======" + admin);
// String password = new Md5Hash(admin.getAdminPassword(),admin.getAdminAccount(),1024).toString();
// System.out.println("========"+password);
try {
//1.认证 创建令牌
UsernamePasswordToken token = new UsernamePasswordToken(admin.getAdminAccount(), admin.getAdminPassword());
//2.获取主体对象
Subject subject = SecurityUtils.getSubject();
//3.登陆方法
subject.login(token);
if (subject.isAuthenticated()) {
System.out.println("认证成功");
Admin byAccount = adminService.queryByAccount(admin.getAdminAccount());
if (byAccount.getFlag().equals(1)) {
//数据传递是不带密码
byAccount.setAdminPassword("");
//添加操作日志
option.setOptionName(byAccount.getAdminAccount() + ":登录.");
//调用管理员操作方法
adminOption(byAccount);
optionService.insert(option);
session.setAttribute("user", byAccount);
session.setAttribute("loginMsg", "登录成功");
return "redirect:/admin/index";
}
}
} catch (AuthenticationException e) {
e.printStackTrace();
System.out.println("认证失败");
}
session.setAttribute("loginMsg", "账号或密码错误");
return "redirect:/view/404";
}
/**
* 超级管理员 查看所有管理员信息
*
* @param page
* @param pageSize
* @param model
* @return
*/
@RequestMapping("adminList")
public String adminList(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
Model model, HttpSession session, Admin admin) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//查询所有管理员
PageInfo<Admin> adminPageInfo = adminService.queryAll(page, pageSize, admin);
System.out.println("====所有管理员===" + adminPageInfo.getList());
if (rootUser != null) {
//添加操作日志
option.setOptionName("查看所有管理员.");
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
model.addAttribute("adminPageInfo", adminPageInfo);
return "admin/admin-list";
}
/**
* 前往添加管理员界面
*
* @return
*/
@RequestMapping("goAddAdmin")
public String goAddAdmin(HttpSession session) {
session.removeAttribute("insertmessage");
return "admin/add-admin";
}
/**
* 超级管理员添加其他管理员
*
* @param admin
* @param model
* @return
*/
@RequestMapping("addAdmin")
public String addAdmin(Admin admin, Model model, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//添加管理员操作
if (admin != null) {
Admin byAccount = adminService.queryByAccount(admin.getAdminAccount());
if (byAccount == null) {
admin.setAddTime(new Date());
admin = adminService.insert(admin);
if (rootUser != null) {
//添加操作日志
option.setOptionName("添加管理员,账号为:" + admin.getAdminAccount());
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
session.setAttribute("insertmessage", "success");
return "redirect:/admin/adminList";
} else {
session.setAttribute("insertmessage", "errorRepete");
}
} else {
session.setAttribute("insertmessage", "errorNull");
}
return "redirect:/admin/goAddAdmin";
}
/**
* 前往修改管理员密码界面
*
* @return
*/
@RequestMapping("goEditPassword")
public String goEditPassword(Model model, HttpSession session) {
session.removeAttribute("editmassage");
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
model.addAttribute("adminInfo", rootUser);
return "admin/password";
}
/**
* 修改密码
*
* @param admin
* @param model
* @param session
* @return
*/
@RequestMapping("editPassword")
public String editPassword(Admin admin, Model model, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//修改密码操作
if (admin != null) {
admin.setAdminId(rootUser.getAdminId());
System.out.println("=====修改的信息=====" + admin);
admin.setAddTime(new Date());
admin = adminService.update(admin);
if (rootUser != null) {
//添加操作日志操作
option.setOptionName("修改密码.");
//调用管理员操作方法
adminOption(rootUser);
optionService.insert(option);
}
session.setAttribute("editmassage", "success");
model.addAttribute("adminInfo", admin);
}
return "redirect:/";
}
/**
* 超级管理员修改普通管理员权限
*
* @param adminId
* @param flag
* @param session
* @return
*/
@RequestMapping(value = "editFlag", method = RequestMethod.POST)
@ResponseBody
public ResultBean editFlag(@RequestParam Integer adminId, @RequestParam Integer flag, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//授权操作
if (adminId != null && flag != null) {
Admin admin = new Admin();
admin.setAdminId(adminId);
admin.setFlag(flag);
admin.setAddTime(new Date());
System.out.println("=====修改的信息=====" + admin);
admin = adminService.update(admin);
if (rootUser != null && flag == 1) {
//添加操作日志操作
option.setOptionName("给管理员授权");
//调用管理员操作方法
adminOption(rootUser);
} else {
//添加操作日志操作
option.setOptionName("冻结管理员");
//调用管理员操作方法
adminOption(rootUser);
}
optionService.insert(option);
resultBean.setErrno(0);
resultBean.setMessage("操作成功");
}
return resultBean;
}
/**
* 超级管理员删除普通管理员
*
* @param adminId
* @param session
* @return
*/
@RequestMapping(value = "removeAdmin", method = RequestMethod.POST)
@ResponseBody
public ResultBean removeAdmin(@RequestParam Integer adminId, HttpSession session) {
//当前登陆账号信息
Admin rootUser = (Admin) session.getAttribute("user");
System.out.println("当前登陆账号信息===" + rootUser);
//删除普通管理员操作
if (adminId != null) {
Admin admin = adminService.queryById(adminId);
boolean delete = adminService.deleteById(adminId);
if (delete) {
//添加操作日志操作
option.setOptionName("移除管理员" + admin.getAdminAccount());
//调用管理员操作方法
adminOption(rootUser);
}
optionService.insert(option);
resultBean.setErrno(0);
resultBean.setMessage("操作成功");
}
return resultBean;
}
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@RequestMapping("selectOne")
@ResponseBody
public Admin selectOne(Integer id) {
return adminService.queryById(id);
}
/**
* 查询多条数据
*
* @param page 页码
* @param pageSize 页大小
* @param admin 实体
* @return PageInfo<Admin> 分页数据集合
*/
@RequestMapping("searchAll")
@ResponseBody
public PageInfo<Admin> searchAll(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
Admin admin) {
return adminService.queryAll(page, pageSize, admin);
}
/**
* 管理员操作方法
*
* @param rootUser
*/
public void adminOption(Admin rootUser) {
option.setOptionUser(rootUser.getAdminAccount());
option.setRoleName(rootUser.getAdminRole());
option.setOptionTime(new Date());
option.setAdminId(rootUser.getAdminId());
}
}
如果也想学习本系统,下面领取。关注并回复:026ssm