基于javaweb+mysql的springboot人才管理招聘系统(java+springboot+freemarker+jpa+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot人才管理招聘系统(java+springboot+freemarker+jpa+mysql)
项目介绍
基于SpringBoot框架开发的求职招聘管理系统。 本项目分三种角色:管理员、招聘人员、求职者。 用户可以以两种身份注册登录,一种是求职者,另一种是招聘者。 求职者可以浏览查询公司信息、职位信息,并且可以填写自己的简历,然后给自己心仪的职位投递简历。招聘者可以填写自己公司的信息,然后进行认证申请, 申请通过后,就可以进行发布职位,接收求职者投递来简历,并且进行审核和通知。 除此之外,该项目还附带后台管理功能,管理员可以登录后台管系统,进行职位类别添加、管理用户信息、通过审核来更改公司、职位的状态等。 项目功能:注册(引入邮箱验证码功能)、登录、修改密码、按条件查询、填写我的简历、填写公司信息、投递简历、发布职位、接收简历等等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7版本; 5.是否Maven项目:是;
技术栈
SpringBoot + FreeMarker + JPA
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application-dev.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,项目运行成功后,在浏览器中输入网址: http://localhost:8082/home/index/index 访问的是网站首页面 http://localhost:8082/admin/system/login 访问的是后台管理页面
company.setState("待审核");
BeanUtils.copyProperties(company, findCompany, "id","createTime","updateTime","user","name","value","photo","productPhoto","productTitle","productContent","introduction","locale","territory","scale","url","finance","founderName","founderPosition","founderPhoto");
if(companyService.save(findCompany) == null){
return Result.error(CodeMsg.COMPANY_TAGS_SAVE_ERROR);
}
}
return Result.success(true);
}
/**
* 保存公司产品
* @param company
* @param request
* @return
*/
@RequestMapping(value="/save_company_product",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> saveCompanyProduct(Company company,HttpServletRequest request)
{
if(company == null){
return Result.error(CodeMsg.DATA_ERROR);
}
//检测公司产品标题长度
if(company.getProductTitle().length() > 11) {
return Result.error(CodeMsg.COMPANY_PRODUCT_NAME_WORD_OVER);
}
User session_user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
Company findCompany = companyService.findByUserId(session_user.getId());
if(findCompany == null) {
//先让用户填写名称和价值观基本信息
return Result.error(CodeMsg.COMPANY_NAME_AND_VALUE_PRIORITY);
}else {
//进行修改操作
if("".equals(company.getProductTitle())) {
company.setProductTitle(null);
}
if("".equals(company.getProductContent())) {
company.setProductContent(null);
}
company.setState("待审核");
BeanUtils.copyProperties(company, findCompany, "id","createTime","updateTime","tags","user","name","value","photo","introduction","locale","territory","scale","url","finance","founderName","founderPosition","founderPhoto");
if(companyService.save(findCompany) == null){
return Result.error(CodeMsg.COMPANY_PRODUCT_SAVE_ERROR);
/**
* 拉勾网首页控制器
*
*/
@RequestMapping("/home/index")
@Controller
public class IndexController {
@Autowired
private PositionCategoryService positionCategoryService;
@Autowired
private WorkExperienceService workExperienceService;
@Autowired
private ProjectExperienceService projectExperienceService;
@Autowired
private ExpectWorkService expectWorkService;
@Autowired
private EducationBackgroundService educationBackgroundService;
@Autowired
private WorkShowService workShowService;
@Autowired
private CompanyService companyService;
@Autowired
private PositionService positionService;
@Autowired
private ResumeService resumeService;
/**
* 拉勾网首页
* @param model
* @return
*/
@RequestMapping(value="/index",method=RequestMethod.GET)
* 前端职位管理控制器
*
*/
@RequestMapping("/home/position")
@Controller
public class HomePositionController {
@Autowired
private PositionService positionService;
@Autowired
private CompanyService companyService;
@Autowired
private ResumeService resumeService;
/**
* 职位详情页面
* @param model
* @return
*/
@RequestMapping(value="/detail",method=RequestMethod.GET)
public String positionDetail(Model model,@RequestParam(name="id",required=true)Long id){
Position position = positionService.findById(id);
model.addAttribute("Position", position);
model.addAttribute("Company", companyService.find(position.getCompany().getId()));
return "home/position/detail";
}
/**
* 职位列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public String positionList(Model model,Page page,String search_value){
if(StringUtil.isEmpty(search_value)) {
//如果search_value为空
//分页获取职位列表信息
Page p = new Page();
p.setTotalCount(positionService.getPositionTotal("effective"));
p.setRows(20);//职位列表每页20个
model.addAttribute("totalPage",p.getTotalPage()); //总页数
model.addAttribute("currentPage",page.getPage()); //当前页
List<Position> findPositionList = positionService.findPositionList("effective", page.getOffset(), 20);
model.addAttribute("PositionList", findPositionList);
model.addAttribute("PositionTotal", positionService.getPositionTotal("effective"));
}else {
//如果search_value不为空
//分页获取职位列表信息
* @param request
* @return
*/
@RequestMapping(value="/save_work_show",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> saveWorkShow(WorkShow workShow,HttpServletRequest request)
{
if(workShow == null) {
return Result.error(CodeMsg.DATA_ERROR);
}
User session_user = (User) request.getSession().getAttribute("user");
workShow.setUser(session_user);
//检查有没有添加过教育背景
WorkShow findWorkShow = workShowService.findWorkShowByUserId(session_user.getId());
if(findWorkShow != null){
//进行修改操作
BeanUtils.copyProperties(workShow, findWorkShow, "id","createTime","updateTime");
if(workShowService.save(findWorkShow) == null){
return Result.error(CodeMsg.RESUME_WORK_SHOW_SAVE_ERROR);
}
}else {
//进行添加操作
if(workShowService.save(workShow) == null){
return Result.error(CodeMsg.RESUME_WORK_SHOW_SAVE_ERROR);
}
}
//更新最后一次修改时间
session_user.setUpdateTime(new Date());
if(userService.save(session_user) == null){
return Result.error(CodeMsg.USER_UPDATE_TIME_ERROR);
}
//把用户权限更新
User new_session_user = userService.find(session_user.getId());
request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, new_session_user);
return Result.success(true);
}
}
}
positionService.delete(id);
}catch(Exception e) {
e.printStackTrace();
return Result.error(CodeMsg.POSITION_SAVE_ERROR);
}
return Result.success(true);
}
/**
* 更改职位状态信息为下线
* @param id
* @param request
* @return
*/
@RequestMapping(value="/changeStateToOut",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> changeStateToOut(@RequestParam(name="id",required=true)Long id)
{
Position findById = positionService.findById(id);
findById.setState("out");
if(positionService.save(findById) == null){
return Result.error(CodeMsg.POSITION_CHANGE_STATE_TO_OUT_ERROR);
}
return Result.success(true);
}
/**
* 更改职位状态信息为上线
* @param id
* @param request
* @return
*/
@RequestMapping(value="/changeStateToWait",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> changeStateToWait(@RequestParam(name="id",required=true)Long id)
{
Position findById = positionService.findById(id);
findById.setState("wait");
if(positionService.save(findById) == null){
return Result.error(CodeMsg.POSITION_CHANGE_STATE_TO_WAIT_ERROR);
}
return Result.success(true);
}
}
/**
* 后端用户管理控制器
*
*/
@RequestMapping("/admin/user")
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private ResumeService resumeService;
@Autowired
private WorkExperienceService workExperienceService;
@Autowired
private WorkShowService workShowService;
@Autowired
private ProjectExperienceService projectExperienceService;
@Autowired
private ExpectWorkService expectWorkService;
@Autowired
private EducationBackgroundService educationBackgroundService;
* @param model
* @return
*/
@RequestMapping(value="/about",method=RequestMethod.GET)
public String about(Model model){
model.addAttribute("about", "about"); //top_menu显示
return "home/index/about";
}
}
/**
* 拉勾网页面系统类控制器
*
*/
@RequestMapping("/home/system")
@Controller
public class HomeSystemController {
@Autowired
private UserService userService;
/**
* 前端注册页面
* @param model
* @return
*/
@RequestMapping(value="/register",method=RequestMethod.GET)
public String register(Model model){
return "home/system/register";
@RequestMapping(value="/submit_resume",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> submitResume(HttpServletRequest request,@RequestParam(name="id",required=true)Long id)
{
User user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
WorkExperience workExperience = workExperienceService.findWorkExperienceByUserId(user.getId());
ProjectExperience projectExperience = projectExperienceService.findProjectExperienceByUserId(user.getId());
EducationBackground educationBackground = educationBackgroundService.findEducationBackgroundByUserId(user.getId());
//判断简历必填部分是否填写了
if(workExperience != null && projectExperience != null && educationBackground != null) {
Position findById = positionService.findById(id);
Resume resume = new Resume();
resume.setPosition(findById);
Resume findByPositionIdAndUserId = resumeService.findByPositionIdAndUserId(user.getId(), findById.getId());
if(findByPositionIdAndUserId != null) {
return Result.error(CodeMsg.RESUME_ALREADY_SUBMIT);
}else {
resume.setUser(user);
resume.setCompany(findById.getCompany());
resume.setState("wait");
resumeService.save(resume);
findById.setNumber(findById.getNumber()+1);
positionService.save(findById);
}
}else {
return Result.error(CodeMsg.RESUME_WRITE_NOT_COMPLETE);
}
return Result.success(true);
}
/**
* 保存期望工作信息
* @param expectWork
* @param request
* @return
*/
@RequestMapping(value="/save_expect_work",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> saveExpectWorkForm(ExpectWork expectWork,HttpServletRequest request)
{
if(expectWork == null){
return Result.error(CodeMsg.DATA_ERROR);
}
User session_user = (User) request.getSession().getAttribute("user");
expectWork.setUser(session_user);
//检查有没有添加过期望工作
ExpectWork findExpectWork = expectWorkService.findExpectWorkByUserId(session_user.getId());
if(findExpectWork != null){
//进行修改操作
BeanUtils.copyProperties(expectWork, findExpectWork, "id","createTime","updateTime");
if(expectWorkService.save(findExpectWork) == null){
return false;
}
//说明是普通的请求,可直接重定向到登录页面
//用户还未登录或者session失效,重定向到登录页面
try {
response.sendRedirect("/home/system/login");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
log.info("该请求符合登录要求,放行" + requestURI);
return true;
}
}
/**
* 日志管理控制类
*
*/
@RequestMapping("/admin/operater_log")
@Controller
public class OperaterLogController {
@Autowired
private OperaterLogService operaterLogService;
/**
* 日志管理页面
* @param model
* @return
scores += 20;
}
if(workShow != null) {
scores += 20;
}
if(workExperience != null && projectExperience != null && educationBackground != null) {
isOK = 1;
}
model.addAttribute("isOK", isOK);
model.addAttribute("scores", scores);
model.addAttribute("ExpectWork", expectWork);
model.addAttribute("WorkExperience", workExperience);
model.addAttribute("ProjectExperience", projectExperience);
model.addAttribute("EducationBackground", educationBackground);
model.addAttribute("WorkShow", workShow);
model.addAttribute("my_resume", "my_resume"); //top_menu显示
return "home/index/my_resume";
}
/**
* 拉勾网发布职位页面
* @param model
* @param request
* @return
*/
@RequestMapping(value="/publish_position",method=RequestMethod.GET)
public String publishPosition(Model model,HttpServletRequest request,Long id){
List<PositionCategory> topList = PositionCategoryUtil.getTopPositionCategory(positionCategoryService.findAll());
List<PositionCategory> secondList = PositionCategoryUtil.getSecondCategory(positionCategoryService.findAll());
List<PositionCategory> thirdList = PositionCategoryUtil.getThirdCategory(positionCategoryService.findAll());
model.addAttribute("topPositionCategoryList",topList);
model.addAttribute("secondPositionCategoryList",secondList);
model.addAttribute("thirdPositionCategoryList",thirdList);
User user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
Company findCompanyByUserId = companyService.findByUserId(user.getId());
if(findCompanyByUserId == null || !"已认证".equals(findCompanyByUserId.getState())) {
model.addAttribute("errorMsg", "您的公司还没认证通过,请填写公司信息或者等待认证通过!3s后为您跳转我的公司页面!");
}
//判断是不是编辑操作
if(id != null) {
//如果是
Position findById = positionService.findById(id);
}else {
//进行添加操作
if(educationBackgroundService.save(educationBackground) == null){
return Result.error(CodeMsg.RESUME_EDUCATION_BACKGROUND_ERROR);
}
}
//更新最后一次修改时间
session_user.setUpdateTime(new Date());
if(userService.save(session_user) == null){
return Result.error(CodeMsg.USER_UPDATE_TIME_ERROR);
}
//把用户权限更新
User new_session_user = userService.find(session_user.getId());
request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, new_session_user);
return Result.success(true);
}
/**
* 保存作品展示信息
* @param workShow
* @param request
* @return
*/
@RequestMapping(value="/save_work_show",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> saveWorkShow(WorkShow workShow,HttpServletRequest request)
{
if(workShow == null) {
return Result.error(CodeMsg.DATA_ERROR);
}
User session_user = (User) request.getSession().getAttribute("user");
workShow.setUser(session_user);
//检查有没有添加过教育背景
WorkShow findWorkShow = workShowService.findWorkShowByUserId(session_user.getId());
if(findWorkShow != null){
//进行修改操作
BeanUtils.copyProperties(workShow, findWorkShow, "id","createTime","updateTime");
if(workShowService.save(findWorkShow) == null){
return Result.error(CodeMsg.RESUME_WORK_SHOW_SAVE_ERROR);
}
}else {
//进行添加操作
if(workShowService.save(workShow) == null){
if(workExperience == null){
return Result.error(CodeMsg.DATA_ERROR);
}
//检查公司名称是否为空
if(StringUtil.isEmpty(workExperience.getName())){
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_COMPANY_NAME_EMPTY);
}
//检查职位名称是否为空
if(StringUtil.isEmpty(workExperience.getPosition())) {
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_POSITION_NAME_EMPTY);
}
//检查开始时间是否为空
if(workExperience.getStartYear() == null || workExperience.getStartMonth() == null || "开始年份".equals(workExperience.getStartYear()) || "开始月份".equals(workExperience.getStartMonth())) {
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_START_TIME_EMPTY);
}
//检查结束时间是否为空
if(workExperience.getEndYear() == null || workExperience.getEndMonth() == null || "结束年份".equals(workExperience.getEndYear()) || "结束月份".equals(workExperience.getEndMonth())) {
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_END_TIME_EMPTY);
}
//检查结束时间是否大于开始时间
if(Integer.valueOf(workExperience.getStartYear()) > Integer.valueOf(workExperience.getEndYear()) || (workExperience.getStartYear().equals(workExperience.getEndYear()) && Integer.valueOf(workExperience.getStartMonth()) > Integer.valueOf(workExperience.getEndMonth()))) {
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_TIME_NOT_CORRECT);
}
User session_user = (User) request.getSession().getAttribute("user");
workExperience.setUser(session_user);
//检查有没有添加过工作经历
WorkExperience findWorkExperience = workExperienceService.findWorkExperienceByUserId(session_user.getId());
if(findWorkExperience != null){
//进行修改操作
BeanUtils.copyProperties(workExperience, findWorkExperience, "id","createTime","updateTime");
if(workExperienceService.save(findWorkExperience) == null){
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_ERROR);
}
}else {
//进行添加操作
if(workExperienceService.save(workExperience) == null){
return Result.error(CodeMsg.RESUME_WORK_EXPERIENCE_ERROR);
}
}
//更新最后一次修改时间
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_POSITION_NAME_EMPTY);
}
//检查开始时间是否为空
if(projectExperience.getStartYear() == null || projectExperience.getStartMonth() == null || "开始年份".equals(projectExperience.getStartYear()) || "开始月份".equals(projectExperience.getStartMonth())) {
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_START_TIME_EMPTY);
}
//检查结束时间是否为空
if(projectExperience.getEndYear() == null || projectExperience.getEndMonth() == null || "结束年份".equals(projectExperience.getEndYear()) || "结束月份".equals(projectExperience.getEndMonth())) {
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_END_TIME_EMPTY);
}
//检查结束时间是否大于开始时间
if(Integer.valueOf(projectExperience.getStartYear()) > Integer.valueOf(projectExperience.getEndYear()) || (projectExperience.getStartYear().equals(projectExperience.getEndYear()) && Integer.valueOf(projectExperience.getStartMonth()) > Integer.valueOf(projectExperience.getEndMonth()))) {
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_TIME_NOT_CORRECT);
}
User session_user = (User) request.getSession().getAttribute("user");
projectExperience.setUser(session_user);
//检查有没有添加过项目经验
ProjectExperience findProjectExperience = projectExperienceService.findProjectExperienceByUserId(session_user.getId());
if(findProjectExperience != null){
//进行修改操作
BeanUtils.copyProperties(projectExperience, findProjectExperience, "id","createTime","updateTime");
if(projectExperienceService.save(findProjectExperience) == null){
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_ERROR);
}
}else {
//进行添加操作
if(projectExperienceService.save(projectExperience) == null){
return Result.error(CodeMsg.RESUME_PROJECT_EXPERIENCE_ERROR);
}
}
//更新最后一次修改时间
session_user.setUpdateTime(new Date());
if(userService.save(session_user) == null){
return Result.error(CodeMsg.USER_UPDATE_TIME_ERROR);
}
//把用户权限更新
User new_session_user = userService.find(session_user.getId());
request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, new_session_user);
return Result.success(true);
}
/**
* 保存教育背景
/**
*后端公司管理控制器
*
*/
@RequestMapping("/admin/company")
@Controller
public class CompanyController {
@Autowired
private CompanyService companyService;
@Autowired
private ResumeService resumeService;
@Autowired
private PositionService positionService;
/**
* 后台公司管理信息页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public String list(Model model){
return "admin/company/list";
}
/**
* 获取后台公司信息列表
* @param request
* @param page
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> list(@RequestParam(name="state",required=false,defaultValue="") String state,Page page){
Map<String, Object> ret = new HashMap<String, Object>();
if(!StringUtil.isEmpty(state)) {
//如果state不为空
List<Company> findCompanyList = companyService.findCompanyList(state, page.getOffset(), page.getRows());
ret.put("rows", findCompanyList);
//如果positionState不为空
List<Position> findPositionByCompanyIdAndState = positionService.findPositionByCompanyIdAndState(findCompanyByUserId.getId(), positionState);
model.addAttribute("PositionList",findPositionByCompanyIdAndState);
model.addAttribute("positionTotal", positionService.getPositionTotalByState(findCompanyByUserId.getId(), positionState));
model.addAttribute("positionState", positionState);
}else {
//如果positionState为空
List<Position> findPositionByCompanyIdAndState = positionService.findPositionByCompanyIdAndState(findCompanyByUserId.getId(), "effective");
model.addAttribute("PositionList",findPositionByCompanyIdAndState);
model.addAttribute("positionTotal", positionService.getPositionTotalByState(findCompanyByUserId.getId(), "effective"));
}
return "home/position/my_publish_position";
}
/**
* 保存职位信息
* @param position
* @param request
* @return
*/
@RequestMapping(value="/save",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> savePosition(Position position,HttpServletRequest request)
{
if(position == null){
return Result.error(CodeMsg.DATA_ERROR);
}
//统一表单验证
CodeMsg validate = ValidateEntityUtil.validate(position);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(position.getMinMoney() > position.getMaxMoney()) {
return Result.error(CodeMsg.POSITION_MONEY_NOT_CORRECT);
}
User session_user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
Company findCompanyByUserId = companyService.findByUserId(session_user.getId());
position.setCompany(findCompanyByUserId);
CodeMsg url_way_one = new CodeMsg(1,""); //前往待处理职位页面
CodeMsg url_way_two = new CodeMsg(2,""); //前往已下线职位页面
//接下来进行添加或者更新数据库的操作
@RequestParam(name = "w", defaultValue = "98") Integer width,//width,图片宽度
@RequestParam(name = "h", defaultValue = "33") Integer height,//height,图片高度
@RequestParam(name = "method") String method,//用来调用此方法的名称,以此名称为键,存入到session中
HttpServletRequest request,
HttpServletResponse response) {
CpachaUtil cpachaUtil = new CpachaUtil(vcodeLength, fontSize, width, height);
String generatorVCode = cpachaUtil.generatorVCode(); //验证码的值
//将生成的验证码放入session,以供放后面程序的验证使用
request.getSession().setAttribute(method, generatorVCode);
log.info("验证码成功生成,method=" + method + ",value=" + generatorVCode);
try {
ImageIO.write(cpachaUtil.generatorRotateVCodeImage(generatorVCode, true), "gif", response.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@RequestMapping(value = "/generate_emailCpacha", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> generateEmailCpacha(HttpServletRequest request, String receiver, String type) {
String generatorVCode = null;
//判断接收人邮箱地址是否为空
if (receiver == null || "".equals(receiver)) {
return Result.error(CodeMsg.USER_EMAIL_EMPTY);
}
//判断邮件类别是否为空
if (type == null || "".equals(type)) {
return Result.error(CodeMsg.USER_EMAIL_TYPE_EMPTY);
}
//定义Properties对象,设置环境信息
Properties props = System.getProperties();
//设置邮件服务器的地址
props.setProperty("mail.smtp.host", "smtp.163.com"); // 指定的smtp服务器
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");//设置发送邮件使用的协议
//创建Session对象,session对象表示整个邮件的环境信息
Session session = Session.getInstance(props);
//设置输出调试信息
session.setDebug(true);
try {
//Message的实例对象表示一封电子邮件
}
/**
* 获取后台公司信息列表
* @param request
* @param page
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> list(@RequestParam(name="state",required=false,defaultValue="") String state,Page page){
Map<String, Object> ret = new HashMap<String, Object>();
if(!StringUtil.isEmpty(state)) {
//如果state不为空
List<Company> findCompanyList = companyService.findCompanyList(state, page.getOffset(), page.getRows());
ret.put("rows", findCompanyList);
ret.put("total", companyService.getCompanyTotal(state));
}else {
//如果state为空
List<Company> findAllCompanyList = companyService.findAllCompanyList(page.getOffset(), page.getRows());
ret.put("rows", findAllCompanyList);
ret.put("total", companyService.total());
}
return ret;
}
/**
* 改变公司状态
* @param request
* @param page
* @return
*/
@RequestMapping(value="/change_state",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> changeState(Company company){
if(company == null) {
return Result.error(CodeMsg.DATA_ERROR);
}
Company findCompany = companyService.find(company.getId());
findCompany.setState(company.getState());
if(companyService.save(findCompany) == null) {
return Result.error(CodeMsg.COMPANY_CHANGE_STATE_ERROR);
}
return Result.success(true);
}
/**
*删除公司
* @param request
* @param page
@ResponseBody
public Map<String, Object> operaterLogList(Page page){
Map<String, Object> ret = new HashMap<String, Object>();
ret.put("rows", operaterLogService.findOperaterLogList(page.getOffset(), page.getRows()));
ret.put("total", operaterLogService.total());
return ret;
}
/**
* 删除日志管理列表数据
* @param model
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> deleteOperaterLogs(String ids){
if(ids == null || "".equals(ids))
{
return Result.error(CodeMsg.OPERATERLOG_DELETE_ID_EMPTY);
}
String[] split = ids.split(",");
for(int i=0;i<split.length;i++)
{
try {
operaterLogService.delete(Long.valueOf(split[i]));
}catch(Exception e)
{
return Result.error(CodeMsg.OPERATERLOG_DELETE_ERROR);
}
}
return Result.success(true);
}
}
/**
* 图片统一查看控制器
*/