基于SpringMVC+Spring+MyBatis校友录系统的设计与实现(JavaEE+MySQL)

目 录
摘要 I
Abstract II
1 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 课题内容 1
1.4 论文的组织结构 1
2 系统需求分析 3
2.1 需求分析 3
2.2 功能分析 4
2.2.1 院校新闻发布功能 4
2.2.2 班级管理功能 5
3.2.3 院校组织管理功能 6
3.2.4 校友论坛功能 6
3.2.5 院校职业招聘功能 7
3.2.6 校园服务功能 7
3.2.7 用户个人中心功能 8
2.4 技术路线 9
3 系统总体设计 11
3.1 系统总体设计 11
3.1.1 系统登录 11
3.1.2 新闻中心 11
3.1.3 班级录 11
3.1.4 校友组织 11
3.1.5 校友论坛 11
3.1.6 职位招聘 12
3.1.7 校园服务 12
3.1.8 个人中心 12
3.2 系统功能设计 12
3.2.1 新闻中心 12
3.2.2 班记录 13
3.2.3 校友组织 14
3.2.4 校友论坛 14
3.2.5 职业招聘 15
3.2.6 校园服务 16
3.2.8 个人中心 16
3.3 数据库设计 17
3.3.1 概念模型设计 17
3.3.2 逻辑结构设计 25
4 系统详细设计 37
4.1 班级录 37
4.1.1 班级首页 38
4.1.2 班级动态 40
4.1.3 班级通讯录 42
4.1.4 班级相册 43
4.2 职业招聘 44
4.2.1 发布招聘 44
4.2.2 查询招聘 45
4.2.3 招聘详情 46
4.2.4 投递简历 47
4.3 校友论坛 48
4.3.1 论坛广场 48
4.3.2 发布新帖 49
4.3.3 帖子详情 49
结论 51
致谢 52
参考文献 53
1.2 课题意义
中国同学录网的调查显示,用户最关心的是班级信息、班级留言、同学联系方式和同学照片等。不同用户对系统的需求不同,但是基本功能需求是一致的,包括:对班级管理,用户可以创建自己所在的班级;对班级留言的管理,用户可以在班级里查看、添加或修改留言;对班级通讯录的管理,用户可以查看班级成员的相关信息。
此系统还可以让校友了解母校的新闻,校友们的近况,自己曾加入的团体的动态,也提供了职业招聘功能,此功能是院校和毕业生交互的重要平台。院校可在职业招聘模块发布招聘信息,毕业生可以浏览招聘信息、投递简历、在线制作简历,毕业生可以发布自己所在单位的招聘信息,经管理员审核后发布到招聘广场,为其他毕业校友提供有力的就业帮助。校友的信息反馈在促进高校专业教学改革、募集高校筹资办学途径、促进校企合作、加强毕业生感情交流、提升大学生就业质量等方面发挥着重要作用。
1.3 课题内容
此系统是在对师生、院校进行充分的调研分析之后设计的,校友更多关注的是院校新闻、班级动态、校友信息以及社团学生会等团体,院校更多关注的是毕业生的就业情况、新生的招生情况以及对本校毕业生招聘信息的投送。此系统设计了新闻中心模块、班记录模块、校友组织模块、校友论坛模块,并在班记录和校友组织中加入相册功能,更好地满足校友的需求。同时,此系统包含职业招聘模块、校园服务模块,使院校更好地了解毕业生就业情况、为毕业生提供帮助。
1.4 论文的组织结构
论文主要内容包括五大部分,主要包括:
第一章 绪论。本章介绍了课题背景、课题意义以及本课题研究的主要内容。
第二章 系统需求分析。本章介绍了本系统的业务需求分析、系统功能分析以及相关业务的流程,开发过程中具体的开发环境、开发工具、相关技术。
第三章 系统总体设计。本章介绍了本系统的总体设计、系统各项功能的设计以及数据库的设计。
第四章 系统详细设计。本章介绍了系统的详细设计,包括各项系统功能的界面设计、代码逻辑设计以及实现。

package com.xzit.ar.manage.controller.job;

import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

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.servlet.mvc.support.RedirectAttributes;

import com.xzit.ar.common.base.BaseController;
import com.xzit.ar.common.exception.ServiceException;
import com.xzit.ar.common.init.context.ARContext;
import com.xzit.ar.common.page.Page;
import com.xzit.ar.common.po.recruit.Recruit;
import com.xzit.ar.common.po.recruit.RecruitUnit;
import com.xzit.ar.common.util.CommonUtil;
import com.xzit.ar.manage.service.job.FlatService;
import com.xzit.ar.manage.service.job.JobService;

/**
 * @ClassName: RecruitController
 * @Description: TODO 后台招聘管理处理
 * @author Mr.Black
 * @date 2016年2月9日 下午4:04:14
 */
@Controller
@RequestMapping("/job")
public class JobController extends BaseController {

	@Resource
	private JobService jobService;

	@Resource
	private FlatService flatService;

	@RequestMapping(value = "")
	public String indexJob(Model model) {
		return "job/job-index";
	}

	@RequestMapping("/queryJobs")
	public String queryJobs(Model model, String queryStr, String stateStr) throws ServiceException {
		Page<Map<String, Object>> page = new Page<>(getPageIndex(), getPageSize());
		// 默认加载的数据的状态
		if (stateStr == null) {
			stateStr = "A";
		}
		jobService.queryJobs(page, queryStr, stateStr);
		
		model.addAttribute("page", page);
		model.addAttribute("queryStr", queryStr);
		model.addAttribute("stateStr", stateStr);

		return "job/job-query";
	}

	@RequestMapping("/detailJob")
	public String detailJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		// 根据 id 查询招聘信息
		Map<String, Object> recruit = jobService.getDetailJob(recruitId);

		// 解析 福利待遇
		String benefit = (String) recruit.get("benefit");

		// 传递参数
		if (CommonUtil.isNotEmpty(benefit)) {
			String[] benefits = benefit.split(",");
			recruit.remove("benefit");
			model.addAttribute("benefits", benefits);
		}
		model.addAttribute("job", recruit);

		return "job/job-detail";
	}

	/**
	 * @Title: setTopJob @Description: TODO 招聘信息置顶 @return String @throws
	 */
	@RequestMapping(value = "/setTopJob", method = RequestMethod.POST)
	public String setTopJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		jobService.setTopJob(recruitId);
		return "redirect:queryJobs.action";
	}

	/**
	 * @Title: cancelTopJob
	 * @Description: TODO 取消置顶
	 */
	@RequestMapping(value = "/cancelTopJob", method = RequestMethod.POST)
	public String cancelTopJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		jobService.cancelTopJob(recruitId);
		return "redirect:queryJobs.action";
	}

	/**
	 * @Title: auditJob
	 * @Description: TODO 审核操作
	 */
	@RequestMapping(value = "/auditJob", method = RequestMethod.POST)
	public String auditJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		int row = jobService.auditJob(recruitId);
		if (row > 0) {
			setMessage(model, "审核成功!");
		}
		return "redirect:queryJobs.action";
	}

	@RequestMapping(value = "/auditJobs", method = RequestMethod.POST)
	public String auditJobs(Model model, @RequestParam("recruitIds") String recruitIds) throws ServiceException {
		int row = jobService.auditJobs(CommonUtil.splitIds(recruitIds));
		if (row > 0) {
			setMessage(model, "审核成功!");
		} else {
			setMessage(model, "审核失败!");
		}
		return "redirect:queryJobs.action";
	}

	/**
	 * @Title: deleteJob
	 * @Description: TODO 根据recruitId删除Job
	 */
	@RequestMapping(value = "/removeJob", method = RequestMethod.POST)
	public String removeJob(Model model, RedirectAttributes attr, @RequestParam("recruitId") Integer recruitId)
			throws ServiceException {
		int row = jobService.removeJob(recruitId);
		if (row > 0) {
			setMessage(model, "删除成功");
		}
		return "forward:queryJobs.action";
	}

	/**
	 * @Title: removeJobs
	 * @Description: TODO 批量删除
	 * @param @param
	 *            model
	 * @param @param
	 *            attr
	 * @param @param
	 *            recruitId
	 */
	@RequestMapping(value = "/removeJobs", method = RequestMethod.POST)
	public String removeJobs(Model model, RedirectAttributes attr, @RequestParam("recruitIds") String recruitIds)
			throws ServiceException {
		int row = jobService.removeJobs(CommonUtil.splitIds(recruitIds));
		if (row > 0) {
			setMessage(model, "删除成功");
		}
		return "forward:queryJobs.action";
	}

	/**
	 * @Title: deleteJob
	 * @Description: TODO 删除记录
	 * @param @param
	 *            model
	 * @param @param
	 *            recruitId
	 */
	@RequestMapping(value = "/deleteJob", method = RequestMethod.POST)
	public String deleteJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		int row = jobService.deleteJob(recruitId);
		if (row > 0) {
			setMessage(model, "彻底删除成功");
		}
		return "forward:queryJobs.action";
	}

	@RequestMapping(value = "/deleteJobs", method = RequestMethod.POST)
	public String deleteJobs(Model model, @RequestParam("recruitIds") String recruitIds) throws ServiceException {
		int row = jobService.deleteJobs(CommonUtil.splitIds(recruitIds));
		if (row > 0) {
			setMessage(model, "已彻底删除");
		}
		return "forward:queryJobs.action";
	}

	@RequestMapping("/createJob")
	public String createJob(Model model, Integer unitId) throws ServiceException {
		// 判断是否有单位信息,没有则选择/创建
		if (CommonUtil.isEmpty(unitId)) {
			// 判断当前用户创建公司情况
			List<RecruitUnit> unitList = flatService.getUnitsByUserId(getCurrentUserId());
			if (CommonUtil.isEmpty(unitList)) {
				// 创建新的
				return "forward:/flat/createFlat.action";
			} else if (unitList.size() > 0) {
				// 选择已经创建的
				model.addAttribute("flatList", unitList);
				return "job/flat/flat-select";
			}
		}

		// 加载招聘常量
		model.addAttribute("jobSalary", ARContext.positionSalary);
		model.addAttribute("jobBenefit", ARContext.positionBenefit);
		model.addAttribute("jobProf", ARContext.positionProf);
		model.addAttribute("unitId", unitId);
		super.setFormValid();

		return "job/job-add";
	}

	/**
	 * @Title: createJobSubmit
	 * @Description: TODO 招聘发布信息提交至后台
	 */
	@RequestMapping(value = "/createJobSubmit", method = RequestMethod.POST)
	public String createJobSubmit(Model model, RedirectAttributes attr, Recruit recruit) throws ServiceException {

		if (!validForm()) {
			setMessage(model, "发布失败!重复发布导致");
			return "job/job-result";
		} else {
			// 参数设定
			recruit.setCreateTime(new Date());
			recruit.setResumes(0);
			recruit.setUserId(getCurrentUserId());
			recruit.setState("A");
			recruit.setStateTime(new Date());
			if (jobService.createJob(recruit) > 0) {
				setMessage(model, "发布成功!");
			}
		}
		return "job/job-result";
	}

	/**
	 * @Title: recoverJob
	 * @Description: TODO 恢复数据
	 */
	@RequestMapping(value = "/recoverJob", method = RequestMethod.POST)
	public String recoverJob(Model model, @RequestParam("recruitId") Integer recruitId) throws ServiceException {
		int row = jobService.recoverJob(recruitId);
		if (row > 0) {
			setMessage(model, "数据成功恢复到未审核状态");
		}
		return "forward:queryJobs.action";
	}

	/**
	 * @Title: recoverJobs
	 * @Description: TODO 恢复数据
	 */
	@RequestMapping(value = "/recoverJobs", method = RequestMethod.POST)
	public String recoverJobs(Model model, RedirectAttributes attr, @RequestParam("recruitIds") String recruitIds)
			throws ServiceException {
		int row = jobService.recoverJobs(CommonUtil.splitIds(recruitIds));
		if (row > 0) {
			setMessage(model, "数据成功恢复到未审核状态");
		}
		return "forward:queryJobs.action";
	}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shejizuopin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值