当前位置:   article > 正文

基于springboot高校社团管理系统_大学生社团管理系统 idea

大学生社团管理系统 idea

开发工具:IDEA,jdk1.8

数据库:mysql5.7

技术:springboot+freemark+jpa

前台:

1、社团信息浏览搜索、社团活动风采、新闻信息浏览搜索。

2、学生注册登录。

3、登录后可自己申请创建社团,也可申请加入其他社团活动。

4、管理自己社团的申请人员。

5个人信息修改及留言等。

后台:社团审核管理、活动新闻管理、学生管理、留言管理、活动申请审核、活动经费管理等等。

前台截图:

后台截图:

  1. package com.jinku.jsj.springboot.controller.admin;
  2. import com.jinku.jsj.springboot.bean.CodeMsg;
  3. import com.jinku.jsj.springboot.bean.PageBean;
  4. import com.jinku.jsj.springboot.bean.Result;
  5. import com.jinku.jsj.springboot.constant.SessionConstant;
  6. import com.jinku.jsj.springboot.entity.admin.User;
  7. import com.jinku.jsj.springboot.entity.common.Activities;
  8. import com.jinku.jsj.springboot.service.admin.OperaterLogService;
  9. import com.jinku.jsj.springboot.service.common.ActivitiesService;
  10. import com.jinku.jsj.springboot.service.common.AssociationService;
  11. import com.jinku.jsj.springboot.service.common.NewsService;
  12. import com.jinku.jsj.springboot.util.ValidateEntityUtil;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.ui.Model;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestMethod;
  20. import org.springframework.web.bind.annotation.RequestParam;
  21. import org.springframework.web.bind.annotation.ResponseBody;
  22. import javax.servlet.http.HttpServletRequest;
  23. import javax.servlet.http.HttpSession;
  24. import java.util.Date;
  25. /**
  26. * 社团活动管理
  27. */
  28. @RequestMapping("/admin/activities")
  29. @Controller
  30. public class ActivitiesController {
  31. @Autowired
  32. private NewsService newsService;
  33. @Autowired
  34. private OperaterLogService operaterLogService;
  35. @Autowired
  36. private AssociationService associationService;
  37. @Autowired
  38. private ActivitiesService activitiesService;
  39. @RequestMapping(value = "/list")
  40. public String list(Model model, PageBean<Activities> pageBean, Activities activities
  41. ) {
  42. model.addAttribute("pageBean", activitiesService.findList(activities, pageBean));
  43. model.addAttribute("title", "社团活动列表");
  44. model.addAttribute("activitiesTitle",activities.getTitle()==null?null:activities.getTitle());
  45. //这里要把社团查询出来并返回给页面
  46. model.addAttribute("associations", associationService.findAll());
  47. model.addAttribute("auditStatus",activities.getIsAudit());
  48. model.addAttribute("teamId",activities.getBelonTeam());
  49. return "admin/activities/list";
  50. }
  51. /**
  52. * 社团活动添加页面
  53. *
  54. * @param model
  55. * @return
  56. */
  57. @RequestMapping(value = "/add", method = RequestMethod.GET)
  58. public String add(Model model) {
  59. //这里要把社团查询出来并返回给页面
  60. model.addAttribute("associations",associationService.findAll());
  61. model.addAttribute("title","社团活动列表");
  62. return "admin/activities/add";
  63. }
  64. /**
  65. * 社团活动添加
  66. *
  67. * @param model
  68. * @param activities
  69. * @return at wjk
  70. */
  71. @ResponseBody
  72. @RequestMapping(value = "/add", method = RequestMethod.POST)
  73. public Result<Boolean> add(Model model, Activities activities, HttpServletRequest request) {
  74. //检查活动标题是否已存在
  75. Activities byTitle = activitiesService.findByTitle(activities.getTitle());
  76. if(byTitle!=null){
  77. return Result.error(CodeMsg.ADMIN_ACTIVITIES_EXIST_ERROR);
  78. }
  79. //比较两日期大小
  80. Date actStartTime = activities.getActStartTime();
  81. Date actEndTime = activities.getActEndTime();
  82. boolean before = actStartTime.before(actEndTime);
  83. if(!before){
  84. return Result.error(CodeMsg.ADMIN_ACTIVITIES_DATE_ERROR);
  85. }
  86. HttpSession session = request.getSession();
  87. User user = (User) session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
  88. //用统一验证实体方法验证是否合法
  89. CodeMsg validate = ValidateEntityUtil.validate(activities);
  90. if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
  91. return Result.error(validate);
  92. }
  93. activities.setCreateUser(user.getUsername());
  94. if (activitiesService.save(activities) == null) {
  95. return Result.error(CodeMsg.ADMIN_ACTIVITIES_ADD_ERROR);
  96. }
  97. operaterLogService.add("添加活动,活动标题:" + activities.getTitle());
  98. return Result.success(true);
  99. }
  100. /**
  101. * 社团活动编辑页面
  102. *
  103. * @param model
  104. * @param id
  105. * @return
  106. */
  107. @RequestMapping(value = "/edit", method = RequestMethod.GET)
  108. public String edit(Model model, @RequestParam(name = "id", required = true) Long id) {
  109. //这里要把社团查询出来并返回给页面
  110. model.addAttribute("associations", associationService.findAll());
  111. model.addAttribute("activities", activitiesService.find(id));
  112. return "admin/activities/edit";
  113. }
  114. /**
  115. * 编辑社团活动
  116. * @param activities
  117. * @return
  118. */
  119. @ResponseBody
  120. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  121. public Result<Boolean> edit(Activities activities,HttpServletRequest request) {
  122. //用统一验证实体方法验证是否合法
  123. CodeMsg validate = ValidateEntityUtil.validate(activities);
  124. if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
  125. return Result.error(validate);
  126. }
  127. //将提交的用户信息指定字段复制到已存在的user对象中
  128. Activities findbyId = activitiesService.find(activities.getId());
  129. HttpSession session = request.getSession();
  130. User user = (User) session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
  131. activities.setCreateUser(user.getUsername());
  132. //source原来的字段复制到目标对象当中ignoreProperties表示忽略哪些字段 该方法会覆盖新字段内容
  133. BeanUtils.copyProperties(activities, findbyId, "id", "createTime", "updateTime");
  134. //到这说明一切通过 开始进行数据库编辑
  135. if (activitiesService.save(findbyId) == null) {
  136. return Result.error(CodeMsg.ADMIN_ACTIVITIES_EDIT_ERROR);
  137. }
  138. operaterLogService.add("编辑活动,活动标题:" + activities.getTitle());
  139. return Result.success(true);
  140. }
  141. /**
  142. * 社团活动删除
  143. * @param ids
  144. * @return
  145. */
  146. @ResponseBody
  147. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  148. public Result<Boolean> delete(@RequestParam(name = "ids", required = true) String ids) {
  149. if (!StringUtils.isEmpty(ids)) {
  150. String[] splitIds = ids.split(",");
  151. for (String id : splitIds) {
  152. Activities activities = activitiesService.find(Long.valueOf(id));
  153. if (activities != null) {
  154. try {
  155. activitiesService.delete(Long.valueOf(id));
  156. operaterLogService.add("删除社团活动,id为:" + id);
  157. }catch (Exception e){
  158. return Result.error(CodeMsg.ADMIN_ACTIVITIES_DELETE_ERROR);
  159. }
  160. }
  161. }
  162. }
  163. return Result.success(true);
  164. }
  165. }
package com.jinku.jsj.springboot.controller.admin;


import com.jinku.jsj.springboot.bean.CodeMsg;
import com.jinku.jsj.springboot.bean.PageBean;
import com.jinku.jsj.springboot.bean.Result;
import com.jinku.jsj.springboot.constant.SessionConstant;
import com.jinku.jsj.springboot.entity.admin.User;
import com.jinku.jsj.springboot.entity.common.SiteNews;
import com.jinku.jsj.springboot.service.admin.OperaterLogService;
import com.jinku.jsj.springboot.service.common.AssociationService;
import com.jinku.jsj.springboot.service.common.NewsService;
import com.jinku.jsj.springboot.util.ValidateEntityUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 新闻管理
 */

@RequestMapping("/admin/news")
@Controller
public class NewsController {

    @Autowired
    private NewsService newsService;

    @Autowired
    private OperaterLogService operaterLogService;

    @Autowired
    private AssociationService associationService;

    @RequestMapping(value = "/list")
    public String list(Model model, PageBean<SiteNews> pageBean, SiteNews siteNews) {
        model.addAttribute("pageBean", newsService.findList(siteNews, pageBean));
        model.addAttribute("isAudit",siteNews.getIsAudit());
        model.addAttribute("title", "新闻列表");
        model.addAttribute("newsTitle",siteNews.getTitle()==null?null:siteNews.getTitle());
        model.addAttribute("teamId",siteNews.getBelonTeam());
        //这里要把社团查询出来并返回给页面
        model.addAttribute("associations", associationService.findAll());
        return "admin/news/list";
    }

    /**
     * 新闻添加页面
     *
     * @param model
     * @return
     */
    @RequestMapping(value = "/add", method = RequestMethod.GET)
    public String add(Model model) {
        //这里要把社团查询出来并返回给页面
        model.addAttribute("associations",associationService.findAll());
        return "admin/news/add";
    }

    /**
     * 新闻添加
     *
     * @param model
     * @param siteNews
     * @return at wjk
     */
    @ResponseBody
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public Result<Boolean> add(Model model, SiteNews siteNews, HttpServletRequest request) {
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
        //用统一验证实体方法验证是否合法
        CodeMsg validate = ValidateEntityUtil.validate(siteNews);
        if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
            return Result.error(validate);
        }
        siteNews.setCreateUser(user.getUsername());
        if (newsService.save(siteNews) == null) {
            return Result.error(CodeMsg.ADMIN_NEWS_ADD_ERROR);
        }
        operaterLogService.add("添加新闻,新闻标题:" + siteNews.getTitle());

        return Result.success(true);
    }


    /**
     * 新闻编辑页面
     *
     * @param model
     * @param id
     * @return
     */
    @RequestMapping(value = "/edit", method = RequestMethod.GET)
    public String edit(Model model, @RequestParam(name = "id", required = true) Long id) {
        //这里要把社团查询出来并返回给页面
        model.addAttribute("associations", associationService.findAll());
        model.addAttribute("news", newsService.find(id));
        return "admin/news/edit";
    }

    /**
     * 新闻编辑
     *
     * @param siteNews
     * @return
     */

    @ResponseBody
    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    public Result<Boolean> edit(SiteNews siteNews) {
        //用统一验证实体方法验证是否合法
        CodeMsg validate = ValidateEntityUtil.validate(siteNews);
        if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
            return Result.error(validate);
        }
        //将提交的用户信息指定字段复制到已存在的user对象中
        SiteNews findbyId = newsService.find(siteNews.getId());
        //把source原来的字段复制到目标对象当中ignoreProperties表示忽略哪些字段 该方法会覆盖新字段内容
        BeanUtils.copyProperties(siteNews, findbyId, "id", "createTime", "updateTime", "createUser");
        //到这说明一切通过 开始进行数据库编辑
        if (newsService.save(findbyId) == null) {
            return Result.error(CodeMsg.ADMIN_NEWS_EDIT_ERROR);
        }
        operaterLogService.add("编辑新闻,新闻标题:" + siteNews.getTitle());
        return Result.success(true);
    }


    /**
     * 新闻删除
     * @param ids
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    public Result<Boolean> delete(@RequestParam(name = "ids", required = true) String ids) {
        if (!StringUtils.isEmpty(ids)) {
            String[] splitIds = ids.split(",");
            for (String id : splitIds) {
                SiteNews siteNews = newsService.find(Long.valueOf(id));
                if (siteNews != null) {
                    try {
                        newsService.delete(Long.valueOf(id));
                        operaterLogService.add("删除新闻,id为:" + id);
                    }catch (Exception e){
                        return Result.error(CodeMsg.ADMIN_NEWS_DELETE_ERROR);
                    }
                }

            }

        }
        return Result.success(true);
    }



}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/52280
推荐阅读
相关标签
  

闽ICP备14008679号