• Java项目:ssm高校党员管理系统


    作者主页:源码空间站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)表控制层

    1. package com.bs.controller;
    2. import com.bs.pojo.*;
    3. import com.bs.service.ActiveService;
    4. import com.bs.service.OptionService;
    5. import com.github.pagehelper.PageInfo;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.stereotype.Controller;
    8. import org.springframework.ui.Model;
    9. import org.springframework.web.bind.annotation.RequestMapping;
    10. import org.springframework.web.bind.annotation.RequestMethod;
    11. import org.springframework.web.bind.annotation.RequestParam;
    12. import org.springframework.web.bind.annotation.ResponseBody;
    13. import javax.servlet.http.HttpSession;
    14. import java.util.Date;
    15. /**
    16. * (Active)表控制层
    17. *
    18. * @author makejava
    19. * @since 2020-03-31 20:40:23
    20. */
    21. @Controller
    22. @RequestMapping("active")
    23. public class ActiveController {
    24. /**
    25. * 服务对象
    26. */
    27. @Autowired
    28. private ActiveService activeService;
    29. private static Option option = new Option();
    30. private static ResultBean resultBean = new ResultBean();
    31. @Autowired
    32. private OptionService optionService;
    33. /**
    34. * 管理员操作方法
    35. *
    36. * @param rootUser
    37. */
    38. public void adminOption(Admin rootUser) {
    39. option.setOptionUser(rootUser.getAdminAccount());
    40. option.setRoleName(rootUser.getAdminRole());
    41. option.setOptionTime(new Date());
    42. option.setAdminId(rootUser.getAdminId());
    43. }
    44. /**
    45. * 超级管理员 查看所有课程信息
    46. *
    47. * @param page
    48. * @param pageSize
    49. * @param model
    50. * @return
    51. */
    52. @RequestMapping("activeList")
    53. public String activeList(@RequestParam(value = "page", defaultValue = "1") int page,
    54. @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
    55. Model model, HttpSession session, Active active) {
    56. //当前登陆账号信息
    57. Admin rootUser = (Admin) session.getAttribute("user");
    58. System.out.println("当前登陆账号信息===" + rootUser);
    59. //查询所有
    60. PageInfo activePageInfo = activeService.queryAll(page, pageSize, active);
    61. System.out.println("====所有信息===" + activePageInfo.getList());
    62. if (rootUser != null) {
    63. //添加操作日志
    64. option.setOptionName("查看所有通知信息.");
    65. //调用管理员操作方法
    66. adminOption(rootUser);
    67. optionService.insert(option);
    68. }
    69. model.addAttribute("activePageInfo", activePageInfo);
    70. return "admin/active-list";
    71. }
    72. /**
    73. * 前往添加界面
    74. *
    75. * @return
    76. */
    77. @RequestMapping("goAdd")
    78. public String goAdd(HttpSession session, Model model) {
    79. session.removeAttribute("insertmessage");
    80. session.removeAttribute("editmassage");
    81. return "admin/add-active";
    82. }
    83. /**
    84. * 管理员添加
    85. *
    86. * @param active
    87. * @param model
    88. * @return
    89. */
    90. @RequestMapping(value = "addActive", method = RequestMethod.POST)
    91. public String addActive(Active active, Model model, HttpSession session) {
    92. //当前登陆账号信息
    93. Admin rootUser = (Admin) session.getAttribute("user");
    94. System.out.println("当前登陆账号信息===" + rootUser);
    95. //添加操作
    96. if (active != null) {
    97. System.out.println("=====存入的信息====" + active);
    98. active = activeService.insert(active);
    99. if (rootUser != null) {
    100. //添加操作日志
    101. option.setOptionName("添加的活动为:" + active.getActiveTitle());
    102. //调用管理员操作方法
    103. adminOption(rootUser);
    104. optionService.insert(option);
    105. }
    106. session.setAttribute("insertmessage", "success");
    107. return "redirect:/active/activeList";
    108. } else {
    109. session.setAttribute("insertmessage", "isEmpty");
    110. return "redirect:/active/activeList";
    111. }
    112. }
    113. /**
    114. * 管理员 前往修改界面
    115. *
    116. * @return
    117. */
    118. @RequestMapping("goEdit")
    119. public String goEditGrade(Integer activeId, Model model, HttpSession session) {
    120. session.removeAttribute("editmassage");
    121. session.removeAttribute("insertmessage");
    122. //当前信息
    123. Active active = activeService.queryById(activeId);
    124. System.out.println("当前信息===" + active);
    125. model.addAttribute("activeInfo", active);
    126. return "admin/edit-active";
    127. }
    128. /**
    129. * 管理员 查看-修改信息
    130. *
    131. * @param active
    132. * @param model
    133. * @param session
    134. * @return
    135. */
    136. @RequestMapping(value = "editActive", method = RequestMethod.POST)
    137. public String editActive(Active active, Model model, HttpSession session) {
    138. //当前登陆账号信息
    139. Admin rootUser = (Admin) session.getAttribute("user");
    140. System.out.println("当前登陆账号信息===" + rootUser);
    141. //修改操作
    142. if (active != null) {
    143. System.out.println("=======存入的信息为:"+active);
    144. active = activeService.update(active);
    145. if (rootUser != null) {
    146. //添加操作日志操作
    147. option.setOptionName("修改标题为 " +active.getActiveTitle()+"的信息");
    148. //调用管理员操作方法
    149. adminOption(rootUser);
    150. optionService.insert(option);
    151. }
    152. session.setAttribute("editmassage", "success");
    153. model.addAttribute("activeInfo", active);
    154. return "redirect:/active/activeList";
    155. } else {
    156. session.setAttribute("editmassage", "isEmpty");
    157. return "redirect:/active/activeList";
    158. }
    159. }
    160. /**
    161. * 管理员删除
    162. *
    163. * @param activeId
    164. * @param session
    165. * @return
    166. */
    167. @RequestMapping(value = "remove", method = RequestMethod.POST)
    168. @ResponseBody
    169. public ResultBean remove(@RequestParam Integer activeId, HttpSession session) {
    170. session.removeAttribute("editmassage");
    171. session.removeAttribute("insertmessage");
    172. //当前登陆账号信息
    173. Admin rootUser = (Admin) session.getAttribute("user");
    174. System.out.println("当前登陆账号信息===" + rootUser);
    175. //删除普通管理员操作
    176. if (activeId != null) {
    177. Active queryById = activeService.queryById(activeId);
    178. boolean delete = activeService.deleteById(activeId);
    179. if (delete) {
    180. //添加操作日志操作
    181. option.setOptionName("移除标题为" + queryById.getActiveTitle() + "的信息");
    182. //调用管理员操作方法
    183. adminOption(rootUser);
    184. }
    185. optionService.insert(option);
    186. resultBean.setErrno(0);
    187. resultBean.setMessage("操作成功");
    188. }
    189. return resultBean;
    190. }
    191. }

    (Admin)表控制层

    1. package com.bs.controller;
    2. import com.bs.pojo.Admin;
    3. import com.bs.pojo.Option;
    4. import com.bs.pojo.ResultBean;
    5. import com.bs.service.AdminService;
    6. import com.bs.service.OptionService;
    7. import com.github.pagehelper.PageInfo;
    8. import org.apache.shiro.SecurityUtils;
    9. import org.apache.shiro.authc.AuthenticationException;
    10. import org.apache.shiro.authc.UsernamePasswordToken;
    11. import org.apache.shiro.subject.Subject;
    12. import org.springframework.beans.factory.annotation.Autowired;
    13. import org.springframework.stereotype.Controller;
    14. import org.springframework.ui.Model;
    15. import org.springframework.web.bind.annotation.RequestMapping;
    16. import org.springframework.web.bind.annotation.RequestMethod;
    17. import org.springframework.web.bind.annotation.RequestParam;
    18. import org.springframework.web.bind.annotation.ResponseBody;
    19. import javax.servlet.http.HttpSession;
    20. import java.util.Date;
    21. /**
    22. * (Admin)表控制层
    23. *
    24. * @author makejava
    25. * @since 2020-04-01 07:55:11
    26. */
    27. @Controller
    28. @RequestMapping("admin")
    29. public class AdminController {
    30. private static Option option = new Option();
    31. private static ResultBean resultBean = new ResultBean();
    32. /**
    33. * 服务对象
    34. */
    35. @Autowired
    36. private AdminService adminService;
    37. @Autowired
    38. private OptionService optionService;
    39. /**
    40. * 验证码验证
    41. *
    42. * @param session
    43. * @param message
    44. * @return 指定页面
    45. */
    46. @RequestMapping("/loginView")
    47. public String loginView(HttpSession session, String message) {
    48. session.setAttribute("loginMsg", "登陆失败,验证码错误");
    49. System.out.println("验证码错误");
    50. return "redirect:/view/404";
    51. }
    52. /**
    53. * 登录
    54. *
    55. * @param admin
    56. * @return
    57. */
    58. @RequestMapping("checkLogin")
    59. public String checkLogin(Admin admin, Model model, HttpSession session) {
    60. System.out.println("====================开始登陆=======" + admin);
    61. // String password = new Md5Hash(admin.getAdminPassword(),admin.getAdminAccount(),1024).toString();
    62. // System.out.println("========"+password);
    63. try {
    64. //1.认证 创建令牌
    65. UsernamePasswordToken token = new UsernamePasswordToken(admin.getAdminAccount(), admin.getAdminPassword());
    66. //2.获取主体对象
    67. Subject subject = SecurityUtils.getSubject();
    68. //3.登陆方法
    69. subject.login(token);
    70. if (subject.isAuthenticated()) {
    71. System.out.println("认证成功");
    72. Admin byAccount = adminService.queryByAccount(admin.getAdminAccount());
    73. if (byAccount.getFlag().equals(1)) {
    74. //数据传递是不带密码
    75. byAccount.setAdminPassword("");
    76. //添加操作日志
    77. option.setOptionName(byAccount.getAdminAccount() + ":登录.");
    78. //调用管理员操作方法
    79. adminOption(byAccount);
    80. optionService.insert(option);
    81. session.setAttribute("user", byAccount);
    82. session.setAttribute("loginMsg", "登录成功");
    83. return "redirect:/admin/index";
    84. }
    85. }
    86. } catch (AuthenticationException e) {
    87. e.printStackTrace();
    88. System.out.println("认证失败");
    89. }
    90. session.setAttribute("loginMsg", "账号或密码错误");
    91. return "redirect:/view/404";
    92. }
    93. /**
    94. * 超级管理员 查看所有管理员信息
    95. *
    96. * @param page
    97. * @param pageSize
    98. * @param model
    99. * @return
    100. */
    101. @RequestMapping("adminList")
    102. public String adminList(@RequestParam(value = "page", defaultValue = "1") int page,
    103. @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
    104. Model model, HttpSession session, Admin admin) {
    105. //当前登陆账号信息
    106. Admin rootUser = (Admin) session.getAttribute("user");
    107. System.out.println("当前登陆账号信息===" + rootUser);
    108. //查询所有管理员
    109. PageInfo adminPageInfo = adminService.queryAll(page, pageSize, admin);
    110. System.out.println("====所有管理员===" + adminPageInfo.getList());
    111. if (rootUser != null) {
    112. //添加操作日志
    113. option.setOptionName("查看所有管理员.");
    114. //调用管理员操作方法
    115. adminOption(rootUser);
    116. optionService.insert(option);
    117. }
    118. model.addAttribute("adminPageInfo", adminPageInfo);
    119. return "admin/admin-list";
    120. }
    121. /**
    122. * 前往添加管理员界面
    123. *
    124. * @return
    125. */
    126. @RequestMapping("goAddAdmin")
    127. public String goAddAdmin(HttpSession session) {
    128. session.removeAttribute("insertmessage");
    129. return "admin/add-admin";
    130. }
    131. /**
    132. * 超级管理员添加其他管理员
    133. *
    134. * @param admin
    135. * @param model
    136. * @return
    137. */
    138. @RequestMapping("addAdmin")
    139. public String addAdmin(Admin admin, Model model, HttpSession session) {
    140. //当前登陆账号信息
    141. Admin rootUser = (Admin) session.getAttribute("user");
    142. System.out.println("当前登陆账号信息===" + rootUser);
    143. //添加管理员操作
    144. if (admin != null) {
    145. Admin byAccount = adminService.queryByAccount(admin.getAdminAccount());
    146. if (byAccount == null) {
    147. admin.setAddTime(new Date());
    148. admin = adminService.insert(admin);
    149. if (rootUser != null) {
    150. //添加操作日志
    151. option.setOptionName("添加管理员,账号为:" + admin.getAdminAccount());
    152. //调用管理员操作方法
    153. adminOption(rootUser);
    154. optionService.insert(option);
    155. }
    156. session.setAttribute("insertmessage", "success");
    157. return "redirect:/admin/adminList";
    158. } else {
    159. session.setAttribute("insertmessage", "errorRepete");
    160. }
    161. } else {
    162. session.setAttribute("insertmessage", "errorNull");
    163. }
    164. return "redirect:/admin/goAddAdmin";
    165. }
    166. /**
    167. * 前往修改管理员密码界面
    168. *
    169. * @return
    170. */
    171. @RequestMapping("goEditPassword")
    172. public String goEditPassword(Model model, HttpSession session) {
    173. session.removeAttribute("editmassage");
    174. //当前登陆账号信息
    175. Admin rootUser = (Admin) session.getAttribute("user");
    176. System.out.println("当前登陆账号信息===" + rootUser);
    177. model.addAttribute("adminInfo", rootUser);
    178. return "admin/password";
    179. }
    180. /**
    181. * 修改密码
    182. *
    183. * @param admin
    184. * @param model
    185. * @param session
    186. * @return
    187. */
    188. @RequestMapping("editPassword")
    189. public String editPassword(Admin admin, Model model, HttpSession session) {
    190. //当前登陆账号信息
    191. Admin rootUser = (Admin) session.getAttribute("user");
    192. System.out.println("当前登陆账号信息===" + rootUser);
    193. //修改密码操作
    194. if (admin != null) {
    195. admin.setAdminId(rootUser.getAdminId());
    196. System.out.println("=====修改的信息=====" + admin);
    197. admin.setAddTime(new Date());
    198. admin = adminService.update(admin);
    199. if (rootUser != null) {
    200. //添加操作日志操作
    201. option.setOptionName("修改密码.");
    202. //调用管理员操作方法
    203. adminOption(rootUser);
    204. optionService.insert(option);
    205. }
    206. session.setAttribute("editmassage", "success");
    207. model.addAttribute("adminInfo", admin);
    208. }
    209. return "redirect:/";
    210. }
    211. /**
    212. * 超级管理员修改普通管理员权限
    213. *
    214. * @param adminId
    215. * @param flag
    216. * @param session
    217. * @return
    218. */
    219. @RequestMapping(value = "editFlag", method = RequestMethod.POST)
    220. @ResponseBody
    221. public ResultBean editFlag(@RequestParam Integer adminId, @RequestParam Integer flag, HttpSession session) {
    222. //当前登陆账号信息
    223. Admin rootUser = (Admin) session.getAttribute("user");
    224. System.out.println("当前登陆账号信息===" + rootUser);
    225. //授权操作
    226. if (adminId != null && flag != null) {
    227. Admin admin = new Admin();
    228. admin.setAdminId(adminId);
    229. admin.setFlag(flag);
    230. admin.setAddTime(new Date());
    231. System.out.println("=====修改的信息=====" + admin);
    232. admin = adminService.update(admin);
    233. if (rootUser != null && flag == 1) {
    234. //添加操作日志操作
    235. option.setOptionName("给管理员授权");
    236. //调用管理员操作方法
    237. adminOption(rootUser);
    238. } else {
    239. //添加操作日志操作
    240. option.setOptionName("冻结管理员");
    241. //调用管理员操作方法
    242. adminOption(rootUser);
    243. }
    244. optionService.insert(option);
    245. resultBean.setErrno(0);
    246. resultBean.setMessage("操作成功");
    247. }
    248. return resultBean;
    249. }
    250. /**
    251. * 超级管理员删除普通管理员
    252. *
    253. * @param adminId
    254. * @param session
    255. * @return
    256. */
    257. @RequestMapping(value = "removeAdmin", method = RequestMethod.POST)
    258. @ResponseBody
    259. public ResultBean removeAdmin(@RequestParam Integer adminId, HttpSession session) {
    260. //当前登陆账号信息
    261. Admin rootUser = (Admin) session.getAttribute("user");
    262. System.out.println("当前登陆账号信息===" + rootUser);
    263. //删除普通管理员操作
    264. if (adminId != null) {
    265. Admin admin = adminService.queryById(adminId);
    266. boolean delete = adminService.deleteById(adminId);
    267. if (delete) {
    268. //添加操作日志操作
    269. option.setOptionName("移除管理员" + admin.getAdminAccount());
    270. //调用管理员操作方法
    271. adminOption(rootUser);
    272. }
    273. optionService.insert(option);
    274. resultBean.setErrno(0);
    275. resultBean.setMessage("操作成功");
    276. }
    277. return resultBean;
    278. }
    279. /**
    280. * 通过主键查询单条数据
    281. *
    282. * @param id 主键
    283. * @return 单条数据
    284. */
    285. @RequestMapping("selectOne")
    286. @ResponseBody
    287. public Admin selectOne(Integer id) {
    288. return adminService.queryById(id);
    289. }
    290. /**
    291. * 查询多条数据
    292. *
    293. * @param page 页码
    294. * @param pageSize 页大小
    295. * @param admin 实体
    296. * @return PageInfo 分页数据集合
    297. */
    298. @RequestMapping("searchAll")
    299. @ResponseBody
    300. public PageInfo searchAll(@RequestParam(value = "page", defaultValue = "1") int page,
    301. @RequestParam(value = "pageSize", defaultValue = "5") int pageSize,
    302. Admin admin) {
    303. return adminService.queryAll(page, pageSize, admin);
    304. }
    305. /**
    306. * 管理员操作方法
    307. *
    308. * @param rootUser
    309. */
    310. public void adminOption(Admin rootUser) {
    311. option.setOptionUser(rootUser.getAdminAccount());
    312. option.setRoleName(rootUser.getAdminRole());
    313. option.setOptionTime(new Date());
    314. option.setAdminId(rootUser.getAdminId());
    315. }
    316. }

    如果也想学习本系统,下面领取。关注并回复:026ssm 

  • 相关阅读:
    程序员基础能力系列(1)——vim快捷键总结
    MATLAB | 你是猫猫教还是狗狗教还是ikun
    抖音阳哥:选品师项目究竟能不能算蓝海项目?
    dfs + bfs 几类经典板子
    在MacOS上使用NSWindow展示了多种不同风格的窗口
    PVT:特征金字塔在Vision Transormer的首次应用,又快又好 | ICCV 2021
    嵌入式开发:软件启动清单给质量一个良好的开端
    冯唐成事心法笔记 —— 知世
    机器学习:基于Python实现人工神经网络训练过程
    Redis 事务
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128156232