当前位置: 首页 > article >正文

基于ssm志愿者招募网站源码和论文

网络的广泛应用给生活带来了十分的便利。所以把志愿者招募管理与现在网络相结合,利用java技术建设志愿者招募网站,实现志愿者招募的信息化。对于进一步提高志愿者招募管理发展,丰富志愿者招募管理经验能起到不少的促进作用。

志愿者招募网站能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知志愿者招募网站的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于志愿者招募而言,若拥有自己的系统,通过系统得到更好的管理,同时提升了形象。

系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员,志愿组织和用户的实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统最终系统完成达到相关标准。

关键字:志愿者招募网站;java;MySQL数据库

基于ssm志愿者招募网站源码和论文748

演示视频:

基于ssm志愿者招募网站源码和论文

The wide application of network has brought great convenience to life. Therefore, the volunteer recruitment management is combined with the current network, and the volunteer recruitment website is constructed by using Java technology to realize the informatization of volunteer recruitment. It can further improve the development of volunteer recruitment management and enrich the experience of volunteer recruitment management.

Volunteer recruitment website can get extensive and comprehensive publicity through the Internet, so that as many users as possible to understand and be familiar with the convenience and efficiency of volunteer recruitment website, not only provide services for the masses, but also promote themselves, so that more people know themselves. For the recruitment of volunteers, if they have their own system, they can get better management through the system and improve their image.

The present situation and trend of the system design, from the requirements, structure, database and other aspects of the design to the realization of the system, respectively for the realization of administrators, voluntary organizations and users. The content of the paper shows the development process from the aspects of system design, description, implementation, analysis and testing. The system according to the reality to choose a feasible development plan, with the help of Java programming language and MySQL database to achieve all the functions of the system, then the system is tested, test whether the system has vulnerabilities and test user permissions to improve the system, the final system to achieve relevant standards.

Key words: volunteer recruitment website; Java; The MySQL database

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.YonghuEntity;
import com.entity.view.YonghuView;

import com.service.YonghuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import com.entity.EmailregistercodeEntity;
import com.service.EmailregistercodeService;

/**
 * 用户
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-18 17:36:24
 */
@RestController
@RequestMapping("/yonghu")
public class YonghuController {
    @Autowired
    private YonghuService yonghuService;

    @Autowired
    private EmailregistercodeService emailregistercodeService;


    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("xuehao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody YonghuEntity yonghu, @RequestParam(required = false) String emailcode){
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("xuehao", yonghu.getXuehao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		//校验邮箱验证码
		user =yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("email", yonghu.getEmail()));
		if(user!=null) {
			return R.error("邮箱已被注册");
		}
		List<EmailregistercodeEntity> emailregistercodeList = emailregistercodeService.selectList(
										new EntityWrapper<EmailregistercodeEntity>().eq("role", "用户")
										.eq("email", yonghu.getEmail()).orderBy("addtime", false));
		boolean emailValidate = false;
		if(emailregistercodeList!=null && emailregistercodeList.size()>0) {
			if(emailregistercodeList.get(0).getCode().equals(emailcode)) {
				emailValidate = true;
			}
		}
		if(!emailValidate) return R.error("邮箱验证码不正确");
		Long uId = new Date().getTime();
		yonghu.setId(uId);
        yonghuService.insert(yonghu);
        return R.ok();
    }

	/**
     * 发送邮件
     */
	@IgnoreAuth
    @RequestMapping("/sendemail")
    public R sendemail(@RequestParam String email){
		String code = CommonUtil.getRandomNumber(4);
		EmailregistercodeEntity emailregistercode = new EmailregistercodeEntity();
		emailregistercode.setCode(code);
		emailregistercode.setRole("用户");
		emailregistercode.setEmail(email);
		emailregistercodeService.insert(emailregistercode);
		CommonUtil.sendEmail(email, "用户注册","您的注册验证码是【"+code+"】,请不要把验证码泄漏给其他人,如非本人请勿操作。");
        return R.ok();
    }
	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        YonghuEntity user = yonghuService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("xuehao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setMima("123456");
        yonghuService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu, 
		HttpServletRequest request){

        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
		PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, 
		HttpServletRequest request){
        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
		PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( YonghuEntity yonghu){
       	EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); 
        return R.ok().put("data", yonghuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(YonghuEntity yonghu){
        EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); 
		YonghuView yonghuView =  yonghuService.selectView(ew);
		return R.ok("查询用户成功").put("data", yonghuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        YonghuEntity yonghu = yonghuService.selectById(id);
        return R.ok().put("data", yonghu);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        YonghuEntity yonghu = yonghuService.selectById(id);
        return R.ok().put("data", yonghu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("xuehao", yonghu.getXuehao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		yonghu.setId(new Date().getTime());
        yonghuService.insert(yonghu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("xuehao", yonghu.getXuehao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		yonghu.setId(new Date().getTime());
        yonghuService.insert(yonghu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(yonghu);
        yonghuService.updateById(yonghu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        yonghuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = yonghuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}


http://www.kler.cn/news/163391.html

相关文章:

  • JS中call()、apply()、bind()改变this指向的原理
  • Ultimate VFX
  • css中2D和3D的区别
  • ELK(五)—集群搭建
  • Linux--学习记录(2)
  • Web学习路线
  • 【ET8】0.ET8入门-ET框架介绍
  • 交付《啤酒游戏经营决策沙盘》的项目
  • vue2 el-input里实现打字机 效果
  • 深入理解 Promise:前端异步编程的核心概念
  • 29 水仙花数
  • 【后端学前端学习记录】学习计划
  • 【Azure 架构师学习笔记】- Azure Databricks (2) -集群
  • 低多边形3D建模动画风格纹理贴图
  • 《每天一个Linux命令》 -- (6) stat命令
  • 设计模式——单例模式(Singleton Pattern)
  • 寄存器、缓存、内存、硬盘、存储器的理解
  • MSSQL存储过程的功能和用法
  • 极智芯 | 解读国产AI算力 灵汐产品矩阵
  • 使用项目管理工具进行新媒体运营管理的策略与方法
  • 【前端设计模式】之适配器模式
  • 实战:Docker Compose 下 Nginx、Java、Mysql 和 Redis 服务协同部署(包含解决浏览器访问Linux部署服务器本地资源问题)
  • 用Java写一个拼图游戏
  • 25.Oracle的回收站
  • Java实现归并排序算法
  • 人工智能从 DeepMind 到 ChatGPT ,从 2012 - 2024
  • 数据结构:单链表——定义、插入、删除
  • 《深入理解计算机系统》学习笔记 - 第四课 - 机器级别的程序
  • 谈谈ACID
  • 深度学习之网络优化与正则化